From f4e418f7f3286f854883f9f7e3bbf7005340d2de Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Fri, 4 Nov 2005 08:53:48 -0800 Subject: [PATCH] bnx2: refine bnx2_poll Refine bnx2_poll() logic to write back the most up-to-date status tag when all work has been processed. This eliminates some occasional extra interrupts when a older status tag is written even though all work has been processed. The idea is to read the status tag just before exiting bnx2_poll() and then check again for any new work. If no new work is pending, the status tag written back will not generate any extra interrupt. This logic is similar to the changes David Miller did to tg3_poll(). Signed-off-by: Michael Chan Signed-off-by: John W. Linville --- drivers/net/bnx2.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/net/bnx2.h') diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index 012586e4ba0..76bb5f1a250 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h @@ -3914,6 +3914,9 @@ struct bnx2 { u16 tx_cons; int tx_ring_size; + u16 hw_tx_cons; + u16 hw_rx_cons; + #ifdef BCM_VLAN struct vlan_group *vlgrp; #endif -- cgit v1.2.3