From f2a7a493a7c91589a1e47bf7e70d7ecaa5c1fc5d Mon Sep 17 00:00:00 2001 From: Mitch Williams Date: Wed, 23 Dec 2015 12:05:52 -0800 Subject: [PATCH] i40evf: enable bus master after reset Orabug: 22342532 If the VF is reset via VFLR, the device will be knocked out of bus master mode, and the driver will fail to recover from the reset. Fix this by enabling bus mastering after every reset. In a non-VFLR case, the bus master bit will not be disabled, and this call will have no effect. Change-ID: Id515859ac7a691db478222228add6d149e96801a Signed-off-by: Mitch Williams Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher (cherry picked from commit 509a447ae80c2e48b991fa7556a1b0d2a7ee8a51) Signed-off-by: Brian Maly --- drivers/net/ethernet/intel/i40evf/i40evf_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index 2dc83036263b..70734617100d 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c @@ -1837,6 +1837,7 @@ static void i40evf_reset_task(struct work_struct *work) break; msleep(I40EVF_RESET_WAIT_MS); } + pci_set_master(adapter->pdev); /* extra wait to make sure minimum wait is met */ msleep(I40EVF_RESET_WAIT_MS); if (i == I40EVF_RESET_WAIT_COUNT) { -- 2.50.1