be2net: Use domain id when be_cmd_if_destroy is called.
authorAjit Khaparde <ajit.khaparde@emulex.com>
Fri, 11 Feb 2011 13:34:46 +0000 (13:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Feb 2011 05:14:43 +0000 (21:14 -0800)
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/benet/be_cmds.c
drivers/net/benet/be_cmds.h
drivers/net/benet/be_main.c

index d3b671d9e027d649bdd90c84047ab24db73a84b4..be2981aa5857e278723f0d4e8f879d09c184a06f 100644 (file)
@@ -995,7 +995,7 @@ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
 }
 
 /* Uses mbox */
-int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id)
+int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id, u32 domain)
 {
        struct be_mcc_wrb *wrb;
        struct be_cmd_req_if_destroy *req;
@@ -1016,6 +1016,7 @@ int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id)
        be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON,
                OPCODE_COMMON_NTWK_INTERFACE_DESTROY, sizeof(*req));
 
+       req->hdr.domain = domain;
        req->interface_id = cpu_to_le32(interface_id);
 
        status = be_mbox_notify_wait(adapter);
index 83d15c8a9fa30e1bf5e28a371c7cf7fade8e0580..02540bd9569d42b9195582359dc3a9a461b432f0 100644 (file)
@@ -1004,7 +1004,8 @@ extern int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, u32 pmac_id);
 extern int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags,
                        u32 en_flags, u8 *mac, bool pmac_invalid,
                        u32 *if_handle, u32 *pmac_id, u32 domain);
-extern int be_cmd_if_destroy(struct be_adapter *adapter, u32 if_handle);
+extern int be_cmd_if_destroy(struct be_adapter *adapter, u32 if_handle,
+                       u32 domain);
 extern int be_cmd_eq_create(struct be_adapter *adapter,
                        struct be_queue_info *eq, int eq_delay);
 extern int be_cmd_cq_create(struct be_adapter *adapter,
index 4c73dceaeedf15908716708be7829704b43a6e20..aab464dd3063834b9772cff99b025200bfc54550 100644 (file)
@@ -2335,8 +2335,9 @@ if_destroy:
        for (vf = 0; vf < num_vfs; vf++)
                if (adapter->vf_cfg[vf].vf_if_handle)
                        be_cmd_if_destroy(adapter,
-                                       adapter->vf_cfg[vf].vf_if_handle);
-       be_cmd_if_destroy(adapter, adapter->if_handle);
+                                       adapter->vf_cfg[vf].vf_if_handle,
+                                       vf + 1);
+       be_cmd_if_destroy(adapter, adapter->if_handle, 0);
 do_none:
        return status;
 }
@@ -2350,7 +2351,7 @@ static int be_clear(struct be_adapter *adapter)
        be_rx_queues_destroy(adapter);
        be_tx_queues_destroy(adapter);
 
-       be_cmd_if_destroy(adapter, adapter->if_handle);
+       be_cmd_if_destroy(adapter, adapter->if_handle,  0);
 
        /* tell fw we're done with firing cmds */
        be_cmd_fw_clean(adapter);