Patch "bnx2x: do not rollback VF MAC/VLAN filters we did not configure" has been added to the 4.9-stable tree
This is a note to let you know that I've just added the patch titled
bnx2x: do not rollback VF MAC/VLAN filters we did not configure
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
bnx2x-do-not-rollback-vf-mac-vlan-filters-we-did-not-configure.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Dec 12 13:26:17 CET 2017
From: Michal Schmidt <[email protected]>
Date: Fri, 3 Mar 2017 17:08:32 +0100
Subject: bnx2x: do not rollback VF MAC/VLAN filters we did not configure
From: Michal Schmidt <[email protected]>
[ Upstream commit 78d5505432436516456c12abbe705ec8dee7ee2b ]
On failure to configure a VF MAC/VLAN filter we should not attempt to rollback filters that we failed to configure with -EEXIST.
--- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 8 +++++++- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-)
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +7 -1
@@ -434,7 +434,9 @@ static int bnx2x_vf_mac_vlan_config(stru/* Add/Remove the filter */ rc =bnx2x_config_vlan_mac (bp, &ramrod); -if (rc && rc != -EEXIST ) { +if (rc == -EEXIST ) +return 0 ; +if (rc) { BNX2X_ERR("Failed to %s %s\n", filter->add ? "add" : "delete", (filter->type == BNX2X_VF_FILTER_VLAN_MAC) ?
@@ -444,6 +446,8 @@ static int bnx2x_vf_mac_vlan_config(strureturn rc; } + filter->applied = true; +return 0 ; }
@@ -471,6 +475,8 @@ int bnx2x_vf_mac_vlan_config_list(structBNX2X_ERR ("Managed only %d/%d filters - rolling back\n" , i, filters->count +1 );while (--i >=0 ) { +if (!filters->filters[i].applied) +continue ; filters->filters[i].add = !filters->filters[i].add; bnx2x_vf_mac_vlan_config(bp, vf, qid, &filters->filters[i],
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h +1 -0
@@ -114,6 +114,7 @@ struct bnx2x_vf_mac_vlan_filter { (BNX2X_VF_FILTER_MAC | BNX2X_VF_FILTER_VLAN) /*shortcut*/bool add; +bool applied;u8 *mac;u16 vid; };
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/bnx2x-fix-detection-of-vlan-filtering-feature-for-vf.patch queue-4.9/bnx2x-fix-possible-overrun-of-vfpf-multicast-addresses-array.patch queue-4.9/bnx2x-do-not-rollback-vf-mac-vlan-filters-we-did-not-configure.patch queue-4.9/bnx2x-prevent-crash-when-accessing-ptp-with-interface-down.patch