diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-05-14 12:38:12 -0700 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-05-17 20:43:13 -0400 |
commit | 3225b919036a3ec2e96bb36b7a4fd64c43fdbe84 (patch) | |
tree | 219aad5c4d9d541d6dc24bbdcddad8f993136fef /drivers/net | |
parent | 53419c68517ee296f737cdc0acaca6eb1ae23aeb (diff) |
sky2: keep track of receive alloc failures
When driver can't allocate receive buffer it drops incoming
packet. Keep a counter.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/sky2.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 887c1cea1b4..bde28ad9797 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -2141,8 +2141,10 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do) switch (le->opcode & ~HW_OWNER) { case OP_RXSTAT: skb = sky2_receive(dev, length, status); - if (!skb) + if (unlikely(!skb)) { + sky2->net_stats.rx_dropped++; goto force_update; + } skb->protocol = eth_type_trans(skb, dev); sky2->net_stats.rx_packets++; |