stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Dong Aisheng <b29396@freescale.com>,
	Shawn Guo <shawn.guo@linaro.org>,
	Philippe De Muyter <phdm@macqel.be>,
	Chris Ball <chris@printf.net>
Subject: [PATCH 3.13 122/140] mmc: sdhci-esdhc-imx: fix access hardirq-unsafe lock in atomic context
Date: Tue,  4 Feb 2014 13:11:49 -0800	[thread overview]
Message-ID: <20140204211040.453890021@linuxfoundation.org> (raw)
In-Reply-To: <20140204211036.967663852@linuxfoundation.org>

3.13-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Dong Aisheng <b29396@freescale.com>

commit a974862faee199cba3ff36b5a148df5fd34bd1e7 upstream.

Sometimes we may meet the following lockdep issue.
The root cause is .set_clock callback is executed with spin_lock_irqsave
in sdhci_do_set_ios. However, the IMX set_clock callback will try to access
clk_get_rate which is using a mutex lock.

The fix avoids access mutex in .set_clock callback by initializing the
pltfm_host->clock at probe time and use it later instead of calling
clk_get_rate again in atomic context.

[ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
3.13.0-rc1+ #285 Not tainted
------------------------------------------------------
kworker/u8:1/29 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
 (prepare_lock){+.+...}, at: [<80480b08>] clk_prepare_lock+0x44/0xe4

and this task is already holding:
 (&(&host->lock)->rlock#2){-.-...}, at: [<804611f4>] sdhci_do_set_ios+0x20/0x720
which would create a new lock dependency:
 (&(&host->lock)->rlock#2){-.-...} -> (prepare_lock){+.+...}

but this new dependency connects a HARDIRQ-irq-safe lock:
 (&(&host->lock)->rlock#2){-.-...}
... which became HARDIRQ-irq-safe at:
  [<8005f030>] mark_lock+0x140/0x6ac
  [<80060760>] __lock_acquire+0xb30/0x1cbc
  [<800620d0>] lock_acquire+0x70/0x84
  [<8061d2f0>] _raw_spin_lock+0x30/0x40
  [<80460668>] sdhci_irq+0x24/0xa68
  [<8006b1d4>] handle_irq_event_percpu+0x54/0x18c
  [<8006b350>] handle_irq_event+0x44/0x64
  [<8006e50c>] handle_fasteoi_irq+0xa0/0x170
  [<8006a8f0>] generic_handle_irq+0x30/0x44
  [<8000f238>] handle_IRQ+0x54/0xbc
  [<8000864c>] gic_handle_irq+0x30/0x64
  [<80013024>] __irq_svc+0x44/0x5c
  [<80614c58>] printk+0x38/0x40
  [<804622a8>] sdhci_add_host+0x844/0xbcc
  [<80464948>] sdhci_esdhc_imx_probe+0x378/0x67c
  [<8032ee88>] platform_drv_probe+0x20/0x50
  [<8032d48c>] driver_probe_device+0x118/0x234
  [<8032d690>] __driver_attach+0x9c/0xa0
  [<8032b89c>] bus_for_each_dev+0x68/0x9c
  [<8032cf44>] driver_attach+0x20/0x28
  [<8032cbc8>] bus_add_driver+0x148/0x1f4
  [<8032dce0>] driver_register+0x80/0x100
  [<8032ee54>] __platform_driver_register+0x50/0x64
  [<8084b094>] sdhci_esdhc_imx_driver_init+0x18/0x20
  [<80008980>] do_one_initcall+0x108/0x16c
  [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
  [<80611c50>] kernel_init+0x10/0x120
  [<8000e9c8>] ret_from_fork+0x14/0x2c

to a HARDIRQ-irq-unsafe lock:
 (prepare_lock){+.+...}
... which became HARDIRQ-irq-unsafe at:
...  [<8005f030>] mark_lock+0x140/0x6ac
  [<8005f604>] mark_held_locks+0x68/0x12c
  [<8005f780>] trace_hardirqs_on_caller+0xb8/0x1d8
  [<8005f8b4>] trace_hardirqs_on+0x14/0x18
  [<8061a130>] mutex_trylock+0x180/0x20c
  [<80480ad8>] clk_prepare_lock+0x14/0xe4
  [<804816a4>] clk_notifier_register+0x28/0xf0
  [<80015120>] twd_clk_init+0x50/0x68
  [<80008980>] do_one_initcall+0x108/0x16c
  [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
  [<80611c50>] kernel_init+0x10/0x120
  [<8000e9c8>] ret_from_fork+0x14/0x2c

other info that might help us debug this:

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(prepare_lock);
                               local_irq_disable();
                               lock(&(&host->lock)->rlock#2);
                               lock(prepare_lock);
  <Interrupt>
    lock(&(&host->lock)->rlock#2);

 *** DEADLOCK ***

3 locks held by kworker/u8:1/29:
 #0:  (kmmcd){.+.+.+}, at: [<8003db18>] process_one_work+0x128/0x468
 #1:  ((&(&host->detect)->work)){+.+.+.}, at: [<8003db18>] process_one_work+0x128/0x468
 #2:  (&(&host->lock)->rlock#2){-.-...}, at: [<804611f4>] sdhci_do_set_ios+0x20/0x720

the dependencies between HARDIRQ-irq-safe lock and the holding lock:
-> (&(&host->lock)->rlock#2){-.-...} ops: 330 {
   IN-HARDIRQ-W at:
                    [<8005f030>] mark_lock+0x140/0x6ac
                    [<80060760>] __lock_acquire+0xb30/0x1cbc
                    [<800620d0>] lock_acquire+0x70/0x84
                    [<8061d2f0>] _raw_spin_lock+0x30/0x40
                    [<80460668>] sdhci_irq+0x24/0xa68
                    [<8006b1d4>] handle_irq_event_percpu+0x54/0x18c
                    [<8006b350>] handle_irq_event+0x44/0x64
                    [<8006e50c>] handle_fasteoi_irq+0xa0/0x170
                    [<8006a8f0>] generic_handle_irq+0x30/0x44
                    [<8000f238>] handle_IRQ+0x54/0xbc
                    [<8000864c>] gic_handle_irq+0x30/0x64
                    [<80013024>] __irq_svc+0x44/0x5c
                    [<80614c58>] printk+0x38/0x40
                    [<804622a8>] sdhci_add_host+0x844/0xbcc
                    [<80464948>] sdhci_esdhc_imx_probe+0x378/0x67c
                    [<8032ee88>] platform_drv_probe+0x20/0x50
                    [<8032d48c>] driver_probe_device+0x118/0x234
                    [<8032d690>] __driver_attach+0x9c/0xa0
                    [<8032b89c>] bus_for_each_dev+0x68/0x9c
                    [<8032cf44>] driver_attach+0x20/0x28
                    [<8032cbc8>] bus_add_driver+0x148/0x1f4
                    [<8032dce0>] driver_register+0x80/0x100
                    [<8032ee54>] __platform_driver_register+0x50/0x64
                    [<8084b094>] sdhci_esdhc_imx_driver_init+0x18/0x20
                    [<80008980>] do_one_initcall+0x108/0x16c
                    [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
                    [<80611c50>] kernel_init+0x10/0x120
                    [<8000e9c8>] ret_from_fork+0x14/0x2c
   IN-SOFTIRQ-W at:
                    [<8005f030>] mark_lock+0x140/0x6ac
                    [<80060204>] __lock_acquire+0x5d4/0x1cbc
                    [<800620d0>] lock_acquire+0x70/0x84
                    [<8061d40c>] _raw_spin_lock_irqsave+0x40/0x54
                    [<8045e4a4>] sdhci_tasklet_finish+0x1c/0x120
                    [<8002b538>] tasklet_action+0xa0/0x15c
                    [<8002b778>] __do_softirq+0x118/0x290
                    [<8002bcf4>] irq_exit+0xb4/0x10c
                    [<8000f240>] handle_IRQ+0x5c/0xbc
                    [<8000864c>] gic_handle_irq+0x30/0x64
                    [<80013024>] __irq_svc+0x44/0x5c
                    [<80614c58>] printk+0x38/0x40
                    [<804622a8>] sdhci_add_host+0x844/0xbcc
                    [<80464948>] sdhci_esdhc_imx_probe+0x378/0x67c
                    [<8032ee88>] platform_drv_probe+0x20/0x50
                    [<8032d48c>] driver_probe_device+0x118/0x234
                    [<8032d690>] __driver_attach+0x9c/0xa0
                    [<8032b89c>] bus_for_each_dev+0x68/0x9c
                    [<8032cf44>] driver_attach+0x20/0x28
                    [<8032cbc8>] bus_add_driver+0x148/0x1f4
                    [<8032dce0>] driver_register+0x80/0x100
                    [<8032ee54>] __platform_driver_register+0x50/0x64
                    [<8084b094>] sdhci_esdhc_imx_driver_init+0x18/0x20
                    [<80008980>] do_one_initcall+0x108/0x16c
                    [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
                    [<80611c50>] kernel_init+0x10/0x120
                    [<8000e9c8>] ret_from_fork+0x14/0x2c
   INITIAL USE at:
                   [<8005f030>] mark_lock+0x140/0x6ac
                   [<8005ff0c>] __lock_acquire+0x2dc/0x1cbc
                   [<800620d0>] lock_acquire+0x70/0x84
                   [<8061d40c>] _raw_spin_lock_irqsave+0x40/0x54
                   [<804611f4>] sdhci_do_set_ios+0x20/0x720
                   [<80461924>] sdhci_set_ios+0x30/0x3c
                   [<8044cea0>] mmc_power_up+0x6c/0xd0
                   [<8044dac4>] mmc_start_host+0x60/0x70
                   [<8044eb3c>] mmc_add_host+0x60/0x88
                   [<8046225c>] sdhci_add_host+0x7f8/0xbcc
                   [<80464948>] sdhci_esdhc_imx_probe+0x378/0x67c
                   [<8032ee88>] platform_drv_probe+0x20/0x50
                   [<8032d48c>] driver_probe_device+0x118/0x234
                   [<8032d690>] __driver_attach+0x9c/0xa0
                   [<8032b89c>] bus_for_each_dev+0x68/0x9c
                   [<8032cf44>] driver_attach+0x20/0x28
                   [<8032cbc8>] bus_add_driver+0x148/0x1f4
                   [<8032dce0>] driver_register+0x80/0x100
                   [<8032ee54>] __platform_driver_register+0x50/0x64
                   [<8084b094>] sdhci_esdhc_imx_driver_init+0x18/0x20
                   [<80008980>] do_one_initcall+0x108/0x16c
                   [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
                   [<80611c50>] kernel_init+0x10/0x120
                   [<8000e9c8>] ret_from_fork+0x14/0x2c
 }
 ... key      at: [<80e040e8>] __key.26952+0x0/0x8
 ... acquired at:
   [<8005eb60>] check_usage+0x3d0/0x5c0
   [<8005edac>] check_irq_usage+0x5c/0xb8
   [<80060d38>] __lock_acquire+0x1108/0x1cbc
   [<800620d0>] lock_acquire+0x70/0x84
   [<8061a210>] mutex_lock_nested+0x54/0x3c0
   [<80480b08>] clk_prepare_lock+0x44/0xe4
   [<8048188c>] clk_get_rate+0x14/0x64
   [<8046374c>] esdhc_pltfm_set_clock+0x20/0x2a4
   [<8045d70c>] sdhci_set_clock+0x4c/0x498
   [<80461518>] sdhci_do_set_ios+0x344/0x720
   [<80461924>] sdhci_set_ios+0x30/0x3c
   [<8044c390>] __mmc_set_clock+0x44/0x60
   [<8044cd4c>] mmc_set_clock+0x10/0x14
   [<8044f8f4>] mmc_init_card+0x1b4/0x1520
   [<80450f00>] mmc_attach_mmc+0xb4/0x194
   [<8044da08>] mmc_rescan+0x294/0x2f0
   [<8003db94>] process_one_work+0x1a4/0x468
   [<8003e850>] worker_thread+0x118/0x3e0
   [<80044de0>] kthread+0xd4/0xf0
   [<8000e9c8>] ret_from_fork+0x14/0x2c

the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock:
-> (prepare_lock){+.+...} ops: 395 {
   HARDIRQ-ON-W at:
                    [<8005f030>] mark_lock+0x140/0x6ac
                    [<8005f604>] mark_held_locks+0x68/0x12c
                    [<8005f780>] trace_hardirqs_on_caller+0xb8/0x1d8
                    [<8005f8b4>] trace_hardirqs_on+0x14/0x18
                    [<8061a130>] mutex_trylock+0x180/0x20c
                    [<80480ad8>] clk_prepare_lock+0x14/0xe4
                    [<804816a4>] clk_notifier_register+0x28/0xf0
                    [<80015120>] twd_clk_init+0x50/0x68
                    [<80008980>] do_one_initcall+0x108/0x16c
                    [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
                    [<80611c50>] kernel_init+0x10/0x120
                    [<8000e9c8>] ret_from_fork+0x14/0x2c
   SOFTIRQ-ON-W at:
                    [<8005f030>] mark_lock+0x140/0x6ac
                    [<8005f604>] mark_held_locks+0x68/0x12c
                    [<8005f7c8>] trace_hardirqs_on_caller+0x100/0x1d8
                    [<8005f8b4>] trace_hardirqs_on+0x14/0x18
                    [<8061a130>] mutex_trylock+0x180/0x20c
                    [<80480ad8>] clk_prepare_lock+0x14/0xe4
                    [<804816a4>] clk_notifier_register+0x28/0xf0
                    [<80015120>] twd_clk_init+0x50/0x68
                    [<80008980>] do_one_initcall+0x108/0x16c
                    [<8081cca4>] kernel_init_freeable+0x10c/0x1d0
                    [<80611c50>] kernel_init+0x10/0x120
                    [<8000e9c8>] ret_from_fork+0x14/0x2c
   INITIAL USE at:
                   [<8005f030>] mark_lock+0x140/0x6ac
                   [<8005ff0c>] __lock_acquire+0x2dc/0x1cbc
                   [<800620d0>] lock_acquire+0x70/0x84
                   [<8061a0c8>] mutex_trylock+0x118/0x20c
                   [<80480ad8>] clk_prepare_lock+0x14/0xe4
                   [<80482af8>] __clk_init+0x1c/0x45c
                   [<8048306c>] _clk_register+0xd0/0x170
                   [<80483148>] clk_register+0x3c/0x7c
                   [<80483b4c>] clk_register_fixed_rate+0x88/0xd8
                   [<80483c04>] of_fixed_clk_setup+0x68/0x94
                   [<8084c6fc>] of_clk_init+0x44/0x68
                   [<808202b0>] time_init+0x2c/0x38
                   [<8081ca14>] start_kernel+0x1e4/0x368
                   [<10008074>] 0x10008074
 }
 ... key      at: [<808afebc>] prepare_lock+0x38/0x48
 ... acquired at:
   [<8005eb94>] check_usage+0x404/0x5c0
   [<8005edac>] check_irq_usage+0x5c/0xb8
   [<80060d38>] __lock_acquire+0x1108/0x1cbc
   [<800620d0>] lock_acquire+0x70/0x84
   [<8061a210>] mutex_lock_nested+0x54/0x3c0
   [<80480b08>] clk_prepare_lock+0x44/0xe4
   [<8048188c>] clk_get_rate+0x14/0x64
   [<8046374c>] esdhc_pltfm_set_clock+0x20/0x2a4
   [<8045d70c>] sdhci_set_clock+0x4c/0x498
   [<80461518>] sdhci_do_set_ios+0x344/0x720
   [<80461924>] sdhci_set_ios+0x30/0x3c
   [<8044c390>] __mmc_set_clock+0x44/0x60
   [<8044cd4c>] mmc_set_clock+0x10/0x14
   [<8044f8f4>] mmc_init_card+0x1b4/0x1520
   [<80450f00>] mmc_attach_mmc+0xb4/0x194
   [<8044da08>] mmc_rescan+0x294/0x2f0
   [<8003db94>] process_one_work+0x1a4/0x468
   [<8003e850>] worker_thread+0x118/0x3e0
   [<80044de0>] kthread+0xd4/0xf0
   [<8000e9c8>] ret_from_fork+0x14/0x2c

stack backtrace:
CPU: 2 PID: 29 Comm: kworker/u8:1 Not tainted 3.13.0-rc1+ #285
Workqueue: kmmcd mmc_rescan
Backtrace:
[<80012160>] (dump_backtrace+0x0/0x10c) from [<80012438>] (show_stack+0x18/0x1c)
 r6:00000000 r5:00000000 r4:8088ecc8 r3:bfa11200
[<80012420>] (show_stack+0x0/0x1c) from [<80616b14>] (dump_stack+0x84/0x9c)
[<80616a90>] (dump_stack+0x0/0x9c) from [<8005ebb4>] (check_usage+0x424/0x5c0)
 r5:80979940 r4:bfa29b44
[<8005e790>] (check_usage+0x0/0x5c0) from [<8005edac>] (check_irq_usage+0x5c/0xb8)
[<8005ed50>] (check_irq_usage+0x0/0xb8) from [<80060d38>] (__lock_acquire+0x1108/0x1cbc)
 r8:bfa115e8 r7:80df9884 r6:80dafa9c r5:00000003 r4:bfa115d0
[<8005fc30>] (__lock_acquire+0x0/0x1cbc) from [<800620d0>] (lock_acquire+0x70/0x84)
[<80062060>] (lock_acquire+0x0/0x84) from [<8061a210>] (mutex_lock_nested+0x54/0x3c0)
 r7:bfa11200 r6:80dafa9c r5:00000000 r4:80480b08
[<8061a1bc>] (mutex_lock_nested+0x0/0x3c0) from [<80480b08>] (clk_prepare_lock+0x44/0xe4)
[<80480ac4>] (clk_prepare_lock+0x0/0xe4) from [<8048188c>] (clk_get_rate+0x14/0x64)
 r6:03197500 r5:bf0e9aa8 r4:bf827400 r3:808ae128
[<80481878>] (clk_get_rate+0x0/0x64) from [<8046374c>] (esdhc_pltfm_set_clock+0x20/0x2a4)
 r5:bf0e9aa8 r4:bf0e9c40
[<8046372c>] (esdhc_pltfm_set_clock+0x0/0x2a4) from [<8045d70c>] (sdhci_set_clock+0x4c/0x498)
[<8045d6c0>] (sdhci_set_clock+0x0/0x498) from [<80461518>] (sdhci_do_set_ios+0x344/0x720)
 r8:0000003b r7:20000113 r6:bf0e9d68 r5:bf0e9aa8 r4:bf0e9c40
r3:00000000
[<804611d4>] (sdhci_do_set_ios+0x0/0x720) from [<80461924>] (sdhci_set_ios+0x30/0x3c)
 r9:00000004 r8:bf131000 r7:bf131048 r6:00000000 r5:bf0e9aa8
r4:bf0e9800
[<804618f4>] (sdhci_set_ios+0x0/0x3c) from [<8044c390>] (__mmc_set_clock+0x44/0x60)
 r5:03197500 r4:bf0e9800
[<8044c34c>] (__mmc_set_clock+0x0/0x60) from [<8044cd4c>] (mmc_set_clock+0x10/0x14)
 r5:00000000 r4:bf0e9800
[<8044cd3c>] (mmc_set_clock+0x0/0x14) from [<8044f8f4>] (mmc_init_card+0x1b4/0x1520)
[<8044f740>] (mmc_init_card+0x0/0x1520) from [<80450f00>] (mmc_attach_mmc+0xb4/0x194)
[<80450e4c>] (mmc_attach_mmc+0x0/0x194) from [<8044da08>] (mmc_rescan+0x294/0x2f0)
 r5:8065f358 r4:bf0e9af8
[<8044d774>] (mmc_rescan+0x0/0x2f0) from [<8003db94>] (process_one_work+0x1a4/0x468)
 r8:00000000 r7:bfa29eb0 r6:bf80dc00 r5:bf0e9af8 r4:bf9e3f00
r3:8044d774
[<8003d9f0>] (process_one_work+0x0/0x468) from [<8003e850>] (worker_thread+0x118/0x3e0)
[<8003e738>] (worker_thread+0x0/0x3e0) from [<80044de0>] (kthread+0xd4/0xf0)
[<80044d0c>] (kthread+0x0/0xf0) from [<8000e9c8>] (ret_from_fork+0x14/0x2c)
 r7:00000000 r6:00000000 r5:80044d0c r4:bf9e7f00

Fixes: 0ddf03c mmc: esdhc-imx: parse max-frequency from devicetree
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Chris Ball <chris@printf.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/mmc/host/sdhci-esdhc-imx.c |   12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -558,19 +558,17 @@ static unsigned int esdhc_pltfm_get_max_
 	struct pltfm_imx_data *imx_data = pltfm_host->priv;
 	struct esdhc_platform_data *boarddata = &imx_data->boarddata;
 
-	u32 f_host = clk_get_rate(pltfm_host->clk);
-
-	if (boarddata->f_max && (boarddata->f_max < f_host))
+	if (boarddata->f_max && (boarddata->f_max < pltfm_host->clock))
 		return boarddata->f_max;
 	else
-		return f_host;
+		return pltfm_host->clock;
 }
 
 static unsigned int esdhc_pltfm_get_min_clock(struct sdhci_host *host)
 {
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
 
-	return clk_get_rate(pltfm_host->clk) / 256 / 16;
+	return pltfm_host->clock / 256 / 16;
 }
 
 static inline void esdhc_pltfm_set_clock(struct sdhci_host *host,
@@ -578,7 +576,7 @@ static inline void esdhc_pltfm_set_clock
 {
 	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
 	struct pltfm_imx_data *imx_data = pltfm_host->priv;
-	unsigned int host_clock = clk_get_rate(pltfm_host->clk);
+	unsigned int host_clock = pltfm_host->clock;
 	int pre_div = 2;
 	int div = 1;
 	u32 temp, val;
@@ -976,7 +974,7 @@ static int sdhci_esdhc_imx_probe(struct
 	}
 
 	pltfm_host->clk = imx_data->clk_per;
-
+	pltfm_host->clock = clk_get_rate(pltfm_host->clk);
 	clk_prepare_enable(imx_data->clk_per);
 	clk_prepare_enable(imx_data->clk_ipg);
 	clk_prepare_enable(imx_data->clk_ahb);



  parent reply	other threads:[~2014-02-04 21:11 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04 21:09 [PATCH 3.13 000/140] 3.13.2-stable review Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 001/140] e752x_edac: Fix pci_dev usage count Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 002/140] mm/mempolicy.c: fix mempolicy printing in numa_maps Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 003/140] x86, x32: Correct invalid use of user timespec in the kernel Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 004/140] xen/pci: Fix build on non-x86 Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 005/140] x86/efi: Fix off-by-one bug in EFI Boot Services reservation Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 006/140] x86: Add check for number of available vectors before CPU down Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 007/140] KVM: x86: limit PIT timer frequency Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 008/140] x86, kvm: cache the base of the KVM cpuid leaves Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 009/140] x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101 Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 010/140] usb: chipidea: add freescale imx28 special write register method Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 011/140] usb: chipidea: imx: set CI_HDRC_IMX28_WRITE_FIX for imx28 Greg Kroah-Hartman
2014-02-04 21:09 ` [PATCH 3.13 012/140] usb: chipidea: need to mask INT_STATUS when write otgsc Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 013/140] usb: chipidea: udc: using MultO at TD as real mult value for ISO-TX Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 016/140] usb: dwc3: fix the glue drivers using the nop phy Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 018/140] usb: option: add new zte 3g modem pids to option driver Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 020/140] USB: cypress_m8: fix ring-indicator detection and reporting Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 021/140] USB: ftdi_sio: added CS5 quirk for broken smartcard readers Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 022/140] USB: Nokia 502 is an unusual device Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 023/140] usb: xhci: Check for XHCI_PLAT in xhci_cleanup_msix() Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 024/140] USB: fix race between hub_disconnect and recursively_mark_NOTATTACHED Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 025/140] usb: ehci: add freescale imx28 special write register method Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 026/140] rtlwifi: rtl8192cu: Add new device ID Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 027/140] rtlwifi: Update beacon statistics for USB driver Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 028/140] rtlwifi: rtl8192c: Prevent reconnect attempts if not connected Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 029/140] rtlwifi: rtl8192cu: Add new firmware Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 030/140] rtlwifi: Redo register save locations Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 031/140] rtlwifi: Set the link state Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 032/140] rtlwifi: rtl8192c: Add new definitions in the dm_common header Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 033/140] rtlwifi: Increase the RX queue length for USB drivers Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 034/140] rtlwifi: rtl8192c: Add routines to save/restore power index registers Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 035/140] rtlwifi: rtl8192cu: Update the " Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 036/140] rtlwifi: rtl8192cu: Fix some code in RF handling Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 037/140] rtlwifi: Add missing code to PWDB statics routine Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 038/140] rtlwifi: rtl8192c: Update dynamic gain calculations Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 039/140] rtlwifi: rtl8188ee: Fix typo in code Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 040/140] mwifiex: add missing endian conversion for fw_tsf Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 041/140] mwifiex: fix wrong 11ac bits setting in fw_cap_info Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 042/140] iwlwifi: pcie: enable oscillator for L1 exit Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 043/140] iwlwifi: mvm: fix missing cleanup in .start() error path Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 044/140] b43: Fix lockdep splat Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 045/140] b43: Fix unload oops if firmware is not available Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 046/140] b43legacy: " Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 047/140] b43: fix the wrong assignment of status.freq in b43_rx() Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 048/140] ath9k: Use correct channel for RX packets Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 049/140] ath9k: Disable cross-band FCC Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 050/140] staging/lustre/ptlrpc: Fix a crash when dereferencing NULL pointer Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 051/140] staging: r8712u: Set device type to wlan Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 052/140] staging: vt6656: [BUG] BBvUpdatePreEDThreshold Always set sensitivity on bScanning Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 053/140] staging: vt6656: CARDqGetNextTBTT correct uLowNextTBTT Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 054/140] mei: use hbm idle state to prevent spurious resets Greg Kroah-Hartman
2014-02-06 21:27   ` Paul Bolle
2014-02-06 21:39     ` Greg Kroah-Hartman
2014-02-06 21:53       ` [PATCH 3.13] mei: mei_hbm_dispatch() returns void Paul Bolle
2014-02-07  0:26         ` Winkler, Tomas
2014-02-04 21:10 ` [PATCH 3.13 055/140] tty/serial: at91: Handle shutdown more safely Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 056/140] tty/serial: at91: fix race condition in atmel_serial_remove Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 057/140] tty/serial: at91: reset rx_ring when port is shutdown Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 058/140] tty/serial: at91: disable uart timer at start of shutdown Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 059/140] ARM: at91: at91sam9g45: set default mmc pinctrl-names Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 060/140] ARM: at91: smc: bug fix in sam9_smc_cs_read() Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 061/140] hwmon: (k10temp) Add support for Kaveri CPUs Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 062/140] xhci: Avoid infinite loop when sg urb requires too many trbs Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 063/140] xhci: Set scatter-gather limit to avoid failed block writes Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 064/140] uio: fix devm_request_irq usage Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 065/140] serial: add support for 200 v3 series Titan card Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 066/140] serial: 8250: Fix initialisation of Quatech cards with the AMCC PCI chip Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 067/140] serial: 8250: enable UART_BUG_NOMSR for Tegra Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 068/140] s390/compat: fix PSW32_USER_BITS definition Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 069/140] KVM: s390: Always store status during SIGP STOP_AND_STORE_STATUS Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 070/140] KVM: s390: fix diagnose code extraction Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 071/140] KVM: s390: ioeventfd: ignore leftmost bits Greg Kroah-Hartman
2014-02-04 21:10 ` [PATCH 3.13 072/140] s390/uapi: fix struct statfs64 definition Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 073/140] parport: parport_pc: remove double PCI ID for NetMos Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 074/140] rtc-cmos: Add an alarm disable quirk Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 075/140] rtc: max8907: weekday encoding fixes Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 076/140] misc: mic: bug fix for interrupt acknowledgement in MSI/INTx case Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 077/140] pinctrl: sunxi: Honor GPIO output initial vaules Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 078/140] perf kvm: Fix kvm report without guestmount Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 079/140] mfd: max77686: Fix regmap resource leak on driver remove Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 080/140] ASoC: adau1701: Fix ADAU1701_SEROCTL_WORD_LEN_16 constant Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 081/140] ASoC: codec: tlv320aic32x4: Fix regmap range config Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 082/140] ASoC: tlv320aic32x4: Fix regmap range_min Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 083/140] ASoC: wm5110: Extend SYSCLK patch file for rev D Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 084/140] ALSA: rme9652: fix a missing comma in channel_map_9636_ds[] Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 085/140] ALSA: hda - Correct AD1986A 3stack pin configs Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 086/140] ALSA: hda - Dont create duplicated ctls for loopback paths Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 087/140] ALSA: Enable CONFIG_ZONE_DMA for smaller PCI DMA masks Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 088/140] ALSA: hda - automute via amp instead of pinctl on some AIO models Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 089/140] ALSA: hda - add headset mic detect quirks for some Dell machines Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 090/140] ALSA: bits vs bytes bug in snd_card_create() Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 092/140] ALSA: hda - add headset mic detect quirks for another Dell laptop Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 093/140] ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 094/140] tpm/tpm_i2c_stm_st33: Check return code of get_burstcount Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 095/140] tpm/tpm_ppi: Do not compare strcmp(a,b) == -1 Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 096/140] ima: change the default hash algorithm to SHA1 in ima_eventdigest_ng_init() Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 097/140] ata: sata_mv: introduce compatible string "marvell, armada-370-sata" Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 098/140] ata: sata_mv: fix disk hotplug for Armada 370/XP SoCs Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 099/140] ARM: mvebu: update the SATA compatible string for Armada 370/XP Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 100/140] libata: disable LPM for some WD SATA-I devices Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 101/140] ext4: avoid clearing beyond i_blocks when truncating an inline data file Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 102/140] vfs: Remove second variable named error in __dentry_path Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 103/140] vfs: Is mounted should be testing mnt_ns for NULL or error Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 104/140] bcache: Data corruption fix Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 105/140] zram: fix race between reset and flushing pending work Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 107/140] ARM: mvebu: Add support to get the ID and the revision of a SoC Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 108/140] ARM: mvebu: Add quirk for i2c for the OpenBlocks AX3-4 board Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 109/140] i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 110/140] i2c: mv64xxx: Document the newly introduced Armada XP A0 compatible Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 111/140] i2c: piix4: Add support for AMD ML and CZ SMBus changes Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 113/140] ip_tunnel: clear IPCB in ip_tunnel_xmit() in case dst_link_failure() is called Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 114/140] net/vxlan: Share RX skb de-marking and checksum checks with ovs Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 115/140] fib_frontend: fix possible NULL pointer dereference Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 116/140] net: Fix memory leak if TPROXY used with TCP early demux Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 117/140] xen-netfront: fix resource leak in netfront Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 118/140] net: gre: use icmp_hdr() to get inner ip header Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 119/140] mmc: sdhci: add quirk for broken HS200 support Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 120/140] mmc: sdhci-pci: add broken HS200 quirk for Intel Merrifield Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 121/140] mmc: sdhci: fix lockdep error in tuning routine Greg Kroah-Hartman
2014-02-04 21:11 ` Greg Kroah-Hartman [this message]
2014-02-04 21:11 ` [PATCH 3.13 123/140] alpha: fix broken network checksum Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 124/140] parisc/sti_console: prefer Linux fonts over built-in ROM fonts Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 125/140] parisc: fix cache-flushing Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 126/140] KVM: PPC: Book3S HV: use xics_wake_cpu only when defined Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 127/140] KVM: PPC: e500: Fix bad address type in deliver_tlb_misss() Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 128/140] ALSA: hda - Dont set indep_hp flag for old AD codecs Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 129/140] hpfs: remember free space Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 130/140] usb: core: get config and string descriptors for unauthorized devices Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 131/140] SCSI: bfa: Chinook quad port 16G FC HBA claim issue Greg Kroah-Hartman
2014-02-04 21:11 ` [PATCH 3.13 132/140] SCSI: qla4xxx: overflow in qla4xxx_set_chap_entry() Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 133/140] virtio-scsi: Fix hotcpu_notifier use-after-free with virtscsi_freeze Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 134/140] iscsi-target: Pre-allocate more tags to avoid ack starvation Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 135/140] target/iscsi: Fix network portal creation race Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 136/140] Btrfs: handle EAGAIN case properly in btrfs_drop_snapshot() Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 137/140] Btrfs: setup inode location during btrfs_init_inode_locked Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 138/140] btrfs: restrict snapshotting to own subvolumes Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 139/140] powerpc: Fix the setup of CPU-to-Node mappings during CPU online Greg Kroah-Hartman
2014-02-04 21:12 ` [PATCH 3.13 140/140] powerpc: Make sure "cache" directory is removed when offlining cpu Greg Kroah-Hartman
2014-02-05  6:41 ` [PATCH 3.13 000/140] 3.13.2-stable review Guenter Roeck
2014-02-05 17:37   ` Greg Kroah-Hartman
2014-02-05 20:41 ` Shuah Khan
2014-02-05 22:27   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140204211040.453890021@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=b29396@freescale.com \
    --cc=chris@printf.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phdm@macqel.be \
    --cc=shawn.guo@linaro.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).