From dac9552bb974d0c192a328b422d5ead14cb86561 Mon Sep 17 00:00:00 2001 From: Wenzhuo Lu Date: Wed, 24 Jun 2015 11:26:21 +0800 Subject: [PATCH] ixgbe/base: fix X550 PCIe master disabling This patch skips the PCI transactions pending check in ixgbe_disable_pcie_master. The PCI transactions pending bit sticks high when there were pending transactions, we should wait and then continue with our reset flow. Signed-off-by: Wenzhuo Lu Acked-by: Helin Zhang --- drivers/net/ixgbe/base/ixgbe_common.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c index 9e80722f29..17db352476 100644 --- a/drivers/net/ixgbe/base/ixgbe_common.c +++ b/drivers/net/ixgbe/base/ixgbe_common.c @@ -3142,6 +3142,9 @@ s32 ixgbe_disable_pcie_master(struct ixgbe_hw *hw) DEBUGOUT("GIO Master Disable bit didn't clear - requesting resets\n"); hw->mac.flags |= IXGBE_FLAGS_DOUBLE_RESET_REQUIRED; + if (hw->mac.type >= ixgbe_mac_X550) + goto out; + /* * Before proceeding, make sure that the PCIe block does not have * transactions pending. -- 2.20.1