static int prism2_usb_suspend(struct usb_interface *interface, pm_message_t state) { struct net_device *dev = usb_get_intfdata(interface); // FIXME: kill some URBs??? if (netif_running(dev)) { netif_stop_queue(dev); netif_device_detach(dev); } prism2_suspend(dev); return 0; }
static int prism2_pci_suspend(struct pci_dev *pdev, pm_message_t state) { struct net_device *dev = pci_get_drvdata(pdev); if (netif_running(dev)) { netif_stop_queue(dev); netif_device_detach(dev); } prism2_suspend(dev); pci_save_state(pdev); pci_disable_device(pdev); pci_set_power_state(pdev, PCI_D3hot); return 0; }
static int hostap_cs_suspend(struct pcmcia_device *link) { struct net_device *dev = (struct net_device *) link->priv; int dev_open = 0; struct hostap_interface *iface = NULL; if (!dev) return -ENODEV; iface = netdev_priv(dev); PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_SUSPEND\n", dev_info); if (iface && iface->local) dev_open = iface->local->num_dev_open > 0; if (dev_open) { netif_stop_queue(dev); netif_device_detach(dev); } prism2_suspend(dev); return 0; }