This patch (as659) fixes a might_sleep problem in the PCI core, by moving
a call to pci_dev_put() outside the scope of a spinlock.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
        }
        dev = NULL;
 exit:
-       pci_dev_put(from);
        dev = pci_dev_get(dev);
        spin_unlock(&pci_bus_lock);
+       pci_dev_put(from);
        return dev;
 }
 
        }
        dev = NULL;
 exit:
-       pci_dev_put(from);
        dev = pci_dev_get(dev);
        spin_unlock(&pci_bus_lock);
+       pci_dev_put(from);
        return dev;
 }