net: jme: fix suspend/resume on JMC260
authorDiego Viola <diego.viola@gmail.com>
Tue, 23 Feb 2016 15:04:04 +0000 (12:04 -0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Feb 2016 04:58:21 +0000 (23:58 -0500)
The JMC260 network card fails to suspend/resume because the call to
jme_start_irq() was too early, moving the call to jme_start_irq() after
the call to jme_reset_link() makes it work.

Prior this change suspend/resume would fail unless /sys/power/pm_async=0
was explicitly specified.

Relevant bug report: https://bugzilla.kernel.org/show_bug.cgi?id=112351

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/jme.c

index b1de7afd41166cc9ef67ed7e43191aaff897ec4e..8adbe8ff0eb8ceb0ec7e45e81765547b14b508f0 100644 (file)
@@ -3312,13 +3312,14 @@ jme_resume(struct device *dev)
                jme_reset_phy_processor(jme);
        jme_phy_calibration(jme);
        jme_phy_setEA(jme);
-       jme_start_irq(jme);
        netif_device_attach(netdev);
 
        atomic_inc(&jme->link_changing);
 
        jme_reset_link(jme);
 
+       jme_start_irq(jme);
+
        return 0;
 }