--- /dev/null
+From d3493114eccc62a0a74f183adaf1fbb58f3bfc38 Mon Sep 17 00:00:00 2001
+From: James Ralston <james.d.ralston@intel.com>
+Date: Thu, 9 Aug 2012 09:34:20 -0700
+Subject: ata_piix: Add Device IDs for Intel Lynx Point-LP PCH
+
+From: James Ralston <james.d.ralston@intel.com>
+
+commit 389cd784969e9148fedcde0608f15bd74d6b769e upstream.
+
+This patch adds the IDE-mode SATA Device IDs for the Intel Lynx Point-LP PCH
+
+Signed-off-by: James Ralston <james.d.ralston@intel.com>
+Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/ata/ata_piix.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/ata/ata_piix.c
++++ b/drivers/ata/ata_piix.c
+@@ -331,6 +331,14 @@ static const struct pci_device_id piix_p
+ { 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },
+ /* SATA Controller IDE (Lynx Point) */
+ { 0x8086, 0x8c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
++ /* SATA Controller IDE (Lynx Point-LP) */
++ { 0x8086, 0x9c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
++ /* SATA Controller IDE (Lynx Point-LP) */
++ { 0x8086, 0x9c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
++ /* SATA Controller IDE (Lynx Point-LP) */
++ { 0x8086, 0x9c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
++ /* SATA Controller IDE (Lynx Point-LP) */
++ { 0x8086, 0x9c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
+ /* SATA Controller IDE (DH89xxCC) */
+ { 0x8086, 0x2326, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
+ /* SATA Controller IDE (Avoton) */
--- /dev/null
+From 6ec37f6672820465afae0a1dee6d52b11248f7cd Mon Sep 17 00:00:00 2001
+From: Haojian Zhuang <haojian.zhuang@linaro.org>
+Date: Mon, 4 Feb 2013 14:28:54 -0800
+Subject: drivers/rtc/rtc-pl031.c: fix the missing operation on enable
+
+From: Haojian Zhuang <haojian.zhuang@linaro.org>
+
+commit e7e034e18a0ab6bafb2425c3242cac311164f4d6 upstream.
+
+The RTC control register should be enabled in the process of
+initializing.
+
+Without this patch, I failed to enable RTC in Hisilicon Hi3620 SoC. The
+register mapping section in RTC is always read as zero. So I doubt that
+ST guys may already enable this register in bootloader. So they won't
+meet this issue.
+
+Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
+Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
+Cc: Linus Walleij <linus.walleij@linaro.org>
+Cc: Alessandro Zummo <a.zummo@towertech.it>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+[bwh: Backported to 3.2: adjust context]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/rtc/rtc-pl031.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/rtc/rtc-pl031.c
++++ b/drivers/rtc/rtc-pl031.c
+@@ -44,6 +44,7 @@
+ #define RTC_YMR 0x34 /* Year match register */
+ #define RTC_YLR 0x38 /* Year data load register */
+
++#define RTC_CR_EN (1 << 0) /* counter enable bit */
+ #define RTC_CR_CWEN (1 << 26) /* Clockwatch enable bit */
+
+ #define RTC_TCR_EN (1 << 1) /* Periodic timer enable bit */
+@@ -312,7 +313,7 @@ static int pl031_probe(struct amba_devic
+ int ret;
+ struct pl031_local *ldata;
+ struct rtc_class_ops *ops = id->data;
+- unsigned long time;
++ unsigned long time, data;
+
+ ret = amba_request_regions(adev, NULL);
+ if (ret)
+@@ -339,10 +340,11 @@ static int pl031_probe(struct amba_devic
+ dev_dbg(&adev->dev, "designer ID = 0x%02x\n", ldata->hw_designer);
+ dev_dbg(&adev->dev, "revision = 0x%01x\n", ldata->hw_revision);
+
++ data = readl(ldata->base + RTC_CR);
+ /* Enable the clockwatch on ST Variants */
+ if (ldata->hw_designer == AMBA_VENDOR_ST)
+- writel(readl(ldata->base + RTC_CR) | RTC_CR_CWEN,
+- ldata->base + RTC_CR);
++ data |= RTC_CR_CWEN;
++ writel(data | RTC_CR_EN, ldata->base + RTC_CR);
+
+ /*
+ * On ST PL031 variants, the RTC reset value does not provide correct
--- /dev/null
+From 7366b52c44b46c073a4bf1285ca09ca6ce5d9b39 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Tue, 12 Feb 2013 13:46:19 -0800
+Subject: drivers/rtc/rtc-pl031.c: restore ST variant functionality
+
+From: Linus Walleij <linus.walleij@linaro.org>
+
+commit 3399cfb5df9594495b876d1843a7165f77366b2b upstream.
+
+Commit e7e034e18a0a ("drivers/rtc/rtc-pl031.c: fix the missing operation
+on enable") accidentally broke the ST variants of PL031.
+
+The bit that is being poked as "clockwatch" enable bit for the ST
+variants does the work of bit 0 on this variant. Bit 0 is used for a
+clock divider on the ST variants, and setting it to 1 will affect
+timekeeping in a very bad way.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
+Cc: Mian Yousaf KAUKAB <mian.yousaf.kaukab@stericsson.com>
+Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
+Cc: Alessandro Zummo <a.zummo@towertech.it>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/rtc/rtc-pl031.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/rtc/rtc-pl031.c
++++ b/drivers/rtc/rtc-pl031.c
+@@ -344,7 +344,9 @@ static int pl031_probe(struct amba_devic
+ /* Enable the clockwatch on ST Variants */
+ if (ldata->hw_designer == AMBA_VENDOR_ST)
+ data |= RTC_CR_CWEN;
+- writel(data | RTC_CR_EN, ldata->base + RTC_CR);
++ else
++ data |= RTC_CR_EN;
++ writel(data, ldata->base + RTC_CR);
+
+ /*
+ * On ST PL031 variants, the RTC reset value does not provide correct
--- /dev/null
+From e52ca26060bbe254ea3f8d7b31ecc998e085ec02 Mon Sep 17 00:00:00 2001
+From: Laxman Dewangan <ldewangan@nvidia.com>
+Date: Fri, 15 Mar 2013 05:34:08 +0000
+Subject: i2c: tegra: check the clk_prepare_enable() return value
+
+From: Laxman Dewangan <ldewangan@nvidia.com>
+
+commit 132c803f7b70b17322579f6f4f3f65cf68e55135 upstream.
+
+NVIDIA's Tegra SoC allows read/write of controller register only
+if controller clock is enabled. System hangs if read/write happens
+to registers without enabling clock.
+
+clk_prepare_enable() can be fail due to unknown reason and hence
+adding check for return value of this function. If this function
+success then only access register otherwise return to caller with
+error.
+
+Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
+Reviewed-by: Stephen Warren <swarren@nvidia.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+[bwh: Backported to 3.2:
+ - Adjust context
+ - Keep calling clk_enable() directly]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/i2c/busses/i2c-tegra.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+--- a/drivers/i2c/busses/i2c-tegra.c
++++ b/drivers/i2c/busses/i2c-tegra.c
+@@ -341,7 +341,11 @@ static int tegra_i2c_init(struct tegra_i
+ u32 val;
+ int err = 0;
+
+- clk_enable(i2c_dev->clk);
++ err = clk_enable(i2c_dev->clk);
++ if (err < 0) {
++ dev_err(i2c_dev->dev, "Clock enable failed %d\n", err);
++ return err;
++ }
+
+ tegra_periph_reset_assert(i2c_dev->clk);
+ udelay(2);
+@@ -543,7 +547,12 @@ static int tegra_i2c_xfer(struct i2c_ada
+ if (i2c_dev->is_suspended)
+ return -EBUSY;
+
+- clk_enable(i2c_dev->clk);
++ ret = clk_enable(i2c_dev->clk);
++ if (ret < 0) {
++ dev_err(i2c_dev->dev, "Clock enable failed %d\n", ret);
++ return ret;
++ }
++
+ for (i = 0; i < num; i++) {
+ int stop = (i == (num - 1)) ? 1 : 0;
+ ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], stop);
--- /dev/null
+From 8ebfe28181b02766ac41d9d841801c146e6161c1 Mon Sep 17 00:00:00 2001
+From: Jakub Kicinski <jakub.kicinski@intel.com>
+Date: Wed, 3 Apr 2013 16:50:54 +0000
+Subject: ixgbe: fix registration order of driver and DCA nofitication
+
+From: Jakub Kicinski <jakub.kicinski@intel.com>
+
+commit f01fc1a82c2ee68726b400fadb156bd623b5f2f1 upstream.
+
+ixgbe_notify_dca cannot be called before driver registration
+because it expects driver's klist_devices to be allocated and
+initialized. While on it make sure debugfs files are removed
+when registration fails.
+
+Signed-off-by: Jakub Kicinski <jakub.kicinski@intel.com>
+Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
+Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+[bwh: Backported to 3.2: no debugfs support]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
++++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+@@ -7464,12 +7464,15 @@ static int __init ixgbe_init_module(void
+ pr_info("%s - version %s\n", ixgbe_driver_string, ixgbe_driver_version);
+ pr_info("%s\n", ixgbe_copyright);
+
++ ret = pci_register_driver(&ixgbe_driver);
++ if (ret)
++ return ret;
++
+ #ifdef CONFIG_IXGBE_DCA
+ dca_register_notify(&dca_notifier);
+ #endif
+
+- ret = pci_register_driver(&ixgbe_driver);
+- return ret;
++ return 0;
+ }
+
+ module_init(ixgbe_init_module);
--- /dev/null
+From b2fd07f1a7d242f1f53711546cbd5f8fecba8891 Mon Sep 17 00:00:00 2001
+From: Maxim Mikityanskiy <maxtram95@gmail.com>
+Date: Sat, 15 Dec 2012 19:31:31 +0200
+Subject: msi-wmi: Fix memory leak
+
+From: Maxim Mikityanskiy <maxtram95@gmail.com>
+
+commit 51c94491c82c3d9029f6e87a1a153db321d88e35 upstream.
+
+Fix memory leak - don't forget to kfree ACPI object when returning from
+msi_wmi_notify() after suppressing key event.
+
+Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
+Acked-by: Anisse Astier <anisse@astier.eu>
+Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
+Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/msi-wmi.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/msi-wmi.c
++++ b/drivers/platform/x86/msi-wmi.c
+@@ -176,7 +176,7 @@ static void msi_wmi_notify(u32 value, vo
+ pr_debug("Suppressed key event 0x%X - "
+ "Last press was %lld us ago\n",
+ key->code, ktime_to_us(diff));
+- return;
++ goto msi_wmi_notify_exit;
+ }
+ last_pressed[key->code - SCANCODE_BASE] = cur;
+
+@@ -195,6 +195,8 @@ static void msi_wmi_notify(u32 value, vo
+ pr_info("Unknown key pressed - %x\n", eventcode);
+ } else
+ pr_info("Unknown event received\n");
++
++msi_wmi_notify_exit:
+ kfree(response.pointer);
+ }
+
--- /dev/null
+From c1bfba08b91429f57ee1184e52a607b7ec1739e4 Mon Sep 17 00:00:00 2001
+From: Jiri Kosina <jkosina@suse.cz>
+Date: Fri, 24 May 2013 15:55:33 -0700
+Subject: random: fix accounting race condition with lockless irq entropy_count update
+
+From: Jiri Kosina <jkosina@suse.cz>
+
+commit 10b3a32d292c21ea5b3ad5ca5975e88bb20b8d68 upstream.
+
+Commit 902c098a3663 ("random: use lockless techniques in the interrupt
+path") turned IRQ path from being spinlock protected into lockless
+cmpxchg-retry update.
+
+That commit removed r->lock serialization between crediting entropy bits
+from IRQ context and accounting when extracting entropy on userspace
+read path, but didn't turn the r->entropy_count reads/updates in
+account() to use cmpxchg as well.
+
+It has been observed, that under certain circumstances this leads to
+read() on /dev/urandom to return 0 (EOF), as r->entropy_count gets
+corrupted and becomes negative, which in turn results in propagating 0
+all the way from account() to the actual read() call.
+
+Convert the accounting code to be the proper lockless counterpart of
+what has been partially done by 902c098a3663.
+
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Cc: Theodore Ts'o <tytso@mit.edu>
+Cc: Greg KH <greg@kroah.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+[bwh: Backported to 3.2: adjust context]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/char/random.c | 22 +++++++++++++++-------
+ 1 file changed, 15 insertions(+), 7 deletions(-)
+
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
+@@ -867,16 +867,24 @@ static size_t account(struct entropy_sto
+ if (r->entropy_count / 8 < min + reserved) {
+ nbytes = 0;
+ } else {
++ int entropy_count, orig;
++retry:
++ entropy_count = orig = ACCESS_ONCE(r->entropy_count);
+ /* If limited, never pull more than available */
+- if (r->limit && nbytes + reserved >= r->entropy_count / 8)
+- nbytes = r->entropy_count/8 - reserved;
++ if (r->limit && nbytes + reserved >= entropy_count / 8)
++ nbytes = entropy_count/8 - reserved;
+
+- if (r->entropy_count / 8 >= nbytes + reserved)
+- r->entropy_count -= nbytes*8;
+- else
+- r->entropy_count = reserved;
++ if (entropy_count / 8 >= nbytes + reserved) {
++ entropy_count -= nbytes*8;
++ if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig)
++ goto retry;
++ } else {
++ entropy_count = reserved;
++ if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig)
++ goto retry;
++ }
+
+- if (r->entropy_count < random_write_wakeup_thresh) {
++ if (entropy_count < random_write_wakeup_thresh) {
+ wake_up_interruptible(&random_write_wait);
+ kill_fasync(&fasync, SIGIO, POLL_OUT);
+ }
--- /dev/null
+From 1619f441963ea57fa1082d046da867acfcd4d099 Mon Sep 17 00:00:00 2001
+From: Alexandre Bounine <alexandre.bounine@idt.com>
+Date: Fri, 24 May 2013 15:55:17 -0700
+Subject: rapidio/tsi721: fix bug in MSI interrupt handling
+
+From: Alexandre Bounine <alexandre.bounine@idt.com>
+
+commit 1ccc819da6fda9bee10ab8b72e9adbb5ad3e4959 upstream.
+
+Fix bug in MSI interrupt handling which causes loss of event
+notifications.
+
+Typical indication of lost MSI interrupts are stalled message and
+doorbell transfers between RapidIO endpoints. To avoid loss of MSI
+interrupts all interrupts from the device must be disabled on entering
+the interrupt handler routine and re-enabled when exiting it.
+Re-enabling device interrupts will trigger new MSI message(s) if Tsi721
+registered new events since entering interrupt handler routine.
+
+This patch is applicable to kernel versions starting from v3.2.
+
+Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
+Cc: Matt Porter <mporter@kernel.crashing.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+[bwh: Backported to 3.2: adjust context]
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/rapidio/devices/tsi721.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/drivers/rapidio/devices/tsi721.c
++++ b/drivers/rapidio/devices/tsi721.c
+@@ -475,6 +475,10 @@ static irqreturn_t tsi721_irqhandler(int
+ u32 intval;
+ u32 ch_inte;
+
++ /* For MSI mode disable all device-level interrupts */
++ if (priv->flags & TSI721_USING_MSI)
++ iowrite32(0, priv->regs + TSI721_DEV_INTE);
++
+ dev_int = ioread32(priv->regs + TSI721_DEV_INT);
+ if (!dev_int)
+ return IRQ_NONE;
+@@ -548,6 +552,13 @@ static irqreturn_t tsi721_irqhandler(int
+ tsi721_pw_handler(mport);
+ }
+
++ /* For MSI mode re-enable device-level interrupts */
++ if (priv->flags & TSI721_USING_MSI) {
++ dev_int = TSI721_DEV_INT_SR2PC_CH | TSI721_DEV_INT_SRIO |
++ TSI721_DEV_INT_SMSG_CH | TSI721_DEV_INT_BDMA_CH;
++ iowrite32(dev_int, priv->regs + TSI721_DEV_INTE);
++ }
++
+ return IRQ_HANDLED;
+ }
+
--- /dev/null
+From 94e0104bca7d6927e85119030b8e6e31fde88a7a Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sun, 2 Jun 2013 03:34:36 +0100
+Subject: rapidio/tsi721: Fix interrupt mask when handling MSI
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 94e0104bca7d6927e85119030b8e6e31fde88a7a upstream.
+
+Commit 1619f441963e 'rapidio/tsi721: fix bug in MSI interrupt
+handling' (commit 1ccc819da6fd upstream) makes the MSI handler disable
+and re-enable interrupts. When re-enabling interrupts, we should set
+the same flags as were originally set, but this changed in Linux 3.5 so
+the flags are now inconsistent in 3.2. In fact, the extra flag isn't
+even defined in 3.2. Remove the extra flag from the MSI handler.
+
+Reported-by: Steve Conklin <steve.conklin@canonical.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/rapidio/devices/tsi721.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/rapidio/devices/tsi721.c
++++ b/drivers/rapidio/devices/tsi721.c
+@@ -555,7 +555,7 @@ static irqreturn_t tsi721_irqhandler(int
+ /* For MSI mode re-enable device-level interrupts */
+ if (priv->flags & TSI721_USING_MSI) {
+ dev_int = TSI721_DEV_INT_SR2PC_CH | TSI721_DEV_INT_SRIO |
+- TSI721_DEV_INT_SMSG_CH | TSI721_DEV_INT_BDMA_CH;
++ TSI721_DEV_INT_SMSG_CH;
+ iowrite32(dev_int, priv->regs + TSI721_DEV_INTE);
+ }
+
--- /dev/null
+From 31317e96c36a1d45bf6618a8f02839c924d2bcaf Mon Sep 17 00:00:00 2001
+From: Maia Kozheva <sikon@ubuntu.com>
+Date: Sun, 9 Dec 2012 16:07:40 +0700
+Subject: rt2800usb: Add support for 2001:3c1e (D-Link DWA-125 rev B1) USB Wi-Fi adapter
+
+From: Maia Kozheva <sikon@ubuntu.com>
+
+commit fd7b9270120ca7e53fbf0469febe0c68acf6a0a2 upstream.
+
+D-Link DWA-125/B1 is a relatively new USB Wi-Fi adapter, using a
+Ralink chipset supported by the rt2800usb driver. Currently, to work
+around the problem (it's missing in all present kernel versions,
+up to and including 3.7.x), I had to add this to /etc/rc.local:
+
+echo 2001 3c1e >> /sys/bus/usb/drivers/rt2800usb/new_id
+
+After that, the device works without problems. Been using it for over
+a week with no bugs in sight.
+
+The attached patch is trivial and simply adds the new USB ID to the
+list of devices handled by rt2800usb.
+
+Signed-off-by: Maia Kozheva <sikon@ubuntu.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/rt2x00/rt2800usb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/wireless/rt2x00/rt2800usb.c
++++ b/drivers/net/wireless/rt2x00/rt2800usb.c
+@@ -1009,6 +1009,7 @@ static struct usb_device_id rt2800usb_de
+ { USB_DEVICE(0x07d1, 0x3c15) },
+ { USB_DEVICE(0x07d1, 0x3c16) },
+ { USB_DEVICE(0x2001, 0x3c1b) },
++ { USB_DEVICE(0x2001, 0x3c1e) },
+ /* Draytek */
+ { USB_DEVICE(0x07fa, 0x7712) },
+ /* DVICO */
drm-ttm-fix-memory-type-compatibility-check.patch
drm-radeon-fix-hdmi-mode-enable-on-rs600-rs690-rs740.patch
drm-radeon-always-program-the-mc-on-startup.patch
+drivers-rtc-rtc-pl031.c-fix-the-missing-operation-on-enable.patch
+wireless-rt2x00-rt-2500-73-usb.c-put-back-duplicate-id.patch
+wireless-rt2x00-add-device-id-for-sweex-lw323-to-rt2800usb.c.patch
+rt2800usb-add-support-for-2001-3c1e-d-link-dwa-125-rev-b1-usb-wi-fi-adapter.patch
+drivers-rtc-rtc-pl031.c-restore-st-variant-functionality.patch
+ata_piix-add-device-ids-for-intel-lynx-point-lp-pch.patch
+speakup-lower-default-software-speech-rate.patch
+i2c-tegra-check-the-clk_prepare_enable-return-value.patch
+ixgbe-fix-registration-order-of-driver-and-dca-nofitication.patch
+msi-wmi-fix-memory-leak.patch
+rapidio-tsi721-fix-bug-in-msi-interrupt-handling.patch
+rapidio-tsi721-fix-interrupt-mask-when-handling-msi.patch
+random-fix-accounting-race-condition-with-lockless-irq-entropy_count-update.patch
--- /dev/null
+From 6f06c8d13890b34a9de8760e7c0dc76291fdf682 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Sun, 26 Aug 2012 23:35:17 +0200
+Subject: speakup: lower default software speech rate
+
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+commit cfd757010691eae4e17acc246f74e7622c3a2f05 upstream.
+
+Speech synthesis beginners need a low speech rate, and trained people
+want a high speech rate. A medium speech rate is thus actually not a
+good default for neither. Since trained people will typically know how
+to change the rate, better default for a low speech rate, which
+beginners can grasp and learn how to increase it afterwards
+
+This was agreed with users on the speakup mailing list.
+
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/speakup/speakup_soft.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/speakup/speakup_soft.c
++++ b/drivers/staging/speakup/speakup_soft.c
+@@ -46,7 +46,7 @@ static int misc_registered;
+ static struct var_t vars[] = {
+ { CAPS_START, .u.s = {"\x01+3p" } },
+ { CAPS_STOP, .u.s = {"\x01-3p" } },
+- { RATE, .u.n = {"\x01%ds", 5, 0, 9, 0, 0, NULL } },
++ { RATE, .u.n = {"\x01%ds", 2, 0, 9, 0, 0, NULL } },
+ { PITCH, .u.n = {"\x01%dp", 5, 0, 9, 0, 0, NULL } },
+ { VOL, .u.n = {"\x01%dv", 5, 0, 9, 0, 0, NULL } },
+ { TONE, .u.n = {"\x01%dx", 1, 0, 2, 0, 0, NULL } },
--- /dev/null
+From 8d675985b73d797b21e945979c473613690916cd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jaume=20Delcl=C3=B2s?= <jaume@delclos.com>
+Date: Fri, 2 Nov 2012 23:35:20 +0100
+Subject: Wireless: rt2x00: Add device id for Sweex LW323 to rt2800usb.c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Jaume=20Delcl=C3=B2s?= <jaume@delclos.com>
+
+commit 36f318bb124b231c01db6965a009f46d5731f012 upstream.
+
+This patch adds detection for the Sweex LW323 USB wireless network card
+in the rt2x00 driver (just one line in rt2800usb.c).
+It applies to linux-3.7-rc3.
+
+Signed-off-by: Jaume Delclòs <jaume@delclos.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/rt2x00/rt2800usb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/wireless/rt2x00/rt2800usb.c
++++ b/drivers/net/wireless/rt2x00/rt2800usb.c
+@@ -1140,6 +1140,7 @@ static struct usb_device_id rt2800usb_de
+ { USB_DEVICE(0x177f, 0x0153) },
+ { USB_DEVICE(0x177f, 0x0302) },
+ { USB_DEVICE(0x177f, 0x0313) },
++ { USB_DEVICE(0x177f, 0x0323) },
+ /* U-Media */
+ { USB_DEVICE(0x157e, 0x300e) },
+ { USB_DEVICE(0x157e, 0x3013) },
--- /dev/null
+From 647adb462006c503a7e9f5756685fb9a1f6b1334 Mon Sep 17 00:00:00 2001
+From: Xose Vazquez Perez <xose.vazquez@gmail.com>
+Date: Sat, 14 Apr 2012 23:00:01 +0200
+Subject: wireless: rt2x00: rt{2500,73}usb.c put back duplicate id
+
+From: Xose Vazquez Perez <xose.vazquez@gmail.com>
+
+commit 8f35f787b75e9b6435ea37dabcae2d40dc72d31c upstream.
+
+put back 0x050d,0x7050 to rt73usb, same usb_id for two chips:
+
+K7SF5D7050A ver 2xxx is rt2500
+K7SF5D7050B ver 3xxx is rt73
+
+<http://en-us-support.belkin.com/app/answers/detail/a_id/297/kw/K7SF5D7050>
+
+Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Qiang Huang <h.huangqiang@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/rt2x00/rt2500usb.c | 2 +-
+ drivers/net/wireless/rt2x00/rt73usb.c | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/rt2x00/rt2500usb.c
++++ b/drivers/net/wireless/rt2x00/rt2500usb.c
+@@ -1921,7 +1921,7 @@ static struct usb_device_id rt2500usb_de
+ { USB_DEVICE(0x0b05, 0x1706) },
+ { USB_DEVICE(0x0b05, 0x1707) },
+ /* Belkin */
+- { USB_DEVICE(0x050d, 0x7050) },
++ { USB_DEVICE(0x050d, 0x7050) }, /* FCC ID: K7SF5D7050A ver. 2.x */
+ { USB_DEVICE(0x050d, 0x7051) },
+ /* Cisco Systems */
+ { USB_DEVICE(0x13b1, 0x000d) },
+--- a/drivers/net/wireless/rt2x00/rt73usb.c
++++ b/drivers/net/wireless/rt2x00/rt73usb.c
+@@ -2422,6 +2422,7 @@ static struct usb_device_id rt73usb_devi
+ { USB_DEVICE(0x0b05, 0x1723) },
+ { USB_DEVICE(0x0b05, 0x1724) },
+ /* Belkin */
++ { USB_DEVICE(0x050d, 0x7050) }, /* FCC ID: K7SF5D7050B ver. 3.x */
+ { USB_DEVICE(0x050d, 0x705a) },
+ { USB_DEVICE(0x050d, 0x905b) },
+ { USB_DEVICE(0x050d, 0x905c) },