diff --git a/drivers/net/e100.c b/drivers/net/e100.c index ce850f1..69e62fd 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c @@ -2585,6 +2585,9 @@ #endif nic->msg_enable = (1 << debug) - 1; pci_set_drvdata(pdev, netdev); + err = pci_set_power_state(pdev, PCI_D0); + printk(" e100 debug: unable to set power state (error %d)\n", err); + if((err = pci_enable_device(pdev))) { DPRINTK(PROBE, ERR, "Cannot enable PCI device, aborting.\n"); goto err_out_free_dev; @@ -2617,6 +2620,24 @@ #endif goto err_out_free_res; } + /* quick register test */ + { + void __iomem *iobase = pci_iomap(pdev, 1, pci_resource_len(pdev, 1)); + u32 ioreg, iomem; + + if (!iobase) + goto notworking; + + ioreg = ioread32(iobase); + iomem = readb(&nic->csr->scb.status); + + printk("e100 debug: read %08X/%08X from the same register\n", ioreg, iomem); + + pci_iounmap(pdev, iobase); + + } +notworking: + if(ent->driver_data) nic->flags |= ich; else