linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ed Vance <EdV@macrolink.com>
To: "'linux-kernel'" <linux-kernel@vger.kernel.org>
Cc: "'linux-serial'" <linux-serial@vger.kernel.org>,
	"'Marcelo Tosatti'" <marcelo@conectiva.com.br>
Subject: [PATCH] serial driver procfs 2.4.19-pre6
Date: Fri, 5 Apr 2002 16:59:44 -0800	[thread overview]
Message-ID: <11E89240C407D311958800A0C9ACF7D13A775E@EXCHANGE> (raw)

This patch changes text generated by the generic serial driver for the 
/proc/tty/driver/serial interface. Now generates correct address and 
port statistics fields for memory mapped devices. Displays only ports 
claimed by driver. Prevents kudzu crash at pciserial.c:78 when memory 
mapped serial ports are present, due to missing fields in text line and 
missing check of string search return value.
Example - before:
    "1: uart:16550A port:02F8 irq:3 tx:0 rx:0 "          (I/O space)
    "4: uart:16C950/954 port:0 irq:14"                   (memory space)
    "44: uart:unknown port:0 irq:0"                      (not claimed)
Example - after:
    "1: uart:16550A port:02F8 irq:3 tx:0 rx:0 "          (I/O port)
    "4: uart:16C950/954 port:C4800000 irq:14 tx:0 rx:0 " (memory space)

Applies cleanly to 2.4.19-pre6. Has no dependencies on other patches. 
Please apply.

Thanks,
Ed Vance <edv@macrolink.com>


diff -urN -X dontdiff.txt linux-2.4.19-pre6/drivers/char/serial.c
patched/drivers/char/serial.c
--- linux-2.4.19-pre3/drivers/char/serial.c	Fri Apr  5 10:38:11 2002
+++ patched/drivers/char/serial.c	Fri Apr  5 15:05:52 2002
@@ -3258,14 +3258,17 @@
 	int	ret;
 	unsigned long flags;
 
+	/*
+	 * Return zero characters for ports not claimed by driver.
+	 */
+	if (state->type == PORT_UNKNOWN) {
+		return 0;	/* ignore unused ports */
+	}
+
 	ret = sprintf(buf, "%d: uart:%s port:%lX irq:%d",
 		      state->line, uart_config[state->type].name, 
-		      state->port, state->irq);
-
-	if (!state->port || (state->type == PORT_UNKNOWN)) {
-		ret += sprintf(buf+ret, "\n");
-		return ret;
-	}
+		      (state->port ? state->port : (long)state->iomem_base),
+		      state->irq);
 
 	/*
 	 * Figure out the current RS-232 lines


                 reply	other threads:[~2002-04-06  1:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11E89240C407D311958800A0C9ACF7D13A775E@EXCHANGE \
    --to=edv@macrolink.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).