diff options
Diffstat (limited to 'drivers/scsi/sd.c')
-rw-r--r-- | drivers/scsi/sd.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 4e08d1cd704d..bb669d32ccd0 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c | |||
@@ -2893,7 +2893,7 @@ static int sd_revalidate_disk(struct gendisk *disk) | |||
2893 | sdkp->opt_xfer_blocks <= SD_DEF_XFER_BLOCKS && | 2893 | sdkp->opt_xfer_blocks <= SD_DEF_XFER_BLOCKS && |
2894 | sdkp->opt_xfer_blocks * sdp->sector_size >= PAGE_CACHE_SIZE) | 2894 | sdkp->opt_xfer_blocks * sdp->sector_size >= PAGE_CACHE_SIZE) |
2895 | rw_max = q->limits.io_opt = | 2895 | rw_max = q->limits.io_opt = |
2896 | logical_to_sectors(sdp, sdkp->opt_xfer_blocks); | 2896 | sdkp->opt_xfer_blocks * sdp->sector_size; |
2897 | else | 2897 | else |
2898 | rw_max = BLK_DEF_MAX_SECTORS; | 2898 | rw_max = BLK_DEF_MAX_SECTORS; |
2899 | 2899 | ||
@@ -3268,8 +3268,8 @@ static int sd_suspend_common(struct device *dev, bool ignore_stop_errors) | |||
3268 | struct scsi_disk *sdkp = dev_get_drvdata(dev); | 3268 | struct scsi_disk *sdkp = dev_get_drvdata(dev); |
3269 | int ret = 0; | 3269 | int ret = 0; |
3270 | 3270 | ||
3271 | if (!sdkp) | 3271 | if (!sdkp) /* E.g.: runtime suspend following sd_remove() */ |
3272 | return 0; /* this can happen */ | 3272 | return 0; |
3273 | 3273 | ||
3274 | if (sdkp->WCE && sdkp->media_present) { | 3274 | if (sdkp->WCE && sdkp->media_present) { |
3275 | sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n"); | 3275 | sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n"); |
@@ -3308,6 +3308,9 @@ static int sd_resume(struct device *dev) | |||
3308 | { | 3308 | { |
3309 | struct scsi_disk *sdkp = dev_get_drvdata(dev); | 3309 | struct scsi_disk *sdkp = dev_get_drvdata(dev); |
3310 | 3310 | ||
3311 | if (!sdkp) /* E.g.: runtime resume at the start of sd_probe() */ | ||
3312 | return 0; | ||
3313 | |||
3311 | if (!sdkp->device->manage_start_stop) | 3314 | if (!sdkp->device->manage_start_stop) |
3312 | return 0; | 3315 | return 0; |
3313 | 3316 | ||