mmc: tmio: fix recursive spinlock, don't schedule with interrupts disabled
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Thu, 14 Jul 2011 10:12:38 +0000 (12:12 +0200)
committerChris Ball <cjb@laptop.org>
Thu, 21 Jul 2011 14:35:05 +0000 (10:35 -0400)
commitb9269fdd4f61aa4d185c982b0f84a3e7b7ccb4d2
tree73cd02b34f61e71d6a4ceff5c09b78a9ba17eadb
parent15bed0f2fa8e1d7db201692532c210a7823d2d21
mmc: tmio: fix recursive spinlock, don't schedule with interrupts disabled

Calling mmc_request_done() under a spinlock with interrupts disabled
leads to a recursive spin-lock on request retry path and to
scheduling in atomic context. This patch fixes both these problems
by moving mmc_request_done() to the scheduler workqueue.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/tmio_mmc.h
drivers/mmc/host/tmio_mmc_pio.c