mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
Revert "scsi: sd: Do not issue commands to suspended disks on shutdown"
This reverts commitdeacabef68which is commit99398d2070upstream. It breaks the Android ABI so revert it for now, if it is needed in the future, it can be brought back in an ABI-safe way. Bug: 161946584 Change-Id: I0134634ac6acd636d23f65d3f1bc4d3b57ff1206 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -3646,8 +3646,7 @@ static int sd_remove(struct device *dev)
|
||||
|
||||
device_del(&sdkp->disk_dev);
|
||||
del_gendisk(sdkp->disk);
|
||||
if (!sdkp->suspended)
|
||||
sd_shutdown(dev);
|
||||
sd_shutdown(dev);
|
||||
|
||||
put_disk(sdkp->disk);
|
||||
return 0;
|
||||
@@ -3778,9 +3777,6 @@ static int sd_suspend_common(struct device *dev, bool runtime)
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
if (!ret)
|
||||
sdkp->suspended = true;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3800,26 +3796,21 @@ static int sd_suspend_runtime(struct device *dev)
|
||||
static int sd_resume(struct device *dev, bool runtime)
|
||||
{
|
||||
struct scsi_disk *sdkp = dev_get_drvdata(dev);
|
||||
int ret = 0;
|
||||
int ret;
|
||||
|
||||
if (!sdkp) /* E.g.: runtime resume at the start of sd_probe() */
|
||||
return 0;
|
||||
|
||||
if (!sd_do_start_stop(sdkp->device, runtime)) {
|
||||
sdkp->suspended = false;
|
||||
if (!sd_do_start_stop(sdkp->device, runtime))
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!sdkp->device->no_start_on_resume) {
|
||||
sd_printk(KERN_NOTICE, sdkp, "Starting disk\n");
|
||||
ret = sd_start_stop_device(sdkp, 1);
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
if (!ret)
|
||||
opal_unlock_from_suspend(sdkp->opal_dev);
|
||||
sdkp->suspended = false;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -131,7 +131,6 @@ struct scsi_disk {
|
||||
u8 provisioning_mode;
|
||||
u8 zeroing_mode;
|
||||
u8 nr_actuators; /* Number of actuators */
|
||||
bool suspended; /* Disk is suspended (stopped) */
|
||||
unsigned ATO : 1; /* state of disk ATO bit */
|
||||
unsigned cache_override : 1; /* temp override of WCE,RCD */
|
||||
unsigned WCE : 1; /* state of disk WCE bit */
|
||||
|
||||
Reference in New Issue
Block a user