]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
be2net: don't delete MAC on close on unprivileged BE3 VFs
authorIvan Vecera <cera@cera.cz>
Fri, 13 Jan 2017 21:38:28 +0000 (22:38 +0100)
committerDhaval Giani <dhaval.giani@oracle.com>
Wed, 8 Mar 2017 01:05:41 +0000 (20:05 -0500)
Orabug: 25570957

BE3 VFs without FILTMGMT privilege are not allowed to modify its MAC,
VLAN table and UC/MC lists. So don't try to delete MAC on such VFs.

Cc: Sathya Perla <sathya.perla@broadcom.com>
Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
Cc: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Cc: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ivan Vecera <cera@cera.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 6d928ae590c8d58cfd5cca997d54394de139cbb7)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
Conflicts:
drivers/net/ethernet/emulex/benet/be_main.c

Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
drivers/net/ethernet/emulex/benet/be_main.c

index fb7e64b8d854ade14ca9ef2dde463fc29c7e305d..f93e3a20d69eb5af6ad9a5beb12e5b6bfc6ef3f6 100644 (file)
@@ -3513,8 +3513,10 @@ static void be_rx_qs_destroy(struct be_adapter *adapter)
 
 static void be_disable_if_filters(struct be_adapter *adapter)
 {
-       be_cmd_pmac_del(adapter, adapter->if_handle,
-                       adapter->pmac_id[0], 0);
+       if (!BEx_chip(adapter) || !be_virtfn(adapter) ||
+           check_privilege(adapter, BE_PRIV_FILTMGMT))
+                       be_cmd_pmac_del(adapter, adapter->if_handle,
+                               adapter->pmac_id[0], 0);
 
        be_clear_uc_list(adapter);
        be_clear_mc_list(adapter);