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)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 11 Jan 2010 17:34:06 +0000 (09:34 -0800)
commit7d92df692994472cab6045bbd9d0e2c4afa4365f
treec3421b6277e337d75bf149c321290f3ab9419d4f
parent0a88422312f5bf7b9e3450e27d8ddc385af38789
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>
drivers/mmc/card/block.c