[PATCH] scsi: if sd card is removed, do not revalidate it

From: Yang Bai
Date: Mon Feb 13 2012 - 23:12:39 EST


During revalidating, if sd card is removed, scsi_device
will be NULL, so we should not revalidate or it will cause
a panic.
This problem is report at:
http://comments.gmane.org/gmane.linux.kernel/1250235

Signed-off-by: Yang Bai <hamo.by@xxxxxxxxx>
---
drivers/scsi/sd.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index c691fb5..470339c 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -2370,10 +2370,10 @@ static int sd_revalidate_disk(struct gendisk *disk)
"sd_revalidate_disk\n"));

/*
- * If the device is offline, don't try and read capacity or any
+ * If the device is removed or offline, don't try and read capacity or any
* of the other niceties.
*/
- if (!scsi_device_online(sdp))
+ if (!sdp || !scsi_device_online(sdp))
goto out;

buffer = kmalloc(SD_BUF_SIZE, GFP_KERNEL);
--
1.7.9

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/