PATCH to fix bug: "serial" does not show up in /proc/interrupts
Sorry ... here is the same patch but with the diff done from the parent of the code hierarchy.
---------------------------------------------------
drivers/char/serial.c Wed Aug 1 23:11:01 2001 renamed from drivers/char/serial.c_ORIG Wed Aug 1 23:02:09 2001 +5 -3
@@ -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 9 lines
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 toirq_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>
drivers/char/serial.c renamed from drivers/char/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, };