]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
fm10k: enable bus master after every reset
authorJacob Keller <jacob.e.keller@intel.com>
Tue, 7 Jun 2016 23:08:57 +0000 (16:08 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Sun, 26 Feb 2017 06:04:24 +0000 (22:04 -0800)
If an FLR occurs, VF devices will be knocked out of bus master mode, and
the driver will be unable to recover from the reset properly, resulting
in malicious driver events and an infinite reset loop. In the normal
case, the bus master mode will already be enabled and this call will
essentially be a no-op. Since we're doing this every reset, it is
possible we could remove the other calls to pci_set_master() but it
seems not harmful to just leave them in place.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Orabug: 25394529
(cherry picked from commit 0d63a8f50e7a7810b0631cd8ea66d44dafb215e6)
Signed-off-by: Jack Vogel <jack.vogel@oracle.com>
drivers/net/ethernet/intel/fm10k/fm10k_pci.c

index 27597f3ade99feaa4e34a77e30dd8c2552814089..5d23096cdb22ac11948a417fa983920140fdf847 100644 (file)
@@ -174,6 +174,8 @@ static int fm10k_handle_reset(struct fm10k_intfc *interface)
 
        rtnl_lock();
 
+       pci_set_master(interface->pdev);
+
        /* reset and initialize the hardware so it is in a known state */
        err = hw->mac.ops.reset_hw(hw);
        if (err) {