Comments
Patch
===================================================================
@@ -327,16 +327,21 @@ void reboot_if_hotswap(void)
int reset;
int i;
+ unsigned char bus_chain_0 = node_link_to_bus(0, 0);
reset = 0;
printk_debug("Looking for bad PCIX MHz input\n");
- dev = dev_find_slot(1, PCI_DEVFN(0x02,0));
+ dev = dev_find_slot(bus_chain_0, PCI_DEVFN(0x02,0));
+ if (!dev)
+ printk_debug("Couldn't find %02x:02.0 \n", bus_chain_0);
data = pci_read_config32(dev, 0xa0);
if(!(((data>>16)&0x03)==0x03)) {
reset=1;
printk_debug("Bad PCIX MHz - Reset\n");
}
printk_debug("Looking for bad Hot Swap Enable\n");
- dev = dev_find_slot(1, PCI_DEVFN(0x01,0));
+ dev = dev_find_slot(bus_chain_0, PCI_DEVFN(0x01,0));
+ if (!dev)
+ printk_debug("Couldn't find %02x:01.0 \n", bus_chain_0);
data = pci_read_config32(dev, 0x48);
if(data & 0x0c) {
reset=1;
Here's a patch that will either work or help us figure out what's going wrong. Signed-off-by: Myles Watson <mylesgw@gmail.com> Thanks, Myles