projects
/
GitHub
/
mt8127
/
android_kernel_alcatel_ttab.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3fbd918
)
sky2: Flow control frames recorded as dropped packets
author
Stephen Hemminger
<shemminger@linux-foundation.org>
Wed, 3 Feb 2010 08:31:12 +0000
(08:31 +0000)
committer
David S. Miller
<davem@davemloft.net>
Thu, 4 Feb 2010 04:32:29 +0000
(20:32 -0800)
Thanks for your patch. A more general solution would be to move the
rx_dropped up into sky2_receive.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sky2.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/net/sky2.c
b/drivers/net/sky2.c
index 72c92495a9b3e9698e914b260c2eb7370b9f45b6..744362272e2d236253050fc27033b55ef0ec5856 100644
(file)
--- a/
drivers/net/sky2.c
+++ b/
drivers/net/sky2.c
@@
-2404,6
+2404,9
@@
okay:
skb = receive_copy(sky2, re, length);
else
skb = receive_new(sky2, re, length);
+
+ dev->stats.rx_dropped += (skb == NULL);
+
resubmit:
sky2_rx_submit(sky2, re);
@@
-2515,11
+2518,10
@@
static int sky2_status_intr(struct sky2_hw *hw, int to_do, u16 idx)
case OP_RXSTAT:
total_packets[port]++;
total_bytes[port] += length;
+
skb = sky2_receive(dev, length, status);
- if (unlikely(!skb)) {
- dev->stats.rx_dropped++;
+ if (!skb)
break;
- }
/* This chip reports checksum status differently */
if (hw->flags & SKY2_HW_NEW_LE) {