diff options
Diffstat (limited to 'drivers/net/sunhme.c')
-rw-r--r-- | drivers/net/sunhme.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index 66e3b0b68..7299b0f4b 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c @@ -1673,6 +1673,7 @@ static inline void happy_meal_rx(struct happy_meal *hp, struct device *dev, netif_rx(skb); hp->net_stats.rx_packets++; + hp->net_stats.rx_bytes+=len; next: elem = NEXT_RX(elem); this = &rxbase[elem]; @@ -1729,6 +1730,7 @@ static inline void sun4c_happy_meal_rx(struct happy_meal *hp, struct device *dev skb->protocol = eth_type_trans(skb, dev); netif_rx(skb); hp->net_stats.rx_packets++; + hp->net_stats.rx_bytes+=len; } } /* Return the buffer to the Happy Meal. */ @@ -1898,7 +1900,7 @@ static int happy_meal_start_xmit(struct sk_buff *skb, struct device *dev) } } - if(set_bit(0, (void *) &dev->tbusy) != 0) { + if(test_and_set_bit(0, (void *) &dev->tbusy) != 0) { printk("happy meal: Transmitter access conflict.\n"); return 1; } @@ -1955,7 +1957,7 @@ static int sun4c_happy_meal_start_xmit(struct sk_buff *skb, struct device *dev) return 0; } - if(set_bit(0, (void *) &dev->tbusy) != 0) { + if(test_and_set_bit(0, (void *) &dev->tbusy) != 0) { printk("happy meal: Transmitter access conflict.\n"); return 1; } |