From: wenxiong@linux.vnet.ibm.com <wenxiong@linux.vnet.ibm.com>
Subject: bnx2x: Adapter not recovery from EEH error injection
Git-commit: 0c0e63410a393aae4b615849625f539db775d586
Patch-mainline: next-20140611
References: bnc#881761 

    When injecting EEH error to bnx2x adapter, adapter couldn't be recovery
    and caused recursive EEH errors. The patch fixes the issue.
    
Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Torsten Duwe <duwe@suse.de>

 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index 3b0d431..6fa9cd4 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -1527,8 +1527,8 @@ void bnx2x_int_disable_sync(struct bnx2x
 		synchronize_irq(bp->pdev->irq);
 
 	/* make sure sp_task is not running */
-	cancel_delayed_work(&bp->sp_task);
-	cancel_delayed_work(&bp->period_task);
+	cancel_delayed_work_sync(&bp->sp_task);
+	cancel_delayed_work_sync(&bp->period_task);
 	flush_workqueue(bnx2x_wq);
 }
 
