lkml.org 
[lkml]   [2001]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] i810-tco OOPS
Please apply to 2.4.7-preX and to 2.4.6-acX.

If one builds a kernel with the i810 tco watchdog driver
but does not have this chipset, the i810tco_getdevice()
function doesn't detect this and still calls pci_read_config_byte(),
which promptly oopses...since the pci_for_each_dev() loop
termination wasn't checked [i.e., <dev> is non-null after the
loop whether the device was found or not].

--
~Randy--- linux/drivers/char/i810-tco.c.org Mon Jul 2 13:56:41 2001
+++ linux/drivers/char/i810-tco.c Wed Jul 11 12:11:22 2001
@@ -256,14 +256,19 @@
struct pci_dev *dev;
u8 val1, val2;
u16 badr;
+ int found = 0;
/*
* Find the PCI device
*/

pci_for_each_dev(dev) {
- if (pci_match_device(i810tco_pci_tbl, dev))
+ if (pci_match_device(i810tco_pci_tbl, dev)) {
+ found = 1;
break;
+ }
}
+ if (!found)
+ return 0;

if ((i810tco_pci = dev)) {
/*
\
 
 \ /
  Last update: 2005-03-22 13:17    [W:0.023 / U:1.884 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site