diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-05-14 15:38:12 -0400 |
---|---|---|
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 887c1cea1b42..bde28ad9797d 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) | |||
2141 | switch (le->opcode & ~HW_OWNER) { | 2141 | switch (le->opcode & ~HW_OWNER) { |
2142 | case OP_RXSTAT: | 2142 | case OP_RXSTAT: |
2143 | skb = sky2_receive(dev, length, status); | 2143 | skb = sky2_receive(dev, length, status); |
2144 | if (!skb) | 2144 | if (unlikely(!skb)) { |
2145 | sky2->net_stats.rx_dropped++; | ||
2145 | goto force_update; | 2146 | goto force_update; |
2147 | } | ||
2146 | 2148 | ||
2147 | skb->protocol = eth_type_trans(skb, dev); | 2149 | skb->protocol = eth_type_trans(skb, dev); |
2148 | sky2->net_stats.rx_packets++; | 2150 | sky2->net_stats.rx_packets++; |