diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/tg3.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index e53c1dc58d08..92b0e4975135 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -2802,6 +2802,12 @@ next_pkt: | |||
2802 | next_pkt_nopost: | 2802 | next_pkt_nopost: |
2803 | sw_idx++; | 2803 | sw_idx++; |
2804 | sw_idx %= TG3_RX_RCB_RING_SIZE(tp); | 2804 | sw_idx %= TG3_RX_RCB_RING_SIZE(tp); |
2805 | |||
2806 | /* Refresh hw_idx to see if there is new work */ | ||
2807 | if (sw_idx == hw_idx) { | ||
2808 | hw_idx = tp->hw_status->idx[0].rx_producer; | ||
2809 | rmb(); | ||
2810 | } | ||
2805 | } | 2811 | } |
2806 | 2812 | ||
2807 | /* ACK the status ring. */ | 2813 | /* ACK the status ring. */ |