]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Sep 2013 16:18:28 +0000 (09:18 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Sep 2013 16:18:28 +0000 (09:18 -0700)
added patches:
bgmac-fix-internal-switch-initialization.patch
cifs-fix-filp-leak-in-cifs_atomic_open.patch
net-usb-cdc_ether-use-wwan-interface-for-telit-modules.patch
pci-acpi-pm-clear-pme_poll-for-devices-in-d3cold-on-wakeup.patch
rt2800-fix-wrong-tx-power-compensation.patch

queue-3.10/bgmac-fix-internal-switch-initialization.patch [new file with mode: 0644]
queue-3.10/cifs-fix-filp-leak-in-cifs_atomic_open.patch [new file with mode: 0644]
queue-3.10/net-usb-cdc_ether-use-wwan-interface-for-telit-modules.patch [new file with mode: 0644]
queue-3.10/pci-acpi-pm-clear-pme_poll-for-devices-in-d3cold-on-wakeup.patch [new file with mode: 0644]
queue-3.10/rt2800-fix-wrong-tx-power-compensation.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/bgmac-fix-internal-switch-initialization.patch b/queue-3.10/bgmac-fix-internal-switch-initialization.patch
new file mode 100644 (file)
index 0000000..d9ed8f7
--- /dev/null
@@ -0,0 +1,47 @@
+From 6a391e7bf26c04a6df5f77290e1146941d210d49 Mon Sep 17 00:00:00 2001
+From: Rafał Miłecki <zajec5@gmail.com>
+Date: Sun, 15 Sep 2013 00:22:47 +0200
+Subject: bgmac: fix internal switch initialization
+
+From: Rafał Miłecki <zajec5@gmail.com>
+
+commit 6a391e7bf26c04a6df5f77290e1146941d210d49 upstream.
+
+Some devices (BCM4749, BCM5357, BCM53572) have internal switch that
+requires initialization. We already have code for this, but because
+of the typo in code it was never working. This resulted in network not
+working for some routers and possibility of soft-bricking them.
+
+Use correct bit for switch initialization and fix typo in the define.
+
+Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/ethernet/broadcom/bgmac.c |    2 +-
+ drivers/net/ethernet/broadcom/bgmac.h |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -908,7 +908,7 @@ static void bgmac_chip_reset(struct bgma
+               struct bcma_drv_cc *cc = &bgmac->core->bus->drv_cc;
+               u8 et_swtype = 0;
+               u8 sw_type = BGMAC_CHIPCTL_1_SW_TYPE_EPHY |
+-                           BGMAC_CHIPCTL_1_IF_TYPE_RMII;
++                           BGMAC_CHIPCTL_1_IF_TYPE_MII;
+               char buf[2];
+               if (bcm47xx_nvram_getenv("et_swtype", buf, 1) > 0) {
+--- a/drivers/net/ethernet/broadcom/bgmac.h
++++ b/drivers/net/ethernet/broadcom/bgmac.h
+@@ -333,7 +333,7 @@
+ #define BGMAC_CHIPCTL_1_IF_TYPE_MASK          0x00000030
+ #define BGMAC_CHIPCTL_1_IF_TYPE_RMII          0x00000000
+-#define BGMAC_CHIPCTL_1_IF_TYPE_MI            0x00000010
++#define BGMAC_CHIPCTL_1_IF_TYPE_MII           0x00000010
+ #define BGMAC_CHIPCTL_1_IF_TYPE_RGMII         0x00000020
+ #define BGMAC_CHIPCTL_1_SW_TYPE_MASK          0x000000C0
+ #define BGMAC_CHIPCTL_1_SW_TYPE_EPHY          0x00000000
diff --git a/queue-3.10/cifs-fix-filp-leak-in-cifs_atomic_open.patch b/queue-3.10/cifs-fix-filp-leak-in-cifs_atomic_open.patch
new file mode 100644 (file)
index 0000000..e4e6cc1
--- /dev/null
@@ -0,0 +1,31 @@
+From dfb1d61b0e9f9e2c542e9adc8d970689f4114ff6 Mon Sep 17 00:00:00 2001
+From: Miklos Szeredi <mszeredi@suse.cz>
+Date: Mon, 16 Sep 2013 14:51:59 +0200
+Subject: cifs: fix filp leak in cifs_atomic_open()
+
+From: Miklos Szeredi <mszeredi@suse.cz>
+
+commit dfb1d61b0e9f9e2c542e9adc8d970689f4114ff6 upstream.
+
+If an error occurs after having called finish_open() then fput() needs to
+be called on the already opened file.
+
+Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
+Cc: Steve French <sfrench@samba.org>
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/cifs/dir.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/fs/cifs/dir.c
++++ b/fs/cifs/dir.c
+@@ -491,6 +491,7 @@ cifs_atomic_open(struct inode *inode, st
+               if (server->ops->close)
+                       server->ops->close(xid, tcon, &fid);
+               cifs_del_pending_open(&open);
++              fput(file);
+               rc = -ENOMEM;
+       }
diff --git a/queue-3.10/net-usb-cdc_ether-use-wwan-interface-for-telit-modules.patch b/queue-3.10/net-usb-cdc_ether-use-wwan-interface-for-telit-modules.patch
new file mode 100644 (file)
index 0000000..45700b8
--- /dev/null
@@ -0,0 +1,32 @@
+From 0092820407901a0b2c4e343e85f96bb7abfcded1 Mon Sep 17 00:00:00 2001
+From: Fabio Porcedda <fabio.porcedda@gmail.com>
+Date: Mon, 16 Sep 2013 11:47:50 +0200
+Subject: net: usb: cdc_ether: Use wwan interface for Telit modules
+
+From: Fabio Porcedda <fabio.porcedda@gmail.com>
+
+commit 0092820407901a0b2c4e343e85f96bb7abfcded1 upstream.
+
+Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
+Acked-by: Oliver Neukum <oliver@neukum.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/usb/cdc_ether.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/net/usb/cdc_ether.c
++++ b/drivers/net/usb/cdc_ether.c
+@@ -709,6 +709,11 @@ static const struct usb_device_id produc
+       .bInterfaceProtocol     = USB_CDC_PROTO_NONE,
+       .driver_info = (unsigned long)&wwan_info,
+ }, {
++      /* Telit modules */
++      USB_VENDOR_AND_INTERFACE_INFO(0x1bc7, USB_CLASS_COMM,
++                      USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
++      .driver_info = (kernel_ulong_t) &wwan_info,
++}, {
+       USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET,
+                       USB_CDC_PROTO_NONE),
+       .driver_info = (unsigned long) &cdc_info,
diff --git a/queue-3.10/pci-acpi-pm-clear-pme_poll-for-devices-in-d3cold-on-wakeup.patch b/queue-3.10/pci-acpi-pm-clear-pme_poll-for-devices-in-d3cold-on-wakeup.patch
new file mode 100644 (file)
index 0000000..a21caa0
--- /dev/null
@@ -0,0 +1,53 @@
+From 834145156bedadfb50121f0bc5e9d9f9f942bcca Mon Sep 17 00:00:00 2001
+From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
+Date: Sat, 14 Sep 2013 03:38:20 +0200
+Subject: PCI / ACPI / PM: Clear pme_poll for devices in D3cold on wakeup
+
+From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
+
+commit 834145156bedadfb50121f0bc5e9d9f9f942bcca upstream.
+
+Commit 448bd85 (PCI/PM: add PCIe runtime D3cold support) added a
+piece of code to pci_acpi_wake_dev() causing that function to behave
+in a special way for devices in D3cold (so that their configuration
+registers are not accessed before those devices are resumed).
+However, it didn't take the clearing of the pme_poll flag into
+account.  That has to be done for all devices, even if they are in
+D3cold, or pci_pme_list_scan() will not know that wakeup has been
+signaled for the device and will poll its PME Status bit
+unnecessarily.
+
+Fix the problem by moving the clearing of the pme_poll flag in
+pci_acpi_wake_dev() before the code introduced by commit 448bd85.
+
+Reported-and-tested-by: David E. Box <david.e.box@intel.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Acked-by: Bjorn Helgaas <bhelgaas@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pci/pci-acpi.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/pci/pci-acpi.c
++++ b/drivers/pci/pci-acpi.c
+@@ -47,6 +47,9 @@ static void pci_acpi_wake_dev(acpi_handl
+       if (event != ACPI_NOTIFY_DEVICE_WAKE || !pci_dev)
+               return;
++      if (pci_dev->pme_poll)
++              pci_dev->pme_poll = false;
++
+       if (pci_dev->current_state == PCI_D3cold) {
+               pci_wakeup_event(pci_dev);
+               pm_runtime_resume(&pci_dev->dev);
+@@ -57,9 +60,6 @@ static void pci_acpi_wake_dev(acpi_handl
+       if (pci_dev->pme_support)
+               pci_check_pme_status(pci_dev);
+-      if (pci_dev->pme_poll)
+-              pci_dev->pme_poll = false;
+-
+       pci_wakeup_event(pci_dev);
+       pm_runtime_resume(&pci_dev->dev);
diff --git a/queue-3.10/rt2800-fix-wrong-tx-power-compensation.patch b/queue-3.10/rt2800-fix-wrong-tx-power-compensation.patch
new file mode 100644 (file)
index 0000000..27d22ff
--- /dev/null
@@ -0,0 +1,43 @@
+From 6e956da2027c767859128b9bfef085cf2a8e233b Mon Sep 17 00:00:00 2001
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Date: Mon, 26 Aug 2013 15:18:53 +0200
+Subject: rt2800: fix wrong TX power compensation
+
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+
+commit 6e956da2027c767859128b9bfef085cf2a8e233b upstream.
+
+We should not do temperature compensation on devices without
+EXTERNAL_TX_ALC bit set (called DynamicTxAgcControl on vendor driver).
+Such devices can have totally bogus TSSI parameters on the EEPROM,
+but still threaded by us as valid and result doing wrong TX power
+calculations.
+
+This fix inability to connect to AP on slightly longer distance on
+some Ralink chips/devices.
+
+Reported-and-tested-by: Fabien ADAM <id2ndr@crocobox.org>
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/rt2x00/rt2800lib.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/net/wireless/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/rt2x00/rt2800lib.c
+@@ -2767,6 +2767,13 @@ static int rt2800_get_gain_calibration_d
+       int i;
+       /*
++       * First check if temperature compensation is supported.
++       */
++      rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1, &eeprom);
++      if (!rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_EXTERNAL_TX_ALC))
++              return 0;
++
++      /*
+        * Read TSSI boundaries for temperature compensation from
+        * the EEPROM.
+        *
index eede67a275910c53718700631f3a6c71359e0250..dea48112cc7189733798994fb3e2fd357afebe94 100644 (file)
@@ -1,2 +1,7 @@
 rt2x00-rt2800usb-add-usb-device-id-for-linksys-ae3000.patch
 wireless-rt2x00-rt2800usb-add-rt3573-devices.patch
+pci-acpi-pm-clear-pme_poll-for-devices-in-d3cold-on-wakeup.patch
+net-usb-cdc_ether-use-wwan-interface-for-telit-modules.patch
+cifs-fix-filp-leak-in-cifs_atomic_open.patch
+bgmac-fix-internal-switch-initialization.patch
+rt2800-fix-wrong-tx-power-compensation.patch