From dfd09f5a6f15b16ea46f5c03cf5b543112bf2de3 Mon Sep 17 00:00:00 2001 From: Rajesh Borundia Date: Wed, 14 Jul 2010 17:55:35 -0700 Subject: [PATCH] --- yaml --- r: 203579 b: refs/heads/master c: f8320f059296eb8cab6e2429c7ec79b43d42cf42 h: refs/heads/master i: 203577: c98089a5cbb97d36487ed6db348e05b578fcbd5c 203575: 8fac40394ef5a057b85c742f5f46485e1ac8d528 v: v3 --- [refs] | 2 +- trunk/drivers/net/netxen/netxen_nic_ctx.c | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b5846810e164..37e9af33dc30 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bdb0f8672ff6f601a32df5af40f11526b741985c +refs/heads/master: f8320f059296eb8cab6e2429c7ec79b43d42cf42 diff --git a/trunk/drivers/net/netxen/netxen_nic_ctx.c b/trunk/drivers/net/netxen/netxen_nic_ctx.c index 3a41b6a84a68..12612127a087 100644 --- a/trunk/drivers/net/netxen/netxen_nic_ctx.c +++ b/trunk/drivers/net/netxen/netxen_nic_ctx.c @@ -254,6 +254,19 @@ nx_fw_cmd_create_rx_ctx(struct netxen_adapter *adapter) 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;