diff mbox

i40e: fix merge bug

Message ID 1452128791-17584-1-git-send-email-jesse.brandeburg@intel.com
State Not Applicable
Headers show

Commit Message

Jesse Brandeburg Jan. 7, 2016, 1:06 a.m. UTC
There was a bug (re-)introduced by a merge error when applying patches.
This fixes the issue by making the code schedule the work item as
originally intended for the fix included in commit 0e4425ed641f ("i40e:
fix: do not sleep in netdev_ops") and broken in commit ea02e90b4b49
("i40e: propagate properly").

Fixes: ea02e90b4b49 ("i40e: propagate properly")
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Jesse Brandeburg Jan. 7, 2016, 1:15 a.m. UTC | #1
On Wed, 6 Jan 2016 17:06:31 -0800
Jesse Brandeburg <jesse.brandeburg@intel.com> wrote:

> There was a bug (re-)introduced by a merge error when applying patches.
> This fixes the issue by making the code schedule the work item as
> originally intended for the fix included in commit 0e4425ed641f ("i40e:
> fix: do not sleep in netdev_ops") and broken in commit ea02e90b4b49
> ("i40e: propagate properly").
> 
> Fixes: ea02e90b4b49 ("i40e: propagate properly")
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>

targeted at net-next, tested on next-queue/dev-queue, please send ASAP
as this standalone patch applied cleanly to davem's net-next/master
when tested just now.
Kirsher, Jeffrey T Jan. 8, 2016, 6:54 a.m. UTC | #2
On Wed, 2016-01-06 at 17:06 -0800, Jesse Brandeburg wrote:
> There was a bug (re-)introduced by a merge error when applying
> patches.
> This fixes the issue by making the code schedule the work item as
> originally intended for the fix included in commit 0e4425ed641f
> ("i40e:
> fix: do not sleep in netdev_ops") and broken in commit ea02e90b4b49
> ("i40e: propagate properly").
> 
> Fixes: ea02e90b4b49 ("i40e: propagate properly")
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)

This does not apply because it is already fixed in the following patch
that was applied earlier:

commit e91a9d1345bf8a75b988e4bc01a32610ce76084c
Author: Jesse Brandeburg <jesse.brandeburg@intel.com>
Date:   Thu Jan 7 22:47:29 2016 -0800

    i40e: fix: do not sleep in netdev_ops
    
    The driver was being called by vlan, bonding, teaming operations
    that expected to be able to hold locks like rcu_read_lock().
    
    This causes the driver to be held to the requirement to not sleep,
    and was found by the kernel debug options for checking sleep
    inside critical section, and the locking validator.
    
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Reviewed-by: Nelson, Shannon <shannon.nelson@intel.com>
    Change-ID: Ibc68c835f5ffa8ffe0638ffe910a66fc5649a7f7
diff mbox

Patch

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 5375d3e..590cf0b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1542,7 +1542,11 @@  static int i40e_set_mac(struct net_device *netdev, void *p)
 
 	ether_addr_copy(netdev->dev_addr, addr->sa_data);
 
-	return i40e_sync_vsi_filters(vsi);
+	/* schedule our worker thread which will take care of
+	 * applying the new filter changes
+	 */
+	i40e_service_event_schedule(vsi->back);
+	return 0;
 }
 
 /**