]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
i40evf: enable bus master after reset
authorMitch Williams <mitch.a.williams@intel.com>
Wed, 23 Dec 2015 20:05:52 +0000 (12:05 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 10 Mar 2016 16:37:05 +0000 (08:37 -0800)
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 <mitch.a.williams@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 509a447ae80c2e48b991fa7556a1b0d2a7ee8a51)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index 2dc83036263b49fa36695da87207eb4defa42282..70734617100da6539ff22a694fbadb251074f7c5 100644 (file)
@@ -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) {