From: Andrew Morton <akpm@zip.com.au>
To: Linus Torvalds <torvalds@transmeta.com>,
Kees Bakker <kees.bakker@xs4all.nl>,
Patrick Mochel <mochel@osdl.org>,
Anton Altaparmakov <aia21@cantab.net>,
Anton Blanchard <anton@samba.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: [patch] PCI device matching fix
Date: Mon, 03 Jun 2002 17:41:40 -0700 [thread overview]
Message-ID: <3CFC0CC2.D69F2C57@zip.com.au> (raw)
The new pci_device_probe() is always passing the zeroeth
entry in the id_table to the device's probe method. It
needs to scan that table for the correct ID first.
This fixes the recent 3c59x strangenesses.
--- 2.5.20/drivers/pci/pci-driver.c~pci-scan Mon Jun 3 17:37:59 2002
+++ 2.5.20-akpm/drivers/pci/pci-driver.c Mon Jun 3 17:38:03 2002
@@ -38,12 +38,19 @@ pci_match_device(const struct pci_device
static int pci_device_probe(struct device * dev)
{
int error = 0;
+ struct pci_driver *drv;
+ struct pci_dev *pci_dev;
- struct pci_driver * drv = list_entry(dev->driver,struct pci_driver,driver);
- struct pci_dev * pci_dev = list_entry(dev,struct pci_dev,dev);
+ drv = list_entry(dev->driver, struct pci_driver, driver);
+ pci_dev = list_entry(dev, struct pci_dev, dev);
- if (drv->probe)
- error = drv->probe(pci_dev,drv->id_table);
+ if (drv->probe) {
+ const struct pci_device_id *id;
+
+ id = pci_match_device(drv->id_table, pci_dev);
+ if (id)
+ error = drv->probe(pci_dev, id);
+ }
return error > 0 ? 0 : -ENODEV;
}
-
next reply other threads:[~2002-06-04 0:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-04 0:41 Andrew Morton [this message]
2002-06-04 1:52 ` [patch] PCI device matching fix Anton Altaparmakov
2002-06-04 3:14 ` Patrick Mochel
2002-06-04 5:17 ` Greg KH
2002-06-05 23:15 ` Kai Germaschewski
2002-06-05 23:38 ` Patrick Mochel
2002-06-06 0:08 ` Kai Germaschewski
2002-06-06 0:35 ` Patrick Mochel
2002-06-06 1:23 ` Kai Germaschewski
2002-06-06 19:09 ` Patrick Mochel
2002-06-06 20:00 ` Kai Germaschewski
2002-06-06 21:57 ` Patrick Mochel
2002-06-06 22:22 ` Kai Germaschewski
2002-06-06 22:57 ` Patrick Mochel
2002-06-06 23:23 ` Patrick Mochel
2002-06-07 0:02 ` Kai Germaschewski
2002-06-10 14:16 ` Patrick Mochel
2002-06-10 14:39 ` Kai Germaschewski
2002-06-10 16:17 ` Patrick Mochel
2002-06-04 12:46 ` Sebastian Droege
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CFC0CC2.D69F2C57@zip.com.au \
--to=akpm@zip.com.au \
--cc=aia21@cantab.net \
--cc=anton@samba.org \
--cc=kees.bakker@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mochel@osdl.org \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.