23 lines
591 B
Diff
23 lines
591 B
Diff
|
--- a/drivers/scsi/sd.c
|
||
|
+++ a/drivers/scsi/sd.c
|
||
|
@@ -2362,13 +2362,18 @@ static int sd_try_extended_inquiry(struct scsi_device *sdp)
|
||
|
static int sd_revalidate_disk(struct gendisk *disk)
|
||
|
{
|
||
|
struct scsi_disk *sdkp = scsi_disk(disk);
|
||
|
- struct scsi_device *sdp = sdkp->device;
|
||
|
+ struct scsi_device *sdp;
|
||
|
unsigned char *buffer;
|
||
|
unsigned flush = 0;
|
||
|
|
||
|
SCSI_LOG_HLQUEUE(3, sd_printk(KERN_INFO, sdkp,
|
||
|
"sd_revalidate_disk\n"));
|
||
|
|
||
|
+ if (!sdkp)
|
||
|
+ goto out;
|
||
|
+
|
||
|
+ sdp = sdkp->device;
|
||
|
+
|
||
|
/*
|
||
|
* If the device is offline, don't try and read capacity or any
|
||
|
* of the other niceties.
|