提交 2d61bde7 编写于 作者: A Alan Stern 提交者: Greg Kroah-Hartman

[PATCH] USB: net2280: add a shutdown routine

The net2280 board has an annoying habit of surviving soft reboots with
interrupts enabled.  This patch (as674) adds a shutdown routine to the
driver so that the board can be put in a quiescent state.
Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 b383539e
......@@ -2966,6 +2966,22 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
return retval;
}
/* make sure the board is quiescent; otherwise it will continue
* generating IRQs across the upcoming reboot.
*/
static void net2280_shutdown (struct pci_dev *pdev)
{
struct net2280 *dev = pci_get_drvdata (pdev);
/* disable IRQs */
writel (0, &dev->regs->pciirqenb0);
writel (0, &dev->regs->pciirqenb1);
/* disable the pullup so the host will think we're gone */
writel (0, &dev->usb->usbctl);
}
/*-------------------------------------------------------------------------*/
......@@ -2995,6 +3011,7 @@ static struct pci_driver net2280_pci_driver = {
.probe = net2280_probe,
.remove = net2280_remove,
.shutdown = net2280_shutdown,
/* FIXME add power management support */
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册