* Re: Specialix SX cards not detected in kernels >=2.6.20
2007-07-09 14:00 Specialix SX cards not detected in kernels >=2.6.20 Graham Murray
@ 2007-07-10 7:17 ` Jiri Slaby
2007-07-10 9:19 ` Graham Murray
2007-07-10 7:28 ` Andrew Morton
1 sibling, 1 reply; 4+ messages in thread
From: Jiri Slaby @ 2007-07-10 7:17 UTC (permalink / raw)
To: Graham Murray; +Cc: linux-kernel
Graham Murray wrote:
> 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
[...]
> Where should I look for and how should I obtain further debug to
> determine where the problem lies?
In switched ids. Could you try the patch below?
--
sx, switch subven and subid values
This is because card is not found.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
---
commit fdf11b85b74221d25a3abf38a9ebf947959d0fe1
tree 289b5f58dc2774019ed3f3bedef99344be76d7bc
parent 10d4605a5a9d86c467b78f602ef43067da5d9dfe
author Jiri Slaby <jirislaby@gmail.com> Tue, 10 Jul 2007 09:13:22 +0200
committer Jiri Slaby <jirislaby@gmail.com> Tue, 10 Jul 2007 09:13:22 +0200
drivers/char/sx.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index 1da92a6..85a2328 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -2721,9 +2721,9 @@ static void __devexit sx_pci_remove(struct pci_dev *pdev)
its because the standard requires it. So check for SUBVENDOR_ID. */
static struct pci_device_id sx_pci_tbl[] = {
{ PCI_VENDOR_ID_SPECIALIX, PCI_DEVICE_ID_SPECIALIX_SX_XIO_IO8,
- .subvendor = 0x0200,.subdevice = PCI_ANY_ID },
+ .subvendor = PCI_ANY_ID, .subdevice = 0x0200 },
{ PCI_VENDOR_ID_SPECIALIX, PCI_DEVICE_ID_SPECIALIX_SX_XIO_IO8,
- .subvendor = 0x0300,.subdevice = PCI_ANY_ID },
+ .subvendor = PCI_ANY_ID, .subdevice = 0x0300 },
{ 0 }
};
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: Specialix SX cards not detected in kernels >=2.6.20
2007-07-09 14:00 Specialix SX cards not detected in kernels >=2.6.20 Graham Murray
2007-07-10 7:17 ` Jiri Slaby
@ 2007-07-10 7:28 ` Andrew Morton
1 sibling, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2007-07-10 7:28 UTC (permalink / raw)
To: Graham Murray; +Cc: linux-kernel, Jiri Slaby
On Mon, 09 Jul 2007 15:00:17 +0100 Graham Murray <gmurray@webwayone.co.uk> wrote:
> There were multiple changes to the char/sx.c driver in kernel 2.6.20.
Let's cc Jiri.
> 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?
>
A git-bisect should find this fairly quickly.
^ permalink raw reply [flat|nested] 4+ messages in thread