Messages in this thread | | | Date | Wed, 08 Jun 2005 20:11:36 +0200 | From | Davide Rossetti <> | Subject | Re: [PATCH] fix tulip suspend/resume |
| |
>Looks OK and also work on my HW. > >Andrew, can you please take this updated version, it is much cleaner and >safer, because it handle the IRQ correctly. > > > >>--- a/drivers/net/tulip/tulip_core.c 2005-05-27 22:06:00.000000000 -0400 >>+++ b/drivers/net/tulip/tulip_core.c 2005-06-07 16:34:13.641177456 -0400 >>@@ -1756,11 +1756,19 @@ >> { >> struct net_device *dev = pci_get_drvdata(pdev); >> >>- if (dev && netif_running (dev) && netif_device_present (dev)) { >>- netif_device_detach (dev); >>- tulip_down (dev); >>- /* pci_power_off(pdev, -1); */ >>- } >>+ if (!dev) >>+ return -EINVAL; >>+ >>+ if (netif_running(dev)) >>+ tulip_down(dev); >>+ >>+ netif_device_detach(dev); >>+ pci_save_state(pdev); >>+ >>+ free_irq(dev->irq, dev); >> >> isn't it safer to swap these last two guys ?? in theory there could be an IRQ betwen pci_save_state() and free_irq()...
>>+ pci_disable_device(pdev); >>+ pci_set_power_state(pdev, pci_choose_state(pdev, state)); >>+ >> return 0; >> } >> >> >> regards
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |