cxgb3: Notify fatal errors
Set up a notification mechanism to inform upper layer modules (iWARP, iSCSI) of a chip reset due to an EEH event or a fatal error. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
1373c0fdbc
commit
cb0bc20595
@@ -2542,6 +2542,12 @@ static int t3_adapter_error(struct adapter *adapter, int reset)
|
||||
{
|
||||
int i, ret = 0;
|
||||
|
||||
if (is_offload(adapter) &&
|
||||
test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) {
|
||||
cxgb3_err_notify(&adapter->tdev, OFFLOAD_STATUS_DOWN, 0);
|
||||
offload_close(&adapter->tdev);
|
||||
}
|
||||
|
||||
/* Stop all ports */
|
||||
for_each_port(adapter, i) {
|
||||
struct net_device *netdev = adapter->port[i];
|
||||
@@ -2550,10 +2556,6 @@ static int t3_adapter_error(struct adapter *adapter, int reset)
|
||||
cxgb_close(netdev);
|
||||
}
|
||||
|
||||
if (is_offload(adapter) &&
|
||||
test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map))
|
||||
offload_close(&adapter->tdev);
|
||||
|
||||
/* Stop SGE timers */
|
||||
t3_stop_sge_timers(adapter);
|
||||
|
||||
@@ -2605,6 +2607,9 @@ static void t3_resume_ports(struct adapter *adapter)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_offload(adapter) && !ofld_disable)
|
||||
cxgb3_err_notify(&adapter->tdev, OFFLOAD_STATUS_UP, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user