summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesper Juhl <jesper.juhl@gmail.com>2006-12-04 15:14:48 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-12-20 10:54:43 -0800
commit9ac0ce8596b17093739d42721cc8a616cedf734b (patch)
tree799a7def2858511b790106e1fc72c6a1a9b5074e
parent1597cacbe39802d86656d1f2e6329895bd2ef531 (diff)
downloadlinux-stable-9ac0ce8596b17093739d42721cc8a616cedf734b.tar.gz
linux-stable-9ac0ce8596b17093739d42721cc8a616cedf734b.tar.bz2
linux-stable-9ac0ce8596b17093739d42721cc8a616cedf734b.zip
PCI: Be a bit defensive in quirk_nvidia_ck804() so we don't risk dereferencing a NULL pdev.
pci_get_slot() may return NULL if nothing was found. quirk_nvidia_ck804() does not check the value returned from pci_get_slot(), so it may end up causing a NULL pointer deref. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/pci/quirks.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 30c41fc1c996..8a2db01b903e 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1743,6 +1743,8 @@ static void __devinit quirk_nvidia_ck804_msi_ht_cap(struct pci_dev *dev)
* a single one having MSI is enough to be sure that MSI are supported.
*/
pdev = pci_get_slot(dev->bus, 0);
+ if (!pdev)
+ return;
if (!msi_ht_cap_enabled(dev) && !msi_ht_cap_enabled(pdev)) {
printk(KERN_WARNING "PCI: MSI quirk detected. "
"MSI disabled on chipset %s.\n",