<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/mmc, branch v3.6</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/mmc?h=v3.6</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/mmc?h=v3.6'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-09-04T17:58:11Z</updated>
<entry>
<title>mmc: omap: fix broken PIO mode</title>
<updated>2012-09-04T17:58:11Z</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2012-08-24T06:00:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=75b53aee2f4fe6375c6007226bf68d75b5c4a929'/>
<id>urn:sha1:75b53aee2f4fe6375c6007226bf68d75b5c4a929</id>
<content type='text'>
After commit 26b88520b80695a6fa5fd95b5d97c03f4daf87e0 ("mmc:
omap_hsmmc: remove private DMA API implementation"), the Nokia N800
here stopped booting:

[    2.086181] Waiting for root device /dev/mmcblk0p1...
[    2.324066] Unhandled fault: imprecise external abort (0x406) at 0x00000000
[    2.331451] Internal error: : 406 [#1] ARM
[    2.335784] Modules linked in:
[    2.339050] CPU: 0    Not tainted  (3.6.0-rc3 #60)
[    2.344146] PC is at default_idle+0x28/0x30
[    2.348602] LR is at trace_hardirqs_on_caller+0x15c/0x1b0

...

This turned out to be due to memory corruption caused by long-broken
PIO code in drivers/mmc/host/omap.c.  (Previously, this driver had
been using DMA; but the above commit caused the MMC driver to fall
back to PIO mode with an unmodified Kconfig.)

The PIO code, added with the rest of the driver in commit
730c9b7e6630f786fcec026fb11d2e6f2c90fdcb ("[MMC] Add OMAP MMC host
driver"), confused bytes with 16-bit words.  This bug caused memory
located after the PIO transfer buffer to be corrupted with transfers
larger than 32 bytes.  The driver also did not increment the buffer
pointer after the transfer occurred.  This bug resulted in data
corruption during any transfer larger than 64 bytes.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Reviewed-by: Felipe Balbi &lt;balbi@ti.com&gt;
Tested-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: card: Skip secure erase on MoviNAND; causes unrecoverable corruption.</title>
<updated>2012-09-04T17:58:10Z</updated>
<author>
<name>Ian Chen</name>
<email>ian.cy.chen@samsung.com</email>
</author>
<published>2012-08-29T06:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3550ccdb9d8d350e526b809bf3dd92b550a74fe1'/>
<id>urn:sha1:3550ccdb9d8d350e526b809bf3dd92b550a74fe1</id>
<content type='text'>
For several MoviNAND eMMC parts, there are known issues with secure
erase and secure trim.  For these specific MoviNAND devices, we skip
these operations.

Specifically, there is a bug in the eMMC firmware that causes
unrecoverable corruption when the MMC is erased with MMC_CAP_ERASE
enabled.

References:

http://forum.xda-developers.com/showthread.php?t=1644364
https://plus.google.com/111398485184813224730/posts/21pTYfTsCkB#111398485184813224730/posts/21pTYfTsCkB

Signed-off-by: Ian Chen &lt;ian.cy.chen@samsung.com&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@gmail.com&gt;
Acked-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; [3.0+]
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: dw_mmc: Disable low power mode if SDIO interrupts are used</title>
<updated>2012-09-04T17:58:10Z</updated>
<author>
<name>Doug Anderson</name>
<email>dianders@chromium.org</email>
</author>
<published>2012-07-25T15:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9623b5b9192b349bcadb31cce159072a78ac6972'/>
<id>urn:sha1:9623b5b9192b349bcadb31cce159072a78ac6972</id>
<content type='text'>
The documentation for the dw_mmc part says that the low power
mode should normally only be set for MMC and SD memory and should
be turned off for SDIO cards that need interrupts detected.

The best place I could find to do this is when the SDIO interrupt
was first enabled.  I rely on the fact that dw_mci_setup_bus()
will be called when it's time to reenable.

Signed-off-by: Doug Anderson &lt;dianders@chromium.org&gt;
Acked-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: dw_mmc: fix error handling in PIO mode</title>
<updated>2012-09-04T17:58:09Z</updated>
<author>
<name>Seungwon Jeon</name>
<email>tgih.jun@samsung.com</email>
</author>
<published>2012-08-01T00:30:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e74f3a9c993a088f0a067e13941075e4acb7300a'/>
<id>urn:sha1:e74f3a9c993a088f0a067e13941075e4acb7300a</id>
<content type='text'>
Data transfer will be continued until all the bytes are transmitted,
even if data crc error occurs during a multiple-block data transfer.
This means RXDR/TXDR interrupts will occurs until data transfer is
terminated. Early setting of host-&gt;sg to NULL prevents going into
xxx_data_pio functions, hence permanent unhandled RXDR/TXDR interrupts
occurs. And checking error interrupt status in the xxx_data_pio functions
is no need because dw_mci_interrupt does do the same. This patch also
removes it.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Acked-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Acked-by: Will Newton &lt;will.newton@imgtec.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: dw_mmc: correct mishandling error interrupt</title>
<updated>2012-09-04T17:58:08Z</updated>
<author>
<name>Seungwon Jeon</name>
<email>tgih.jun@samsung.com</email>
</author>
<published>2012-08-01T00:30:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9b2026a12511439d906a5d8d302ae285ebe7378a'/>
<id>urn:sha1:9b2026a12511439d906a5d8d302ae285ebe7378a</id>
<content type='text'>
Datasheet of SYNOPSYS mentions that DTO(Data Transfer Over) interrupt
will be raised even if some error interrupts, however it is actually
found that DTO does not occur. SYNOPSYS has confirmed this issue.
Current implementation defers the call of tasklet_schedule until DTO
when the error interrupts is happened. This patch fixes error handling.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Acked-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Acked-by: Will Newton &lt;will.newton@imgtec.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: dw_mmc: amend using error interrupt status</title>
<updated>2012-09-04T17:58:08Z</updated>
<author>
<name>Seungwon Jeon</name>
<email>tgih.jun@samsung.com</email>
</author>
<published>2012-08-01T00:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=182c90815993452f1902837cc342ac2c05ef13f5'/>
<id>urn:sha1:182c90815993452f1902837cc342ac2c05ef13f5</id>
<content type='text'>
RINTSTS status includes masked interrupts as well as unmasked.
data_status and cmd_status are set by value of RINTSTS in interrupt handler
and tasklet finally uses it to decide whether error is happened or not.
In addition, MINTSTS status is used for setting data_status in PIO.
Masked error interrupt will not be handled and that status can be considered
non-error case.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Reviewed By: Girish K S &lt;girish.shivananjappa@linaro.org&gt;
Acked-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Acked-by: Will Newton &lt;will.newton@imgtec.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: atmel-mci: not busy flag has also to be used for read operations</title>
<updated>2012-09-04T17:58:07Z</updated>
<author>
<name>Ludovic Desroches</name>
<email>ludovic.desroches@atmel.com</email>
</author>
<published>2012-07-24T09:42:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=077d40731edc90ee9dedf63249034c8cd5f694ce'/>
<id>urn:sha1:077d40731edc90ee9dedf63249034c8cd5f694ce</id>
<content type='text'>
Even if the datasheet says that the not busy flag has to be used only
for write operations, it's false except for version lesser than v2xx.

Not waiting on the not busy flag for read operations can cause the
controller to hang-up during the initialization of some SD cards
with DMA after the first CMD6 -- the next command is sent too early.

Signed-off-by: Ludovic Desroches &lt;ludovic.desroches@atmel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; [3.5, 3.6]
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: sdhci-esdhc: break out early if clock is 0</title>
<updated>2012-09-04T17:58:06Z</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@linaro.org</email>
</author>
<published>2012-08-22T15:10:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=74f330bceaa7b88d06062e1cac3d519a3dfc041e'/>
<id>urn:sha1:74f330bceaa7b88d06062e1cac3d519a3dfc041e</id>
<content type='text'>
Since commit 30832ab56 ("mmc: sdhci: Always pass clock request value
zero to set_clock host op") was merged, esdhc_set_clock starts hitting
"if (clock == 0)" where ESDHC_SYSTEM_CONTROL has been operated.  This
causes SDHCI card-detection function being broken.  Fix the regression
by moving "if (clock == 0)" above ESDHC_SYSTEM_CONTROL operation.

Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: mxs-mmc: fix deadlock caused by recursion loop</title>
<updated>2012-09-04T17:58:06Z</updated>
<author>
<name>Lauri Hintsala</name>
<email>lauri.hintsala@bluegiga.com</email>
</author>
<published>2012-07-17T14:16:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fc108d24d3a6da63576a460e122fa1df0cbdea20'/>
<id>urn:sha1:fc108d24d3a6da63576a460e122fa1df0cbdea20</id>
<content type='text'>
Release the lock before mmc_signal_sdio_irq is called by
mxs_mmc_enable_sdio_irq.

Backtrace:
[   65.470000] =============================================
[   65.470000] [ INFO: possible recursive locking detected ]
[   65.470000] 3.5.0-rc5 #2 Not tainted
[   65.470000] ---------------------------------------------
[   65.470000] ksdioirqd/mmc0/73 is trying to acquire lock:
[   65.470000]  (&amp;(&amp;host-&gt;lock)-&gt;rlock#2){-.-...}, at: [&lt;bf054120&gt;] mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]
[   65.470000]
[   65.470000] but task is already holding lock:
[   65.470000]  (&amp;(&amp;host-&gt;lock)-&gt;rlock#2){-.-...}, at: [&lt;bf054120&gt;] mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]
[   65.470000]
[   65.470000] other info that might help us debug this:
[   65.470000]  Possible unsafe locking scenario:
[   65.470000]
[   65.470000]        CPU0
[   65.470000]        ----
[   65.470000]   lock(&amp;(&amp;host-&gt;lock)-&gt;rlock#2);
[   65.470000]   lock(&amp;(&amp;host-&gt;lock)-&gt;rlock#2);
[   65.470000]
[   65.470000]  *** DEADLOCK ***
[   65.470000]
[   65.470000]  May be due to missing lock nesting notation
[   65.470000]
[   65.470000] 1 lock held by ksdioirqd/mmc0/73:
[   65.470000]  #0:  (&amp;(&amp;host-&gt;lock)-&gt;rlock#2){-.-...}, at: [&lt;bf054120&gt;] mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]
[   65.470000]
[   65.470000] stack backtrace:
[   65.470000] [&lt;c0014990&gt;] (unwind_backtrace+0x0/0xf4) from [&lt;c005ccb8&gt;] (__lock_acquire+0x14f8/0x1b98)
[   65.470000] [&lt;c005ccb8&gt;] (__lock_acquire+0x14f8/0x1b98) from [&lt;c005d3f8&gt;] (lock_acquire+0xa0/0x108)
[   65.470000] [&lt;c005d3f8&gt;] (lock_acquire+0xa0/0x108) from [&lt;c02f671c&gt;] (_raw_spin_lock_irqsave+0x48/0x5c)
[   65.470000] [&lt;c02f671c&gt;] (_raw_spin_lock_irqsave+0x48/0x5c) from [&lt;bf054120&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc])
[   65.470000] [&lt;bf054120&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]) from [&lt;bf0541d0&gt;] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc])
[   65.470000] [&lt;bf0541d0&gt;] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc]) from [&lt;c0219b38&gt;] (sdio_irq_thread+0x1bc/0x274)
[   65.470000] [&lt;c0219b38&gt;] (sdio_irq_thread+0x1bc/0x274) from [&lt;c003c324&gt;] (kthread+0x8c/0x98)
[   65.470000] [&lt;c003c324&gt;] (kthread+0x8c/0x98) from [&lt;c00101ac&gt;] (kernel_thread_exit+0x0/0x8)
[   65.470000] BUG: spinlock lockup suspected on CPU#0, ksdioirqd/mmc0/73
[   65.470000]  lock: 0xc3358724, .magic: dead4ead, .owner: ksdioirqd/mmc0/73, .owner_cpu: 0
[   65.470000] [&lt;c0014990&gt;] (unwind_backtrace+0x0/0xf4) from [&lt;c01b46b0&gt;] (do_raw_spin_lock+0x100/0x144)
[   65.470000] [&lt;c01b46b0&gt;] (do_raw_spin_lock+0x100/0x144) from [&lt;c02f6724&gt;] (_raw_spin_lock_irqsave+0x50/0x5c)
[   65.470000] [&lt;c02f6724&gt;] (_raw_spin_lock_irqsave+0x50/0x5c) from [&lt;bf054120&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc])
[   65.470000] [&lt;bf054120&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xdc [mxs_mmc]) from [&lt;bf0541d0&gt;] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc])
[   65.470000] [&lt;bf0541d0&gt;] (mxs_mmc_enable_sdio_irq+0xc8/0xdc [mxs_mmc]) from [&lt;c0219b38&gt;] (sdio_irq_thread+0x1bc/0x274)
[   65.470000] [&lt;c0219b38&gt;] (sdio_irq_thread+0x1bc/0x274) from [&lt;c003c324&gt;] (kthread+0x8c/0x98)
[   65.470000] [&lt;c003c324&gt;] (kthread+0x8c/0x98) from [&lt;c00101ac&gt;] (kernel_thread_exit+0x0/0x8)

Reported-by: Attila Kinali &lt;attila@kinali.ch&gt;
Signed-off-by: Lauri Hintsala &lt;lauri.hintsala@bluegiga.com&gt;
Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: mxs-mmc: fix deadlock in SDIO IRQ case</title>
<updated>2012-09-04T17:58:05Z</updated>
<author>
<name>Lauri Hintsala</name>
<email>lauri.hintsala@bluegiga.com</email>
</author>
<published>2012-07-17T14:16:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1af36b2a993dddfa3d6860ec4879c9e8abc9b976'/>
<id>urn:sha1:1af36b2a993dddfa3d6860ec4879c9e8abc9b976</id>
<content type='text'>
Release the lock before mmc_signal_sdio_irq is called by mxs_mmc_irq_handler.

Backtrace:
[   79.660000] =============================================
[   79.660000] [ INFO: possible recursive locking detected ]
[   79.660000] 3.4.0-00009-g3e96082-dirty #11 Not tainted
[   79.660000] ---------------------------------------------
[   79.660000] swapper/0 is trying to acquire lock:
[   79.660000]  (&amp;(&amp;host-&gt;lock)-&gt;rlock#2){-.....}, at: [&lt;c026ea3c&gt;] mxs_mmc_enable_sdio_irq+0x18/0xd4
[   79.660000]
[   79.660000] but task is already holding lock:
[   79.660000]  (&amp;(&amp;host-&gt;lock)-&gt;rlock#2){-.....}, at: [&lt;c026f744&gt;] mxs_mmc_irq_handler+0x1c/0xe8
[   79.660000]
[   79.660000] other info that might help us debug this:
[   79.660000]  Possible unsafe locking scenario:
[   79.660000]
[   79.660000]        CPU0
[   79.660000]        ----
[   79.660000]   lock(&amp;(&amp;host-&gt;lock)-&gt;rlock#2);
[   79.660000]   lock(&amp;(&amp;host-&gt;lock)-&gt;rlock#2);
[   79.660000]
[   79.660000]  *** DEADLOCK ***
[   79.660000]
[   79.660000]  May be due to missing lock nesting notation
[   79.660000]
[   79.660000] 1 lock held by swapper/0:
[   79.660000]  #0:  (&amp;(&amp;host-&gt;lock)-&gt;rlock#2){-.....}, at: [&lt;c026f744&gt;] mxs_mmc_irq_handler+0x1c/0xe8
[   79.660000]
[   79.660000] stack backtrace:
[   79.660000] [&lt;c0014bd0&gt;] (unwind_backtrace+0x0/0xf4) from [&lt;c005f9c0&gt;] (__lock_acquire+0x1948/0x1d48)
[   79.660000] [&lt;c005f9c0&gt;] (__lock_acquire+0x1948/0x1d48) from [&lt;c005fea0&gt;] (lock_acquire+0xe0/0xf8)
[   79.660000] [&lt;c005fea0&gt;] (lock_acquire+0xe0/0xf8) from [&lt;c03a8460&gt;] (_raw_spin_lock_irqsave+0x44/0x58)
[   79.660000] [&lt;c03a8460&gt;] (_raw_spin_lock_irqsave+0x44/0x58) from [&lt;c026ea3c&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xd4)
[   79.660000] [&lt;c026ea3c&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xd4) from [&lt;c026f7fc&gt;] (mxs_mmc_irq_handler+0xd4/0xe8)
[   79.660000] [&lt;c026f7fc&gt;] (mxs_mmc_irq_handler+0xd4/0xe8) from [&lt;c006bdd8&gt;] (handle_irq_event_percpu+0x70/0x254)
[   79.660000] [&lt;c006bdd8&gt;] (handle_irq_event_percpu+0x70/0x254) from [&lt;c006bff8&gt;] (handle_irq_event+0x3c/0x5c)
[   79.660000] [&lt;c006bff8&gt;] (handle_irq_event+0x3c/0x5c) from [&lt;c006e6d0&gt;] (handle_level_irq+0x90/0x110)
[   79.660000] [&lt;c006e6d0&gt;] (handle_level_irq+0x90/0x110) from [&lt;c006b930&gt;] (generic_handle_irq+0x38/0x50)
[   79.660000] [&lt;c006b930&gt;] (generic_handle_irq+0x38/0x50) from [&lt;c00102fc&gt;] (handle_IRQ+0x30/0x84)
[   79.660000] [&lt;c00102fc&gt;] (handle_IRQ+0x30/0x84) from [&lt;c000f058&gt;] (__irq_svc+0x38/0x60)
[   79.660000] [&lt;c000f058&gt;] (__irq_svc+0x38/0x60) from [&lt;c0010520&gt;] (default_idle+0x2c/0x40)
[   79.660000] [&lt;c0010520&gt;] (default_idle+0x2c/0x40) from [&lt;c0010a90&gt;] (cpu_idle+0x64/0xcc)
[   79.660000] [&lt;c0010a90&gt;] (cpu_idle+0x64/0xcc) from [&lt;c04ff858&gt;] (start_kernel+0x244/0x2c8)
[   79.660000] BUG: spinlock lockup on CPU#0, swapper/0
[   79.660000]  lock: c398cb2c, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0
[   79.660000] [&lt;c0014bd0&gt;] (unwind_backtrace+0x0/0xf4) from [&lt;c01ddb1c&gt;] (do_raw_spin_lock+0xf0/0x144)
[   79.660000] [&lt;c01ddb1c&gt;] (do_raw_spin_lock+0xf0/0x144) from [&lt;c03a8468&gt;] (_raw_spin_lock_irqsave+0x4c/0x58)
[   79.660000] [&lt;c03a8468&gt;] (_raw_spin_lock_irqsave+0x4c/0x58) from [&lt;c026ea3c&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xd4)
[   79.660000] [&lt;c026ea3c&gt;] (mxs_mmc_enable_sdio_irq+0x18/0xd4) from [&lt;c026f7fc&gt;] (mxs_mmc_irq_handler+0xd4/0xe8)
[   79.660000] [&lt;c026f7fc&gt;] (mxs_mmc_irq_handler+0xd4/0xe8) from [&lt;c006bdd8&gt;] (handle_irq_event_percpu+0x70/0x254)
[   79.660000] [&lt;c006bdd8&gt;] (handle_irq_event_percpu+0x70/0x254) from [&lt;c006bff8&gt;] (handle_irq_event+0x3c/0x5c)
[   79.660000] [&lt;c006bff8&gt;] (handle_irq_event+0x3c/0x5c) from [&lt;c006e6d0&gt;] (handle_level_irq+0x90/0x110)
[   79.660000] [&lt;c006e6d0&gt;] (handle_level_irq+0x90/0x110) from [&lt;c006b930&gt;] (generic_handle_irq+0x38/0x50)
[   79.660000] [&lt;c006b930&gt;] (generic_handle_irq+0x38/0x50) from [&lt;c00102fc&gt;] (handle_IRQ+0x30/0x84)
[   79.660000] [&lt;c00102fc&gt;] (handle_IRQ+0x30/0x84) from [&lt;c000f058&gt;] (__irq_svc+0x38/0x60)
[   79.660000] [&lt;c000f058&gt;] (__irq_svc+0x38/0x60) from [&lt;c0010520&gt;] (default_idle+0x2c/0x40)
[   79.660000] [&lt;c0010520&gt;] (default_idle+0x2c/0x40) from [&lt;c0010a90&gt;] (cpu_idle+0x64/0xcc)
[   79.660000] [&lt;c0010a90&gt;] (cpu_idle+0x64/0xcc) from [&lt;c04ff858&gt;] (start_kernel+0x244/0x2c8)

Signed-off-by: Lauri Hintsala &lt;lauri.hintsala@bluegiga.com&gt;
Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
</feed>
