qlcnic: Fix mailbox completion handling during spurious interrupt
authorRajesh Borundia <rajesh.borundia@qlogic.com>
Tue, 8 Mar 2016 07:39:58 +0000 (02:39 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Mar 2016 21:15:54 +0000 (16:15 -0500)
commit819bfe764dceec2f6b4551768453f374b4c60443
tree8a878347b0e4c5bf2eaa4d4f7b0917551868df23
parent5bf93251cee1fb66141d1d2eaff86e04a9397bdf
qlcnic: Fix mailbox completion handling during spurious interrupt

o While the driver is in the middle of a MB completion processing
and it receives a spurious MB interrupt, it is mistaken as a good MB
completion interrupt leading to premature completion of the next MB
request. Fix the driver to guard against this by checking the current
state of MB processing and ignore the spurious interrupt.
Also added a stats counter to record this condition.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c