net: Remove usage of net_device last_rx member
authorTobias Klauser <tklauser@distanz.ch>
Wed, 18 Jan 2017 16:45:01 +0000 (17:45 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Jan 2017 22:22:49 +0000 (17:22 -0500)
commit4a7c972644c1151f6dd34ff4b5f7eacb239e22ee
tree5a712df870eac9710464921125246365c542521a
parent9520ed8fb8410dcb6babf751561a08f73ca03812
net: Remove usage of net_device last_rx member

The network stack no longer uses the last_rx member of struct net_device
since the bonding driver switched to use its own private last_rx in
commit 9f242738376d ("bonding: use last_arp_rx in slave_last_rx()").

However, some drivers still (ab)use the field for their own purposes and
some driver just update it without actually using it.

Previously, there was an accompanying comment for the last_rx member
added in commit 4dc89133f49b ("net: add a comment on netdev->last_rx")
which asked drivers not to update is, unless really needed. However,
this commend was removed in commit f8ff080dacec ("bonding: remove
useless updating of slave->dev->last_rx"), so some drivers added later
on still did update last_rx.

Remove all usage of last_rx and switch three drivers (sky2, atp and
smc91c92_cs) which actually read and write it to use their own private
copy in netdev_priv.

Compile-tested with allyesconfig and allmodconfig on x86 and arm.

Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Jay Vosburgh <j.vosburgh@gmail.com>
Cc: Veaceslav Falico <vfalico@gmail.com>
Cc: Andy Gospodarek <andy@greyhouse.net>
Cc: Mirko Lindner <mlindner@marvell.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Acked-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
24 files changed:
arch/m68k/emu/nfeth.c
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
drivers/net/ethernet/hisilicon/hns/hns_enet.c
drivers/net/ethernet/intel/e1000e/netdev.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/marvell/sky2.c
drivers/net/ethernet/marvell/sky2.h
drivers/net/ethernet/qualcomm/emac/emac-mac.c
drivers/net/ethernet/realtek/atp.c
drivers/net/ethernet/smsc/smc91c92_cs.c
drivers/net/irda/bfin_sir.c
drivers/net/irda/sh_sir.c
drivers/staging/ks7010/ks_hostif.c
drivers/staging/netlogic/xlr_net.c
drivers/staging/rtl8192e/rtllib_rx.c
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
drivers/staging/wlan-ng/hfa384x_usb.c
drivers/staging/wlan-ng/p80211netdev.c
include/linux/netdevice.h
net/batman-adv/bridge_loop_avoidance.c
net/batman-adv/distributed-arp-table.c
net/batman-adv/soft-interface.c