lkml.org 
[lkml]   [2000]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectns558 pci/isa change
My joystick stopped working at 2.4.0-test10 due to a patch to
drivers/char/joystick/ns558.c that moves pci probing ahead of
isa probing.

The problem is that pci_module_init can return -ENODEV into i,
which is then used to index the ISA portlist. ISA probing assumes
that i is initialized to zero.

Trivial fix attached, with plenty of context.

-- Pete

--- drivers/char/joystick/ns558.c.orig Mon Nov 13 18:04:16 2000
+++ drivers/char/joystick/ns558.c Mon Nov 13 18:11:41 2000
@@ -299,37 +299,38 @@
deactivate:
if (dev->deactivate)
dev->deactivate(dev);
return next;
}
#endif

int __init ns558_init(void)
{
- int i = 0;
+ int i;
#ifdef NSS558_ISAPNP
struct pci_dev *dev = NULL;
struct pnp_devid *devid;
#endif

/*
* Probe for PCI ports. Always probe for PCI first,
* it is the least-invasive probe.
*/

i = pci_module_init(&ns558_pci_driver);
if (i == 0)
have_pci_devices = 1;

/*
* Probe for ISA ports.
*/

+ i = 0;
while (ns558_isa_portlist[i])
ns558 = ns558_isa_probe(ns558_isa_portlist[i++], ns558);

/*
* Probe for PnP ports.
*/

#ifdef NSS558_ISAPNP
for (devid = pnp_devids; devid->vendor; devid++) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 12:45    [W:0.021 / U:0.316 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site