]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
delete tg3 patch from 3.4 and 3.9 stable queues
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2013 17:57:35 +0000 (10:57 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2013 17:57:35 +0000 (10:57 -0700)
queue-3.4/net-tg3-avoid-delay-during-mmio-access.patch [deleted file]
queue-3.4/series
queue-3.9/net-tg3-avoid-delay-during-mmio-access.patch [deleted file]
queue-3.9/series

diff --git a/queue-3.4/net-tg3-avoid-delay-during-mmio-access.patch b/queue-3.4/net-tg3-avoid-delay-during-mmio-access.patch
deleted file mode 100644 (file)
index 13720ca..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-From 6d446ec32f169c6a5d9bc90684a8082a6cbe90f6 Mon Sep 17 00:00:00 2001
-From: Gavin Shan <shangw@linux.vnet.ibm.com>
-Date: Tue, 25 Jun 2013 15:24:32 +0800
-Subject: net/tg3: Avoid delay during MMIO access
-
-From: Gavin Shan <shangw@linux.vnet.ibm.com>
-
-commit 6d446ec32f169c6a5d9bc90684a8082a6cbe90f6 upstream.
-
-When the EEH error is the result of a fenced host bridge, MMIO accesses
-can be very slow (milliseconds) to timeout and return all 1's,
-thus causing the driver various timeout loops to take way too long and
-trigger soft-lockup warnings (in addition to taking minutes to recover).
-
-It might be worthwhile to check if for any of these cases, ffffffff is
-a valid possible value, and if not, bail early since that means the HW
-is either gone or isolated. In the meantime, checking that the PCI channel
-is offline would be workaround of the problem.
-
-Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/net/ethernet/broadcom/tg3.c |   36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
---- a/drivers/net/ethernet/broadcom/tg3.c
-+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -689,6 +689,9 @@ static int tg3_ape_lock(struct tg3 *tp,
-               status = tg3_ape_read32(tp, gnt + off);
-               if (status == bit)
-                       break;
-+              if (pci_channel_offline(tp->pdev))
-+                      break;
-+
-               udelay(10);
-       }
-@@ -1466,6 +1469,9 @@ static void tg3_wait_for_event_ack(struc
-       for (i = 0; i < delay_cnt; i++) {
-               if (!(tr32(GRC_RX_CPU_EVENT) & GRC_RX_CPU_DRIVER_EVENT))
-                       break;
-+              if (pci_channel_offline(tp->pdev))
-+                      break;
-+
-               udelay(8);
-       }
- }
-@@ -1636,6 +1642,9 @@ static int tg3_poll_fw(struct tg3 *tp)
-               for (i = 0; i < 200; i++) {
-                       if (tr32(VCPU_STATUS) & VCPU_STATUS_INIT_DONE)
-                               return 0;
-+                      if (pci_channel_offline(tp->pdev))
-+                              return -ENODEV;
-+
-                       udelay(100);
-               }
-               return -ENODEV;
-@@ -1646,6 +1655,15 @@ static int tg3_poll_fw(struct tg3 *tp)
-               tg3_read_mem(tp, NIC_SRAM_FIRMWARE_MBOX, &val);
-               if (val == ~NIC_SRAM_FIRMWARE_MBOX_MAGIC1)
-                       break;
-+              if (pci_channel_offline(tp->pdev)) {
-+                      if (!tg3_flag(tp, NO_FWARE_REPORTED)) {
-+                              tg3_flag_set(tp, NO_FWARE_REPORTED);
-+                              netdev_info(tp->dev, "No firmware running\n");
-+                      }
-+
-+                      break;
-+              }
-+
-               udelay(10);
-       }
-@@ -3204,6 +3222,8 @@ static int tg3_nvram_write_block_buffere
-               ret = tg3_nvram_exec_cmd(tp, nvram_cmd);
-               if (ret)
-                       break;
-+              if (pci_channel_offline(tp->pdev))
-+                      return -EBUSY;
-       }
-       return ret;
- }
-@@ -7674,6 +7694,14 @@ static int tg3_stop_block(struct tg3 *tp
-       tw32_f(ofs, val);
-       for (i = 0; i < MAX_WAIT_CNT; i++) {
-+              if (pci_channel_offline(tp->pdev)) {
-+                      dev_err(&tp->pdev->dev,
-+                              "tg3_stop_block device offline, "
-+                              "ofs=%lx enable_bit=%x\n",
-+                              ofs, enable_bit);
-+                      return -ENODEV;
-+              }
-+
-               udelay(100);
-               val = tr32(ofs);
-               if ((val & enable_bit) == 0)
-@@ -7697,6 +7725,13 @@ static int tg3_abort_hw(struct tg3 *tp,
-       tg3_disable_ints(tp);
-+      if (pci_channel_offline(tp->pdev)) {
-+              tp->rx_mode &= ~(RX_MODE_ENABLE | TX_MODE_ENABLE);
-+              tp->mac_mode &= ~MAC_MODE_TDE_ENABLE;
-+              err = -ENODEV;
-+              goto err_no_dev;
-+      }
-+
-       tp->rx_mode &= ~RX_MODE_ENABLE;
-       tw32_f(MAC_RX_MODE, tp->rx_mode);
-       udelay(10);
-@@ -7745,6 +7780,7 @@ static int tg3_abort_hw(struct tg3 *tp,
-       err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE, silent);
-       err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE, silent);
-+err_no_dev:
-       for (i = 0; i < tp->irq_cnt; i++) {
-               struct tg3_napi *tnapi = &tp->napi[i];
-               if (tnapi->hw_status)
index 4e14248d76aa193a68f6b071da785af9b84f7319..bb6194d06c9d047e12dc27fad820432e989339b8 100644 (file)
@@ -4,7 +4,6 @@ bluetooth-fix-crash-in-l2cap_build_cmd-with-small-mtu.patch
 hw_breakpoint-use-cpu_possible_mask-in-reserve-release-_bp_slot.patch
 dlci-acquire-rtnl_lock-before-calling-__dev_get_by_name.patch
 dlci-validate-the-net-device-in-dlci_del.patch
-net-tg3-avoid-delay-during-mmio-access.patch
 perf-disable-monitoring-on-setuid-processes-for-regular-users.patch
 ubifs-prepare-to-fix-a-horrid-bug.patch
 ubifs-fix-a-horrid-bug.patch
diff --git a/queue-3.9/net-tg3-avoid-delay-during-mmio-access.patch b/queue-3.9/net-tg3-avoid-delay-during-mmio-access.patch
deleted file mode 100644 (file)
index b1bcbc1..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-From 6d446ec32f169c6a5d9bc90684a8082a6cbe90f6 Mon Sep 17 00:00:00 2001
-From: Gavin Shan <shangw@linux.vnet.ibm.com>
-Date: Tue, 25 Jun 2013 15:24:32 +0800
-Subject: net/tg3: Avoid delay during MMIO access
-
-From: Gavin Shan <shangw@linux.vnet.ibm.com>
-
-commit 6d446ec32f169c6a5d9bc90684a8082a6cbe90f6 upstream.
-
-When the EEH error is the result of a fenced host bridge, MMIO accesses
-can be very slow (milliseconds) to timeout and return all 1's,
-thus causing the driver various timeout loops to take way too long and
-trigger soft-lockup warnings (in addition to taking minutes to recover).
-
-It might be worthwhile to check if for any of these cases, ffffffff is
-a valid possible value, and if not, bail early since that means the HW
-is either gone or isolated. In the meantime, checking that the PCI channel
-is offline would be workaround of the problem.
-
-Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/net/ethernet/broadcom/tg3.c |   36 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
---- a/drivers/net/ethernet/broadcom/tg3.c
-+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -743,6 +743,9 @@ static int tg3_ape_lock(struct tg3 *tp,
-               status = tg3_ape_read32(tp, gnt + off);
-               if (status == bit)
-                       break;
-+              if (pci_channel_offline(tp->pdev))
-+                      break;
-+
-               udelay(10);
-       }
-@@ -1634,6 +1637,9 @@ static void tg3_wait_for_event_ack(struc
-       for (i = 0; i < delay_cnt; i++) {
-               if (!(tr32(GRC_RX_CPU_EVENT) & GRC_RX_CPU_DRIVER_EVENT))
-                       break;
-+              if (pci_channel_offline(tp->pdev))
-+                      break;
-+
-               udelay(8);
-       }
- }
-@@ -1812,6 +1818,9 @@ static int tg3_poll_fw(struct tg3 *tp)
-               for (i = 0; i < 200; i++) {
-                       if (tr32(VCPU_STATUS) & VCPU_STATUS_INIT_DONE)
-                               return 0;
-+                      if (pci_channel_offline(tp->pdev))
-+                              return -ENODEV;
-+
-                       udelay(100);
-               }
-               return -ENODEV;
-@@ -1822,6 +1831,15 @@ static int tg3_poll_fw(struct tg3 *tp)
-               tg3_read_mem(tp, NIC_SRAM_FIRMWARE_MBOX, &val);
-               if (val == ~NIC_SRAM_FIRMWARE_MBOX_MAGIC1)
-                       break;
-+              if (pci_channel_offline(tp->pdev)) {
-+                      if (!tg3_flag(tp, NO_FWARE_REPORTED)) {
-+                              tg3_flag_set(tp, NO_FWARE_REPORTED);
-+                              netdev_info(tp->dev, "No firmware running\n");
-+                      }
-+
-+                      break;
-+              }
-+
-               udelay(10);
-       }
-@@ -3411,6 +3429,8 @@ static int tg3_nvram_write_block_buffere
-               ret = tg3_nvram_exec_cmd(tp, nvram_cmd);
-               if (ret)
-                       break;
-+              if (pci_channel_offline(tp->pdev))
-+                      return -EBUSY;
-       }
-       return ret;
- }
-@@ -8224,6 +8244,14 @@ static int tg3_stop_block(struct tg3 *tp
-       tw32_f(ofs, val);
-       for (i = 0; i < MAX_WAIT_CNT; i++) {
-+              if (pci_channel_offline(tp->pdev)) {
-+                      dev_err(&tp->pdev->dev,
-+                              "tg3_stop_block device offline, "
-+                              "ofs=%lx enable_bit=%x\n",
-+                              ofs, enable_bit);
-+                      return -ENODEV;
-+              }
-+
-               udelay(100);
-               val = tr32(ofs);
-               if ((val & enable_bit) == 0)
-@@ -8247,6 +8275,13 @@ static int tg3_abort_hw(struct tg3 *tp,
-       tg3_disable_ints(tp);
-+      if (pci_channel_offline(tp->pdev)) {
-+              tp->rx_mode &= ~(RX_MODE_ENABLE | TX_MODE_ENABLE);
-+              tp->mac_mode &= ~MAC_MODE_TDE_ENABLE;
-+              err = -ENODEV;
-+              goto err_no_dev;
-+      }
-+
-       tp->rx_mode &= ~RX_MODE_ENABLE;
-       tw32_f(MAC_RX_MODE, tp->rx_mode);
-       udelay(10);
-@@ -8295,6 +8330,7 @@ static int tg3_abort_hw(struct tg3 *tp,
-       err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE, silent);
-       err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE, silent);
-+err_no_dev:
-       for (i = 0; i < tp->irq_cnt; i++) {
-               struct tg3_napi *tnapi = &tp->napi[i];
-               if (tnapi->hw_status)
index 12a059ae05391f8341c5813c9d6447500ceb2276..2ac99d977191d8c7cc5954a84b7f8763277a6618 100644 (file)
@@ -11,7 +11,6 @@ s390-pci-implement-irq-functions-if-pci.patch
 s390-irq-only-define-synchronize_irq-on-smp.patch
 dlci-acquire-rtnl_lock-before-calling-__dev_get_by_name.patch
 dlci-validate-the-net-device-in-dlci_del.patch
-net-tg3-avoid-delay-during-mmio-access.patch
 rt2800-fix-rt5390-rt3290-tx-power-settings-regression.patch
 iommu-vt-d-add-quirk-for-broken-interrupt-remapping-on-55xx-chipsets.patch
 perf-disable-monitoring-on-setuid-processes-for-regular-users.patch