Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] sky2: revert IRQ dance on suspend/resume

Let's just backout the IRQ hack, and for those crap machines (like some
Sony VAIO's) can just disable MSI with the module parameter.

This reverts 44ade178249fe53d055fd92113eaa271e06acddd.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Frédéric Riss <frederic.riss@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Stephen Hemminger and committed by
Linus Torvalds
4cbf2aa3 dc6e29da

-25
-25
drivers/net/sky2.c
··· 3639 3639 out: 3640 3640 return err; 3641 3641 } 3642 - 3643 - /* BIOS resume runs after device (it's a bug in PM) 3644 - * as a temporary workaround on suspend/resume leave MSI disabled 3645 - */ 3646 - static int sky2_suspend_late(struct pci_dev *pdev, pm_message_t state) 3647 - { 3648 - struct sky2_hw *hw = pci_get_drvdata(pdev); 3649 - 3650 - free_irq(pdev->irq, hw); 3651 - if (hw->msi) { 3652 - pci_disable_msi(pdev); 3653 - hw->msi = 0; 3654 - } 3655 - return 0; 3656 - } 3657 - 3658 - static int sky2_resume_early(struct pci_dev *pdev) 3659 - { 3660 - struct sky2_hw *hw = pci_get_drvdata(pdev); 3661 - struct net_device *dev = hw->dev[0]; 3662 - 3663 - return request_irq(pdev->irq, sky2_intr, IRQF_SHARED, dev->name, hw); 3664 - } 3665 3642 #endif 3666 3643 3667 3644 static struct pci_driver sky2_driver = { ··· 3649 3672 #ifdef CONFIG_PM 3650 3673 .suspend = sky2_suspend, 3651 3674 .resume = sky2_resume, 3652 - .suspend_late = sky2_suspend_late, 3653 - .resume_early = sky2_resume_early, 3654 3675 #endif 3655 3676 }; 3656 3677