Re: [PATCH] fix tulip suspend/resume

Davide Rossetti
2005-06-08T18:11:46Z

>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