diff options
author | Claudiu Manoil <claudiu.manoil@freescale.com> | 2014-04-02 14:15:56 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-04-11 16:24:06 (GMT) |
commit | 6f834514194a11e2e1b17a7a4e6e17a81969378d (patch) | |
tree | b9c3f7cc217c3476b4adb019117a355043e72b67 /drivers/net/ethernet/freescale/gianfar.h | |
parent | f584822a2ed39f757ca290b464bef7cdd7bb9ab3 (diff) | |
download | linux-fsl-qoriq-6f834514194a11e2e1b17a7a4e6e17a81969378d.tar.xz |
gianfar: Fix suspend/resume for wol magic packet
Don't detach the interfaces that are already down.
Use correct sequence to stop Tx traffic and
to prevent Tx timeout, including napi disabling.
Use netif_tx_lock() to prevent races while stopping
Tx, replacing the driver specific lock_tx_qs() which
is not correct for this purpose.
Use gfar_halt() to correctly stop the traffic at
controller level (i.e. graceful stop the DMA).
Fix the invalid device references for the wakeup
routines, from the invalid &dev->dev references to
the correct &ofdev->dev (or priv->dev) references.
Remove buggy device_set_wakeup_enable() from the
open() routine. Only the ethtool is allowed
to enable/disable the wol capabilities.
Remove superfluous priv->bflock lock, as it's not
justified.
Use IRQF_NO_SUSPEND to be able to wake up the system
by magic packet generated interrupts.
Change-Id: If9b4a878aa3ee6df8867bab9ca19d96b731e9fa9
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/10728
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar.h')
-rw-r--r-- | drivers/net/ethernet/freescale/gianfar.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar.h b/drivers/net/ethernet/freescale/gianfar.h index 44a32ac..0afd4a8 100644 --- a/drivers/net/ethernet/freescale/gianfar.h +++ b/drivers/net/ethernet/freescale/gianfar.h @@ -1302,9 +1302,6 @@ struct gfar_private { int oldduplex; int oldlink; - /* Bitfield update lock */ - spinlock_t bflock; - uint32_t msg_enable; struct work_struct reset_task; |