netxen: fix for kdump
When the crash kernel is loaded after crash, the device is in unknown state. So reset the device contexts prior to its creation in case of kdump, depending upon kernel parameter reset_devices. Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bdb0f8672f
commit
f8320f0592
1 changed files with 15 additions and 1 deletions
|
@ -254,6 +254,19 @@ out_free_rq:
|
|||
return err;
|
||||
}
|
||||
|
||||
static void
|
||||
nx_fw_cmd_reset_ctx(struct netxen_adapter *adapter)
|
||||
{
|
||||
|
||||
netxen_issue_cmd(adapter, adapter->ahw.pci_func, NXHAL_VERSION,
|
||||
adapter->ahw.pci_func, NX_DESTROY_CTX_RESET, 0,
|
||||
NX_CDRP_CMD_DESTROY_RX_CTX);
|
||||
|
||||
netxen_issue_cmd(adapter, adapter->ahw.pci_func, NXHAL_VERSION,
|
||||
adapter->ahw.pci_func, NX_DESTROY_CTX_RESET, 0,
|
||||
NX_CDRP_CMD_DESTROY_TX_CTX);
|
||||
}
|
||||
|
||||
static void
|
||||
nx_fw_cmd_destroy_rx_ctx(struct netxen_adapter *adapter)
|
||||
{
|
||||
|
@ -685,7 +698,8 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter)
|
|||
if (!NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
|
||||
if (test_and_set_bit(__NX_FW_ATTACHED, &adapter->state))
|
||||
goto done;
|
||||
|
||||
if (reset_devices)
|
||||
nx_fw_cmd_reset_ctx(adapter);
|
||||
err = nx_fw_cmd_create_rx_ctx(adapter);
|
||||
if (err)
|
||||
goto err_out_free;
|
||||
|
|
Loading…
Add table
Reference in a new issue