Skip to content

Commit 6a808c6

Browse files
Amit Kumar Salechadavem330
authored andcommitted
netxen: fix tx timeout recovery
o In case of tx timeout, firmare may be healthy, but some pci-func may see no response from it. Force firmware reset, if some pci-func explicitly requests so. Signed-off-by: Amit Kumar Salecha <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent bc86fcb commit 6a808c6

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

drivers/net/netxen/netxen_nic_init.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,9 @@ netxen_need_fw_reset(struct netxen_adapter *adapter)
778778
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
779779
return 1;
780780

781+
if (adapter->need_fw_reset)
782+
return 1;
783+
781784
/* last attempt had failed */
782785
if (NXRD32(adapter, CRB_CMDPEG_STATE) == PHAN_INITIALIZE_FAILED)
783786
return 1;

drivers/net/netxen/netxen_nic_main.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2284,8 +2284,10 @@ netxen_check_health(struct netxen_adapter *adapter)
22842284
}
22852285

22862286
state = NXRD32(adapter, NX_CRB_DEV_STATE);
2287-
if (state == NX_DEV_NEED_RESET)
2287+
if (state == NX_DEV_NEED_RESET) {
2288+
adapter->need_fw_reset = 1;
22882289
goto detach;
2290+
}
22892291

22902292
if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
22912293
return 0;

0 commit comments

Comments
 (0)