From: Somnath Kotur <somnath.kotur@broadcom.com>
Date: Wed, 7 Sep 2016 14:27:50 +0000 (+0530)
Subject: be2net: Issue COMMON_RESET_FUNCTION cmd during driver unload
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f72099e057c0b3ea3cfd16301cff9202c4db8ef4;p=linux.git

be2net: Issue COMMON_RESET_FUNCTION cmd during driver unload

As per SLI guideline, drivers need to issue COMMON_RESET_FUNCTION SLI
cmd during driver unload to clean up any non-persistent state
information.
Issue this cmd only if VFs are not assigned to VMs as it is possible
for PF driver to unload while it\'s VF remains functional and assigned
to a VM.

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 3be5d61aa8753..95d2fa3de0351 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -5706,6 +5706,9 @@ static void be_remove(struct pci_dev *pdev)
 
 	be_clear(adapter);
 
+	if (!pci_vfs_assigned(adapter->pdev))
+		be_cmd_reset_function(adapter);
+
 	/* tell fw we're done with firing cmds */
 	be_cmd_fw_clean(adapter);