--- /dev/null
+From f10491fff07dcced77f8ab1b3bc1f8e18715bfb9 Mon Sep 17 00:00:00 2001
+From: Douglas Gilbert <dgilbert@interlog.com>
+Date: Thu, 4 Apr 2013 18:19:55 +0200
+Subject: ARM: at91/at91sam9260.dtsi: fix u(s)art pinctrl encoding
+
+From: Douglas Gilbert <dgilbert@interlog.com>
+
+commit f10491fff07dcced77f8ab1b3bc1f8e18715bfb9 upstream.
+
+Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
+[nicolas.ferre@atmel.com: fix rts/cts for usart3]
+Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/at91sam9260.dtsi | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+--- a/arch/arm/boot/dts/at91sam9260.dtsi
++++ b/arch/arm/boot/dts/at91sam9260.dtsi
+@@ -158,8 +158,8 @@
+ usart1 {
+ pinctrl_usart1: usart1-0 {
+ atmel,pins =
+- <2 6 0x1 0x1 /* PB6 periph A with pullup */
+- 2 7 0x1 0x0>; /* PB7 periph A */
++ <1 6 0x1 0x1 /* PB6 periph A with pullup */
++ 1 7 0x1 0x0>; /* PB7 periph A */
+ };
+
+ pinctrl_usart1_rts: usart1_rts-0 {
+@@ -194,18 +194,18 @@
+ usart3 {
+ pinctrl_usart3: usart3-0 {
+ atmel,pins =
+- <2 10 0x1 0x1 /* PB10 periph A with pullup */
+- 2 11 0x1 0x0>; /* PB11 periph A */
++ <1 10 0x1 0x1 /* PB10 periph A with pullup */
++ 1 11 0x1 0x0>; /* PB11 periph A */
+ };
+
+ pinctrl_usart3_rts: usart3_rts-0 {
+ atmel,pins =
+- <3 8 0x2 0x0>; /* PB8 periph B */
++ <2 8 0x2 0x0>; /* PC8 periph B */
+ };
+
+ pinctrl_usart3_cts: usart3_cts-0 {
+ atmel,pins =
+- <3 10 0x2 0x0>; /* PB10 periph B */
++ <2 10 0x2 0x0>; /* PC10 periph B */
+ };
+ };
+
+@@ -220,8 +220,8 @@
+ uart1 {
+ pinctrl_uart1: uart1-0 {
+ atmel,pins =
+- <2 12 0x1 0x1 /* PB12 periph A with pullup */
+- 2 13 0x1 0x0>; /* PB13 periph A */
++ <1 12 0x1 0x1 /* PB12 periph A with pullup */
++ 1 13 0x1 0x0>; /* PB13 periph A */
+ };
+ };
+
--- /dev/null
+From e7619459d47a673af3433208a42f583af920e9db Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+Date: Sat, 23 Mar 2013 10:58:57 +0100
+Subject: ARM: at91: Fix typo in restart code panic message
+
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+
+commit e7619459d47a673af3433208a42f583af920e9db upstream.
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-at91/setup.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/mach-at91/setup.c
++++ b/arch/arm/mach-at91/setup.c
+@@ -333,7 +333,7 @@ static void at91_dt_rstc(void)
+
+ of_id = of_match_node(rstc_ids, np);
+ if (!of_id)
+- panic("AT91: rtsc no restart function availlable\n");
++ panic("AT91: rtsc no restart function available\n");
+
+ arm_pm_restart = of_id->data;
+
--- /dev/null
+From b090e5f68c0353534880b95ea0df56b8c0230b8c Mon Sep 17 00:00:00 2001
+From: Nicolas Ferre <nicolas.ferre@atmel.com>
+Date: Fri, 22 Mar 2013 12:32:09 +0100
+Subject: ARM: at91: remove partial parameter in bootargs for
+ at91sam9x5ek.dtsi
+
+From: Nicolas Ferre <nicolas.ferre@atmel.com>
+
+commit b090e5f68c0353534880b95ea0df56b8c0230b8c upstream.
+
+Remove the malformed "mem=" bootargs parameter in at91sam9x5ek.dtsi
+
+Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/at91sam9x5ek.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi
++++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi
+@@ -13,7 +13,7 @@
+ compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
+
+ chosen {
+- bootargs = "128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
++ bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
+ };
+
+ ahb {
--- /dev/null
+From 88fcb59a06556bf10eac97d7abb913cccea2c830 Mon Sep 17 00:00:00 2001
+From: Nicolas Ferre <nicolas.ferre@atmel.com>
+Date: Wed, 20 Feb 2013 17:32:20 +0100
+Subject: ARM: at91/trivial: fix model name for SAM9G15-EK
+
+From: Nicolas Ferre <nicolas.ferre@atmel.com>
+
+commit 88fcb59a06556bf10eac97d7abb913cccea2c830 upstream.
+
+Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/at91sam9g15ek.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/at91sam9g15ek.dts
++++ b/arch/arm/boot/dts/at91sam9g15ek.dts
+@@ -11,6 +11,6 @@
+ /include/ "at91sam9x5ek.dtsi"
+
+ / {
+- model = "Atmel AT91SAM9G25-EK";
++ model = "Atmel AT91SAM9G15-EK";
+ compatible = "atmel,at91sam9g15ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
+ };
--- /dev/null
+From 2a5a461f179509142c661d79f878855798b85201 Mon Sep 17 00:00:00 2001
+From: Nicolas Ferre <nicolas.ferre@atmel.com>
+Date: Thu, 21 Mar 2013 18:01:42 +0100
+Subject: ARM: at91/trivial: typos in compatible property
+
+From: Nicolas Ferre <nicolas.ferre@atmel.com>
+
+commit 2a5a461f179509142c661d79f878855798b85201 upstream.
+
+- unneeded whitespace
+- missing double quote
+
+Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/at91sam9g15.dtsi | 2 +-
+ arch/arm/boot/dts/at91sam9g25.dtsi | 2 +-
+ arch/arm/boot/dts/at91sam9g35.dtsi | 2 +-
+ arch/arm/boot/dts/at91sam9x25.dtsi | 2 +-
+ arch/arm/boot/dts/at91sam9x35.dtsi | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/at91sam9g15.dtsi
++++ b/arch/arm/boot/dts/at91sam9g15.dtsi
+@@ -10,7 +10,7 @@
+
+ / {
+ model = "Atmel AT91SAM9G15 SoC";
+- compatible = "atmel, at91sam9g15, atmel,at91sam9x5";
++ compatible = "atmel,at91sam9g15", "atmel,at91sam9x5";
+
+ ahb {
+ apb {
+--- a/arch/arm/boot/dts/at91sam9g25.dtsi
++++ b/arch/arm/boot/dts/at91sam9g25.dtsi
+@@ -10,7 +10,7 @@
+
+ / {
+ model = "Atmel AT91SAM9G25 SoC";
+- compatible = "atmel, at91sam9g25, atmel,at91sam9x5";
++ compatible = "atmel,at91sam9g25", "atmel,at91sam9x5";
+
+ ahb {
+ apb {
+--- a/arch/arm/boot/dts/at91sam9g35.dtsi
++++ b/arch/arm/boot/dts/at91sam9g35.dtsi
+@@ -10,7 +10,7 @@
+
+ / {
+ model = "Atmel AT91SAM9G35 SoC";
+- compatible = "atmel, at91sam9g35, atmel,at91sam9x5";
++ compatible = "atmel,at91sam9g35", "atmel,at91sam9x5";
+
+ ahb {
+ apb {
+--- a/arch/arm/boot/dts/at91sam9x25.dtsi
++++ b/arch/arm/boot/dts/at91sam9x25.dtsi
+@@ -10,7 +10,7 @@
+
+ / {
+ model = "Atmel AT91SAM9X25 SoC";
+- compatible = "atmel, at91sam9x25, atmel,at91sam9x5";
++ compatible = "atmel,at91sam9x25", "atmel,at91sam9x5";
+
+ ahb {
+ apb {
+--- a/arch/arm/boot/dts/at91sam9x35.dtsi
++++ b/arch/arm/boot/dts/at91sam9x35.dtsi
+@@ -10,7 +10,7 @@
+
+ / {
+ model = "Atmel AT91SAM9X35 SoC";
+- compatible = "atmel, at91sam9x35, atmel,at91sam9x5";
++ compatible = "atmel,at91sam9x35", "atmel,at91sam9x5";
+
+ ahb {
+ apb {
--- /dev/null
+From 0d97558901c446a989de202a5d9ae94ec53644e5 Mon Sep 17 00:00:00 2001
+From: Daniel Lezcano <daniel.lezcano@linaro.org>
+Date: Fri, 29 Mar 2013 11:31:35 +0100
+Subject: ARM: omap3: cpuidle: enable time keeping
+
+From: Daniel Lezcano <daniel.lezcano@linaro.org>
+
+commit 0d97558901c446a989de202a5d9ae94ec53644e5 upstream.
+
+The TIME_VALID flag is specified for the different states but
+the time residency computation is not done, no tk flag, no time
+computation in the idle function.
+
+Set the en_core_tk_irqen flag to activate it.
+
+Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
+Signed-off-by: Kevin Hilman <khilman@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-omap2/cpuidle34xx.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-omap2/cpuidle34xx.c
++++ b/arch/arm/mach-omap2/cpuidle34xx.c
+@@ -265,8 +265,9 @@ static int omap3_enter_idle_bm(struct cp
+ static DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev);
+
+ static struct cpuidle_driver omap3_idle_driver = {
+- .name = "omap3_idle",
+- .owner = THIS_MODULE,
++ .name = "omap3_idle",
++ .owner = THIS_MODULE,
++ .en_core_tk_irqen = 1,
+ .states = {
+ {
+ .enter = omap3_enter_idle_bm,
--- /dev/null
+From 0259d9eb30d003af305626db2d8332805696e60d Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Fri, 26 Apr 2013 15:29:55 +0200
+Subject: ARM: u300: fix ages old copy/paste bug
+
+From: Linus Walleij <linus.walleij@linaro.org>
+
+commit 0259d9eb30d003af305626db2d8332805696e60d upstream.
+
+The UART1 is on the fast AHB bridge, not on the slow bus.
+
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Olof Johansson <olof@lixom.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-u300/include/mach/u300-regs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/mach-u300/include/mach/u300-regs.h
++++ b/arch/arm/mach-u300/include/mach/u300-regs.h
+@@ -95,7 +95,7 @@
+ #define U300_SPI_BASE (U300_FAST_PER_PHYS_BASE+0x6000)
+
+ /* Fast UART1 on U335 only */
+-#define U300_UART1_BASE (U300_SLOW_PER_PHYS_BASE+0x7000)
++#define U300_UART1_BASE (U300_FAST_PER_PHYS_BASE+0x7000)
+
+ /*
+ * SLOW peripherals
--- /dev/null
+From 63b77bf489881747c5118476918cc8c29378ee63 Mon Sep 17 00:00:00 2001
+From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Date: Wed, 17 Apr 2013 09:47:00 +0300
+Subject: iwlwifi: dvm: don't send zeroed LQ cmd
+
+From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+
+commit 63b77bf489881747c5118476918cc8c29378ee63 upstream.
+
+When the stations are being restored because of unassoc
+RXON, the LQ cmd may not have been initialized because it
+is initialized only after association.
+Sending zeroed LQ_CMD makes the fw unhappy: it raises
+SYSASSERT_2078.
+
+Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Reviewed-by: Johannes Berg <johannes.berg@intel.com>
+[move zero_lq and make static const]
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/iwlwifi/dvm/sta.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/iwlwifi/dvm/sta.c
++++ b/drivers/net/wireless/iwlwifi/dvm/sta.c
+@@ -707,6 +707,7 @@ void iwl_clear_ucode_stations(struct iwl
+ void iwl_restore_stations(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
+ {
+ struct iwl_addsta_cmd sta_cmd;
++ static const struct iwl_link_quality_cmd zero_lq = {};
+ struct iwl_link_quality_cmd lq;
+ int i;
+ bool found = false;
+@@ -745,7 +746,9 @@ void iwl_restore_stations(struct iwl_pri
+ else
+ memcpy(&lq, priv->stations[i].lq,
+ sizeof(struct iwl_link_quality_cmd));
+- send_lq = true;
++
++ if (!memcmp(&lq, &zero_lq, sizeof(lq)))
++ send_lq = true;
+ }
+ spin_unlock_bh(&priv->sta_lock);
+ ret = iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC);
--- /dev/null
+From 3309ccf7fcebceef540ebe90c65d2f94d745a45b Mon Sep 17 00:00:00 2001
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Date: Tue, 16 Apr 2013 15:38:29 +0200
+Subject: iwlwifi: fix freeing uninitialized pointer
+
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+
+commit 3309ccf7fcebceef540ebe90c65d2f94d745a45b upstream.
+
+If on iwl_dump_nic_event_log() error occurs before that function
+initialize buf, we process uninitiated pointer in
+iwl_dbgfs_log_event_read() and can hit "BUG at mm/slub.c:3409"
+
+Resolves:
+https://bugzilla.redhat.com/show_bug.cgi?id=951241
+
+Reported-by: ian.odette@eprize.com
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/iwlwifi/dvm/debugfs.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+--- a/drivers/net/wireless/iwlwifi/dvm/debugfs.c
++++ b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
+@@ -2237,15 +2237,15 @@ static ssize_t iwl_dbgfs_log_event_read(
+ size_t count, loff_t *ppos)
+ {
+ struct iwl_priv *priv = file->private_data;
+- char *buf;
+- int pos = 0;
+- ssize_t ret = -ENOMEM;
++ char *buf = NULL;
++ ssize_t ret;
+
+- ret = pos = iwl_dump_nic_event_log(priv, true, &buf, true);
+- if (buf) {
+- ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
+- kfree(buf);
+- }
++ ret = iwl_dump_nic_event_log(priv, true, &buf, true);
++ if (ret < 0)
++ goto err;
++ ret = simple_read_from_buffer(user_buf, count, ppos, buf, ret);
++err:
++ kfree(buf);
+ return ret;
+ }
+
--- /dev/null
+From b20d34c458bc2bbd0a4624f2933581e01e72d875 Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Wed, 17 Apr 2013 11:26:40 +0200
+Subject: mac80211: fix station entry leak/warning while suspending
+
+From: Johannes Berg <johannes.berg@intel.com>
+
+commit b20d34c458bc2bbd0a4624f2933581e01e72d875 upstream.
+
+Since Stanislaw's patches, when suspending while connected,
+cfg80211 will disconnect. This causes the AP station to be
+removed, which uses call_rcu() to clean up. Due to needing
+process context, this queues a work struct on the mac80211
+workqueue. This will warn and fail when already suspended,
+which can happen if the rcu call doesn't happen quickly.
+
+To fix this, replace the synchronize_net() which is really
+just synchronize_rcu_expedited() with rcu_barrier(), which
+unlike synchronize_rcu() waits until RCU callback have run
+and thus avoids this issue.
+
+In theory, this can even happen without Stanislaw's change
+to disconnect on suspend since userspace might disconnect
+just before suspending, though then it's unlikely that the
+call_rcu() will be delayed long enough.
+
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/mac80211/pm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/net/mac80211/pm.c
++++ b/net/mac80211/pm.c
+@@ -52,8 +52,8 @@ int __ieee80211_suspend(struct ieee80211
+ ieee80211_stop_queues_by_reason(hw,
+ IEEE80211_QUEUE_STOP_REASON_SUSPEND);
+
+- /* flush out all packets */
+- synchronize_net();
++ /* flush out all packets and station cleanup call_rcu()s */
++ rcu_barrier();
+
+ drv_flush(local, false);
+
--- /dev/null
+From 5b0d9b218b74042ff72bf4bfda6eeb2e4bf98397 Mon Sep 17 00:00:00 2001
+From: Yogesh Ashok Powar <yogeshp@marvell.com>
+Date: Tue, 23 Apr 2013 16:49:48 -0700
+Subject: mwifiex: Call pci_release_region after calling pci_disable_device
+
+From: Yogesh Ashok Powar <yogeshp@marvell.com>
+
+commit 5b0d9b218b74042ff72bf4bfda6eeb2e4bf98397 upstream.
+
+"drivers should call pci_release_region() AFTER
+calling pci_disable_device()"
+
+Please refer section 3.2 Request MMIO/IOP resources
+in Documentation/PCI/pci.txt
+
+Signed-off-by: Avinash Patil <patila@marvell.com>
+Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
+Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
+Signed-off-by: Bing Zhao <bzhao@marvell.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/mwifiex/pcie.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/mwifiex/pcie.c
++++ b/drivers/net/wireless/mwifiex/pcie.c
+@@ -1831,9 +1831,9 @@ static void mwifiex_pcie_cleanup(struct
+ if (pdev) {
+ pci_iounmap(pdev, card->pci_mmap);
+ pci_iounmap(pdev, card->pci_mmap1);
++ pci_disable_device(pdev);
+ pci_release_region(pdev, 2);
+ pci_release_region(pdev, 0);
+- pci_disable_device(pdev);
+ pci_set_drvdata(pdev, NULL);
+ }
+ }
--- /dev/null
+From c380aafb77b7435d010698fe3ca6d3e1cd745fde Mon Sep 17 00:00:00 2001
+From: Yogesh Ashok Powar <yogeshp@marvell.com>
+Date: Tue, 23 Apr 2013 16:49:47 -0700
+Subject: mwifiex: Use pci_release_region() instead of a pci_release_regions()
+
+From: Yogesh Ashok Powar <yogeshp@marvell.com>
+
+commit c380aafb77b7435d010698fe3ca6d3e1cd745fde upstream.
+
+PCI regions are associated with the device using
+pci_request_region() call. Hence use pci_release_region()
+instead of pci_release_regions().
+
+Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
+Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
+Signed-off-by: Avinash Patil <patila@marvell.com>
+Signed-off-by: Bing Zhao <bzhao@marvell.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/mwifiex/pcie.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/wireless/mwifiex/pcie.c
++++ b/drivers/net/wireless/mwifiex/pcie.c
+@@ -1831,8 +1831,8 @@ static void mwifiex_pcie_cleanup(struct
+ if (pdev) {
+ pci_iounmap(pdev, card->pci_mmap);
+ pci_iounmap(pdev, card->pci_mmap1);
+-
+- pci_release_regions(pdev);
++ pci_release_region(pdev, 2);
++ pci_release_region(pdev, 0);
+ pci_disable_device(pdev);
+ pci_set_drvdata(pdev, NULL);
+ }
--- /dev/null
+From 29ce3c5073057991217916abc25628e906911757 Mon Sep 17 00:00:00 2001
+From: Michael Neuling <michael.neuling@au1.ibm.com>
+Date: Wed, 24 Apr 2013 00:30:09 +0000
+Subject: powerpc: Add isync to copy_and_flush
+
+From: Michael Neuling <michael.neuling@au1.ibm.com>
+
+commit 29ce3c5073057991217916abc25628e906911757 upstream.
+
+In __after_prom_start we copy the kernel down to zero in two calls to
+copy_and_flush. After the first call (copy from 0 to copy_to_here:)
+we jump to the newly copied code soon after.
+
+Unfortunately there's no isync between the copy of this code and the
+jump to it. Hence it's possible that stale instructions could still be
+in the icache or pipeline before we branch to it.
+
+We've seen this on real machines and it's results in no console output
+after:
+ calling quiesce...
+ returning from prom_init
+
+The below adds an isync to ensure that the copy and flushing has
+completed before any branching to the new instructions occurs.
+
+Signed-off-by: Michael Neuling <mikey@neuling.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kernel/head_64.S | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/powerpc/kernel/head_64.S
++++ b/arch/powerpc/kernel/head_64.S
+@@ -490,6 +490,7 @@ _GLOBAL(copy_and_flush)
+ sync
+ addi r5,r5,8
+ addi r6,r6,8
++ isync
+ blr
+
+ .align 8
--- /dev/null
+From 3e96ca7f007ddb06b82a74a68585d1dbafa85ff1 Mon Sep 17 00:00:00 2001
+From: Michael Neuling <mikey@neuling.org>
+Date: Thu, 25 Apr 2013 15:30:57 +0000
+Subject: powerpc: Fix hardware IRQs with MMU on exceptions when HV=0
+
+From: Michael Neuling <mikey@neuling.org>
+
+commit 3e96ca7f007ddb06b82a74a68585d1dbafa85ff1 upstream.
+
+POWER8 allows us to take interrupts with the MMU on. This gives us a
+second set of vectors offset at 0x4000.
+
+Unfortunately when coping these vectors we missed checking for MSR HV
+for hardware interrupts (0x500). This results in us trying to use
+HSRR0/1 when HV=0, rather than SRR0/1 on HW IRQs
+
+The below fixes this to check CPU_FTR_HVMODE when patching the code at
+0x4500.
+
+Also we remove the check for CPU_FTR_ARCH_206 since relocation on IRQs
+are only available in arch 2.07 and beyond.
+
+Thanks to benh for helping find this.
+
+Signed-off-by: Michael Neuling <mikey@neuling.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kernel/exceptions-64s.S | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/powerpc/kernel/exceptions-64s.S
++++ b/arch/powerpc/kernel/exceptions-64s.S
+@@ -740,7 +740,7 @@ hardware_interrupt_relon_hv:
+ _MASKABLE_RELON_EXCEPTION_PSERIES(0x502, hardware_interrupt, EXC_HV, SOFTEN_TEST_HV)
+ FTR_SECTION_ELSE
+ _MASKABLE_RELON_EXCEPTION_PSERIES(0x500, hardware_interrupt, EXC_STD, SOFTEN_TEST_PR)
+- ALT_FTR_SECTION_END_IFSET(CPU_FTR_ARCH_206)
++ ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE)
+ STD_RELON_EXCEPTION_PSERIES(0x4600, 0x600, alignment)
+ STD_RELON_EXCEPTION_PSERIES(0x4700, 0x700, program_check)
+ STD_RELON_EXCEPTION_PSERIES(0x4800, 0x800, fp_unavailable)
--- /dev/null
+From 8c2a381734fc9718f127f4aba958e8a7958d4028 Mon Sep 17 00:00:00 2001
+From: Michael Neuling <mikey@neuling.org>
+Date: Wed, 24 Apr 2013 21:00:37 +0000
+Subject: powerpc/power8: Fix secondary CPUs hanging on boot for HV=0
+
+From: Michael Neuling <mikey@neuling.org>
+
+commit 8c2a381734fc9718f127f4aba958e8a7958d4028 upstream.
+
+In __restore_cpu_power8 we determine if we are HV and if not, we return
+before setting HV only resources.
+
+Unfortunately we forgot to restore the link register from r11 before
+returning.
+
+This will happen on boot and with secondary CPUs not coming online.
+
+This adds the missing link register restore.
+
+Signed-off-by: Michael Neuling <mikey@neuling.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kernel/cpu_setup_power.S | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/powerpc/kernel/cpu_setup_power.S
++++ b/arch/powerpc/kernel/cpu_setup_power.S
+@@ -64,6 +64,7 @@ _GLOBAL(__restore_cpu_power8)
+ mflr r11
+ mfmsr r3
+ rldicl. r0,r3,4,63
++ mtlr r11
+ beqlr
+ li r0,0
+ mtspr SPRN_LPID,r0
--- /dev/null
+From 6747e83235caecd30b186d1282e4eba7679f81b7 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <michael@ellerman.id.au>
+Date: Tue, 23 Apr 2013 15:13:14 +0000
+Subject: powerpc/spufs: Initialise inode->i_ino in spufs_new_inode()
+
+From: Michael Ellerman <michael@ellerman.id.au>
+
+commit 6747e83235caecd30b186d1282e4eba7679f81b7 upstream.
+
+In commit 85fe402 (fs: do not assign default i_ino in new_inode), the
+initialisation of i_ino was removed from new_inode() and pushed down
+into the callers. However spufs_new_inode() was not updated.
+
+This exhibits as no files appearing in /spu, because all our dirents
+have a zero inode, which readdir() seems to dislike.
+
+Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/platforms/cell/spufs/inode.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/powerpc/platforms/cell/spufs/inode.c
++++ b/arch/powerpc/platforms/cell/spufs/inode.c
+@@ -99,6 +99,7 @@ spufs_new_inode(struct super_block *sb,
+ if (!inode)
+ goto out;
+
++ inode->i_ino = get_next_ino();
+ inode->i_mode = mode;
+ inode->i_uid = current_fsuid();
+ inode->i_gid = current_fsgid();
usb-serial-option-added-support-olivetti-olicard-145.patch
usb-option-add-a-d-link-dwm-156-variant.patch
+staging-zsmalloc-fix-link-error-on-arm.patch
+arm-omap3-cpuidle-enable-time-keeping.patch
+arm-u300-fix-ages-old-copy-paste-bug.patch
+arm-at91-at91sam9260.dtsi-fix-u-s-art-pinctrl-encoding.patch
+arm-at91-remove-partial-parameter-in-bootargs-for.patch
+arm-at91-fix-typo-in-restart-code-panic-message.patch
+arm-at91-trivial-fix-model-name-for-sam9g15-ek.patch
+arm-at91-trivial-typos-in-compatible-property.patch
+powerpc-add-isync-to-copy_and_flush.patch
+powerpc-fix-hardware-irqs-with-mmu-on-exceptions-when-hv-0.patch
+powerpc-power8-fix-secondary-cpus-hanging-on-boot-for-hv-0.patch
+powerpc-spufs-initialise-inode-i_ino-in-spufs_new_inode.patch
+iwlwifi-fix-freeing-uninitialized-pointer.patch
+iwlwifi-dvm-don-t-send-zeroed-lq-cmd.patch
+mwifiex-use-pci_release_region-instead-of-a-pci_release_regions.patch
+mwifiex-call-pci_release_region-after-calling-pci_disable_device.patch
+mac80211-fix-station-entry-leak-warning-while-suspending.patch
--- /dev/null
+From d95abbbb291bf5bce078148f53603ce9c0aa1d44 Mon Sep 17 00:00:00 2001
+From: Joerg Roedel <joro@8bytes.org>
+Date: Wed, 27 Mar 2013 01:43:14 +0100
+Subject: staging: zsmalloc: Fix link error on ARM
+
+From: Joerg Roedel <joro@8bytes.org>
+
+commit d95abbbb291bf5bce078148f53603ce9c0aa1d44 upstream.
+
+Testing the arm chromebook config against the upstream
+kernel produces a linker error for the zsmalloc module from
+staging. The symbol flush_tlb_kernel_range is not available
+there. Fix this by removing the reimplementation of
+unmap_kernel_range in the zsmalloc module and using the
+function directly. The unmap_kernel_range function is not
+usable by modules, so also disallow building the driver as a
+module for now.
+
+Signed-off-by: Joerg Roedel <joro@8bytes.org>
+Acked-by: Minchan Kim <minchan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/zsmalloc/Kconfig | 2 +-
+ drivers/staging/zsmalloc/zsmalloc-main.c | 5 +----
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+--- a/drivers/staging/zsmalloc/Kconfig
++++ b/drivers/staging/zsmalloc/Kconfig
+@@ -1,5 +1,5 @@
+ config ZSMALLOC
+- tristate "Memory allocator for compressed pages"
++ bool "Memory allocator for compressed pages"
+ default n
+ help
+ zsmalloc is a slab-based memory allocator designed to store
+--- a/drivers/staging/zsmalloc/zsmalloc-main.c
++++ b/drivers/staging/zsmalloc/zsmalloc-main.c
+@@ -657,11 +657,8 @@ static inline void __zs_unmap_object(str
+ struct page *pages[2], int off, int size)
+ {
+ unsigned long addr = (unsigned long)area->vm_addr;
+- unsigned long end = addr + (PAGE_SIZE * 2);
+
+- flush_cache_vunmap(addr, end);
+- unmap_kernel_range_noflush(addr, PAGE_SIZE * 2);
+- flush_tlb_kernel_range(addr, end);
++ unmap_kernel_range(addr, PAGE_SIZE * 2);
+ }
+
+ #else /* USE_PGTABLE_MAPPING */