mmc_block: add dev_t initialization check
authorAnna Lemehova <EXT-Anna.Lemehova@nokia.com>
Fri, 8 Jan 2010 22:42:58 +0000 (14:42 -0800)
committerArve Hjønnevåg <arve@android.com>
Mon, 8 Feb 2010 23:08:38 +0000 (15:08 -0800)
commit10cd61b99858ac55ff0a2674a416df01eb048165
treeb6a3a4144655415e161be444f39a1a6076c65384
parent25c29cc964ec4d29370e8af7ae3b51f1f6a239ac
mmc_block: add dev_t initialization check

When a card is removed before mmc_blk_probe() has called add_disk(), then
the minor field is uninitialized and has value 0.  This caused
mmc_blk_put() to always release devidx 0 even if 0 was still in use.  Then
the next mmc_blk_probe() used the first free idx of 0, which oopses in
sysfs, since it is used by another card.

Signed-off-by: Anna Lemehova <EXT-Anna.Lemehova@nokia.com>
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Cc: <linux-mmc@vger.kernel.org>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: San Mehat <san@google.com>
drivers/mmc/card/block.c