diff options
| author | Ajit Khaparde <ajit.khaparde@emulex.com> | 2011-02-11 08:34:46 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-02-12 00:14:43 -0500 |
| commit | 658681f72589b95b7ab340b4f644783d263b5200 (patch) | |
| tree | a8eb354d5da875a36f6a89e806b6e5d36555a71a | |
| parent | 6bff57a7a6b97f2bf98cb96e56db1ec02a29d135 (diff) | |
be2net: Use domain id when be_cmd_if_destroy is called.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/benet/be_cmds.c | 3 | ||||
| -rw-r--r-- | drivers/net/benet/be_cmds.h | 3 | ||||
| -rw-r--r-- | drivers/net/benet/be_main.c | 7 |
3 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c index d3b671d9e027..be2981aa5857 100644 --- a/drivers/net/benet/be_cmds.c +++ b/drivers/net/benet/be_cmds.c | |||
| @@ -995,7 +995,7 @@ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags, | |||
| 995 | } | 995 | } |
| 996 | 996 | ||
| 997 | /* Uses mbox */ | 997 | /* Uses mbox */ |
| 998 | int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id) | 998 | int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id, u32 domain) |
| 999 | { | 999 | { |
| 1000 | struct be_mcc_wrb *wrb; | 1000 | struct be_mcc_wrb *wrb; |
| 1001 | struct be_cmd_req_if_destroy *req; | 1001 | struct be_cmd_req_if_destroy *req; |
| @@ -1016,6 +1016,7 @@ int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id) | |||
| 1016 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, | 1016 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, |
| 1017 | OPCODE_COMMON_NTWK_INTERFACE_DESTROY, sizeof(*req)); | 1017 | OPCODE_COMMON_NTWK_INTERFACE_DESTROY, sizeof(*req)); |
| 1018 | 1018 | ||
| 1019 | req->hdr.domain = domain; | ||
| 1019 | req->interface_id = cpu_to_le32(interface_id); | 1020 | req->interface_id = cpu_to_le32(interface_id); |
| 1020 | 1021 | ||
| 1021 | status = be_mbox_notify_wait(adapter); | 1022 | status = be_mbox_notify_wait(adapter); |
diff --git a/drivers/net/benet/be_cmds.h b/drivers/net/benet/be_cmds.h index 83d15c8a9fa3..02540bd9569d 100644 --- a/drivers/net/benet/be_cmds.h +++ b/drivers/net/benet/be_cmds.h | |||
| @@ -1004,7 +1004,8 @@ extern int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, u32 pmac_id); | |||
| 1004 | extern int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, | 1004 | extern int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, |
| 1005 | u32 en_flags, u8 *mac, bool pmac_invalid, | 1005 | u32 en_flags, u8 *mac, bool pmac_invalid, |
| 1006 | u32 *if_handle, u32 *pmac_id, u32 domain); | 1006 | u32 *if_handle, u32 *pmac_id, u32 domain); |
| 1007 | extern int be_cmd_if_destroy(struct be_adapter *adapter, u32 if_handle); | 1007 | extern int be_cmd_if_destroy(struct be_adapter *adapter, u32 if_handle, |
| 1008 | u32 domain); | ||
| 1008 | extern int be_cmd_eq_create(struct be_adapter *adapter, | 1009 | extern int be_cmd_eq_create(struct be_adapter *adapter, |
| 1009 | struct be_queue_info *eq, int eq_delay); | 1010 | struct be_queue_info *eq, int eq_delay); |
| 1010 | extern int be_cmd_cq_create(struct be_adapter *adapter, | 1011 | extern int be_cmd_cq_create(struct be_adapter *adapter, |
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 4c73dceaeedf..aab464dd3063 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
| @@ -2335,8 +2335,9 @@ if_destroy: | |||
| 2335 | for (vf = 0; vf < num_vfs; vf++) | 2335 | for (vf = 0; vf < num_vfs; vf++) |
| 2336 | if (adapter->vf_cfg[vf].vf_if_handle) | 2336 | if (adapter->vf_cfg[vf].vf_if_handle) |
| 2337 | be_cmd_if_destroy(adapter, | 2337 | be_cmd_if_destroy(adapter, |
| 2338 | adapter->vf_cfg[vf].vf_if_handle); | 2338 | adapter->vf_cfg[vf].vf_if_handle, |
| 2339 | be_cmd_if_destroy(adapter, adapter->if_handle); | 2339 | vf + 1); |
| 2340 | be_cmd_if_destroy(adapter, adapter->if_handle, 0); | ||
| 2340 | do_none: | 2341 | do_none: |
| 2341 | return status; | 2342 | return status; |
| 2342 | } | 2343 | } |
| @@ -2350,7 +2351,7 @@ static int be_clear(struct be_adapter *adapter) | |||
| 2350 | be_rx_queues_destroy(adapter); | 2351 | be_rx_queues_destroy(adapter); |
| 2351 | be_tx_queues_destroy(adapter); | 2352 | be_tx_queues_destroy(adapter); |
| 2352 | 2353 | ||
| 2353 | be_cmd_if_destroy(adapter, adapter->if_handle); | 2354 | be_cmd_if_destroy(adapter, adapter->if_handle, 0); |
| 2354 | 2355 | ||
| 2355 | /* tell fw we're done with firing cmds */ | 2356 | /* tell fw we're done with firing cmds */ |
| 2356 | be_cmd_fw_clean(adapter); | 2357 | be_cmd_fw_clean(adapter); |
