[PATCH] PCI probing status cleanup

From: Tim Hockin (thockin@sun.com)
Date: Tue Jul 10 2001 - 01:56:05 EST


Martin et al,

Attached is a tiny patch that clears the master abort bit on bridges when
probing PCI devices.

Please let me know if there is any reason this would not be included in the
mainline kernel.

Thanks
Tim

-- 
Tim Hockin
Systems Software Engineer
Sun Microsystems, Cobalt Server Appliances
thockin@sun.com

diff -ruN dist-2.4.6/drivers/pci/pci.c cobalt-2.4.6/drivers/pci/pci.c --- dist-2.4.6/drivers/pci/pci.c Mon Jul 2 14:42:53 2001 +++ cobalt-2.4.6/drivers/pci/pci.c Mon Jul 9 11:04:01 2001 @@ -1229,8 +1233,19 @@ return NULL; /* some broken boards return 0 or ~0 if a slot is empty: */ - if (l == 0xffffffff || l == 0x00000000 || l == 0x0000ffff || l == 0xffff0000) + if (l == 0xffffffff || l == 0x00000000 + || l == 0x0000ffff || l == 0xffff0000) { + /* + * host/pci and pci/pci bridges will set Received Master Abort + * (bit 13) on failed configuration access (happens when + * searching for devices). To be safe, clear the status + * register. + */ + unsigned short st; + pci_read_config_word(temp, PCI_STATUS, &st); + pci_write_config_word(temp, PCI_STATUS, st); return NULL; + } dev = kmalloc(sizeof(*dev), GFP_KERNEL); if (!dev)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jul 15 2001 - 21:00:10 EST