mmc: sh_mmcif: fix a race, causing an Oops on SMP
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Wed, 12 Dec 2012 14:38:14 +0000 (15:38 +0100)
committerChris Ball <cjb@laptop.org>
Mon, 11 Feb 2013 18:28:28 +0000 (13:28 -0500)
commit8047310ee984b3efe932ee5b561f2523396466dd
tree7cb156d38a9b3b7c3d0b65dd6f43d1d9e5a5fa0b
parent99eb9d8df996fc1695d4de687873875fbd8f6719
mmc: sh_mmcif: fix a race, causing an Oops on SMP

Oopses have been observed on SMP in the sh-mmcif IRQ thread, when the two
IRQ threads run simultaneously on two CPUs. Also take care to guard the
timeout work and the DMA completion callback from possible NULL-pointer
dereferences and races.

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