Specialix SX cards not detected in kernels >=2.6.20

From: Graham Murray
Date: Mon Jul 09 2007 - 10:41:04 EST


There were multiple changes to the char/sx.c driver in kernel 2.6.20. In
kernels 2.6.19 and earlier, the SX multiport serial card works OK, but
in 2.6.20 and later the driver does not seemt to detect the presence of
the card.

I have enabled sx_debug=-1 and added some printk statements to try and
detect why the card is not detected. These show that sx_init is entered
and within that function the call to pci_register_driver returns 0. I do
not see any other routines in the driver being entered either at startup
(when the module is loaded, which indicates that the system recognises
the PCI ID) or when running 'modprobe sx'. In particular, sx_pci_probe()
is never entered.

lspci -vv for the card

10:01.0 Communication controller: Specialix Research Ltd. PCI_9050
Subsystem: Specialix Research Ltd. Unknown device 0300
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 11
Region 0: Memory at df2ffc00 (32-bit, non-prefetchable) [size=128]
Region 1: I/O ports at 9c80 [size=128]
Region 2: Memory at df200000 (32-bit, non-prefetchable) [size=512K]
Region 3: Memory at df280000 (32-bit, non-prefetchable) [size=256K]

I have enabled CONFIG_PCI_DEBUG and see the following:-

PCI: Probing PCI hardware (bus 00)
...
PCI: Scanning bus 0000:10
PCI: Found 0000:10:01.0 [11cb/2000] 000780 00
PCI: Calling quirk c0362041 for 0000:10:01.0
...
PCI: Calling quirk c027a199 for 0000:10:01.0
PCI: Calling quirk c033cb9e for 0000:10:01.0


Where should I look for and how should I obtain further debug to
determine where the problem lies?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/