James Hogan 7456caae37 mmc: dw_mmc: fix race with request and removal
When a request is made, the card presence is checked and the request is
queued. These two parts must be atomic with respect to card removal, or
a card removal could be handled in between, and the new request wouldn't
get cancelled until another card was inserted. Therefore move the
spinlock protection from dw_mci_queue_request() up into dw_mci_request()
to cover the presence check.

Note that the test_bit() used for the presence check isn't atomic
itself, so should have been protected by a spinlock anyway.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Acked-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2011-07-20 17:20:58 -04:00
..
2011-05-26 17:12:32 -07:00
2011-06-11 15:06:48 -07:00
2011-07-11 09:52:35 -04:00
2011-06-06 14:14:56 +02:00
2011-07-03 14:26:24 -05:00
2011-06-14 15:15:25 +09:00
2011-05-30 11:14:15 +09:30
2011-07-04 16:02:48 +09:00
2011-07-17 12:40:08 +00:00