Skip to contentSkip to conversation

PATCH to fix bug: "serial" does not show up in /proc/interrupts

PATCH Thomas Hood 1 participant 1 message Aug 2, 2001

lore
Share & tools
lore
#0 lore raw

Here is a patch to fix the serial driver so that its name appears in /proc/interrupts. The bug was caused by code that was overwriting the string literal "serial" with "". gcc merges all the "serial" strings together into one, so the "serial" sent to irq_request() was being ""ed as a side-effect.

Here is the patch to 2.4.7-ac3 both inline and attached. // Thomas Hood <jdthood_AT_yahoo.co.uk>

serial.c Wed Aug 1 23:11:01 2001 renamed from serial.c_ORIG Wed Aug 1 23:02:09 2001 +5 -2
@@ -4852,10 +4852,13 @@
 
 MODULE_DEVICE_TABLE(pci, serial_pci_tbl);
 
+/* serial_pci_driver_name[] gets truncated to ""  if the pci probe fails */
+static char serial_pci_driver_name[] = "serial";
+
 static struct pci_driver serial_pci_driver = {
-       name:           "serial",
+       name:           serial_pci_driver_name,
        probe:          serial_init_one,
-       remove:        serial_remove_one,
+       remove:         serial_remove_one,
        id_table:       serial_pci_tbl,
 };
 
Quoted 30 lines · I wrote:

I noticed the following anomaly. I am using a modular serial driver for /dev/ttyS0 and /dev/ttyS1 (actually /dev/tts/0 and /dev/tts/1 under devfs). See the listing of my /proc/interrupts below. I have /dev/ttyS1 open; it uses IRQ3; but note that the name of the serial driver is not printed in the list.

root@thanatos:~# cat /proc/interrupts
           CPU0       
  0:      65078          XT-PIC  timer
  1:       1546          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:       1979          XT-PIC  
  5:       3324          XT-PIC  CS4231
  8:          1          XT-PIC  rtc
 10:         27          XT-PIC  mwave_3780i
 11:       5021          XT-PIC  usb-uhci, Texas Instruments PCI1250, Texas Instruments PCI1250 (#2)
 12:       3268          XT-PIC  PS/2 Mouse
 14:       8807          XT-PIC  ide0
 15:          4          XT-PIC  ide1
NMI:          0 
ERR:          0

Strange. But it gets stranger. I insert a combination modem/ ethernet pcmcia card and I get:

7: 9 XT-PIC xirc2ps_cs,

In the past, there was something printed after the comma, but now there's just a space. Bizarre.

Quoted 8 lines

I was not able to find any silly bugs in the serial driver or irq routines that would account for this, so I am worried that something is very wrong somewhere.

--
Thomas Hood
jdthood_AT_yahoo.co.uk

serial.c renamed from serial.c_ORIG +5 -2
@@ -4852,10 +4852,13 @@
 
 MODULE_DEVICE_TABLE(pci, serial_pci_tbl);
 
+/* serial_pci_driver_name[] gets truncated to ""  if the pci probe fails */
+static char serial_pci_driver_name[] = "serial";
+
 static struct pci_driver serial_pci_driver = {
-       name:           "serial",
+       name:           serial_pci_driver_name,
        probe:          serial_init_one,
-       remove:	       serial_remove_one,
+       remove:         serial_remove_one,
        id_table:       serial_pci_tbl,
 };