]> git.baikalelectronics.ru Git - kernel.git/commit
cnic: Improve error recovery on bnx2x devices
authorMichael Chan <mchan@broadcom.com>
Wed, 4 Jan 2012 12:12:28 +0000 (12:12 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Jan 2012 19:01:21 +0000 (14:01 -0500)
commit27f39fc11c67f2770192d2c02528fcc54749ca97
treeb4f68704f88dc918d411662dd18c3e6c5b51d313
parenta08bb79238df31a21412f89a6a0e0b5612d607b0
cnic: Improve error recovery on bnx2x devices

When a bnx2x device encounters parity errors, it will not respond to all
SPQ messages.  As a result, the shutdown sequence before reset can take
a long time as the ulp drivers (bnx2i/bnx2fc) have to wait for timeout
of all such messages.

To improve this scenario, when bnx2x returns error on the SPQ, we'll send
an immediate response to the ulp drivers to avoid such lengthy timeouts.

Adjust the return code of relevant functions to return error only if
the message cannot be sent on the SPQ so that we'll generate an error
completion to the ulp drivers.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/cnic.c
drivers/net/ethernet/broadcom/cnic_defs.h
drivers/net/ethernet/broadcom/cnic_if.h