|
@@ -3268,8 +3268,8 @@ static int sd_suspend_common(struct device *dev, bool ignore_stop_errors)
|
|
|
struct scsi_disk *sdkp = dev_get_drvdata(dev);
|
|
|
int ret = 0;
|
|
|
|
|
|
- if (!sdkp)
|
|
|
- return 0; /* this can happen */
|
|
|
+ if (!sdkp) /* E.g.: runtime suspend following sd_remove() */
|
|
|
+ return 0;
|
|
|
|
|
|
if (sdkp->WCE && sdkp->media_present) {
|
|
|
sd_printk(KERN_NOTICE, sdkp, "Synchronizing SCSI cache\n");
|
|
@@ -3308,6 +3308,9 @@ static int sd_resume(struct device *dev)
|
|
|
{
|
|
|
struct scsi_disk *sdkp = dev_get_drvdata(dev);
|
|
|
|
|
|
+ if (!sdkp) /* E.g.: runtime resume at the start of sd_probe() */
|
|
|
+ return 0;
|
|
|
+
|
|
|
if (!sdkp->device->manage_start_stop)
|
|
|
return 0;
|
|
|
|