upgrade to fedora-2.6.12-1.1398.FC4 + vserver 2.0.rc7
[linux-2.6.git] / drivers / net / wireless / prism54 / islpci_hotplug.c
index 75ebf8a..c17391d 100644 (file)
@@ -81,7 +81,7 @@ MODULE_DEVICE_TABLE(pci, prism54_id_tbl);
 
 static int prism54_probe(struct pci_dev *, const struct pci_device_id *);
 static void prism54_remove(struct pci_dev *);
-static int prism54_suspend(struct pci_dev *, u32 state);
+static int prism54_suspend(struct pci_dev *, pm_message_t state);
 static int prism54_resume(struct pci_dev *);
 
 static struct pci_driver prism54_driver = {
@@ -163,7 +163,7 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        if (rvalue || !mem_addr) {
                printk(KERN_ERR "%s: PCI device memory region not configured; fix your BIOS or CardBus bridge/drivers\n",
                       DRV_NAME);
-               goto do_pci_disable_device;
+               goto do_pci_release_regions;
        }
 
        /* enable PCI bus-mastering */
@@ -261,7 +261,7 @@ prism54_remove(struct pci_dev *pdev)
 }
 
 int
-prism54_suspend(struct pci_dev *pdev, u32 state)
+prism54_suspend(struct pci_dev *pdev, pm_message_t state)
 {
        struct net_device *ndev = pci_get_drvdata(pdev);
        islpci_private *priv = ndev ? netdev_priv(ndev) : NULL;
@@ -292,6 +292,8 @@ prism54_resume(struct pci_dev *pdev)
        islpci_private *priv = ndev ? netdev_priv(ndev) : NULL;
        BUG_ON(!priv);
 
+       pci_enable_device(pdev);
+
        printk(KERN_NOTICE "%s: got resume request\n", ndev->name);
 
        pci_restore_state(pdev);