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 commit9f24273837
("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 commit4dc89133f4
("net: add a comment on netdev->last_rx") which asked drivers not to update is, unless really needed. However, this commend was removed in commitf8ff080dac
("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>
This commit is contained in:

committed by
David S. Miller

parent
9520ed8fb8
commit
4a7c972644
@@ -113,6 +113,7 @@ struct smc_private {
|
||||
struct mii_if_info mii_if;
|
||||
int duplex;
|
||||
int rx_ovrn;
|
||||
unsigned long last_rx;
|
||||
};
|
||||
|
||||
/* Special definitions for Megahertz multifunction cards */
|
||||
@@ -1491,6 +1492,7 @@ static void smc_rx(struct net_device *dev)
|
||||
if (!(rx_status & RS_ERRORS)) {
|
||||
/* do stuff to make a new packet */
|
||||
struct sk_buff *skb;
|
||||
struct smc_private *smc = netdev_priv(dev);
|
||||
|
||||
/* Note: packet_length adds 5 or 6 extra bytes here! */
|
||||
skb = netdev_alloc_skb(dev, packet_length+2);
|
||||
@@ -1509,7 +1511,7 @@ static void smc_rx(struct net_device *dev)
|
||||
skb->protocol = eth_type_trans(skb, dev);
|
||||
|
||||
netif_rx(skb);
|
||||
dev->last_rx = jiffies;
|
||||
smc->last_rx = jiffies;
|
||||
dev->stats.rx_packets++;
|
||||
dev->stats.rx_bytes += packet_length;
|
||||
if (rx_status & RS_MULTICAST)
|
||||
@@ -1790,7 +1792,7 @@ static void media_check(u_long arg)
|
||||
}
|
||||
|
||||
/* Ignore collisions unless we've had no rx's recently */
|
||||
if (time_after(jiffies, dev->last_rx + HZ)) {
|
||||
if (time_after(jiffies, smc->last_rx + HZ)) {
|
||||
if (smc->tx_err || (smc->media_status & EPH_16COL))
|
||||
media |= EPH_16COL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user