mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
Revert "ata,scsi: do not issue START STOP UNIT on resume"
This reverts commitdc3354c961which is commit0a85890559upstream. 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 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I667c8e367971886e847b2240d2c1efcf6a2fe92c
This commit is contained in:
@@ -1086,14 +1086,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct ata_device *dev)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sdev->sector_size = ata_id_logical_sector_size(dev->id);
|
sdev->sector_size = ata_id_logical_sector_size(dev->id);
|
||||||
/*
|
|
||||||
* Stop the drive on suspend but do not issue START STOP UNIT
|
|
||||||
* on resume as this is not necessary and may fail: the device
|
|
||||||
* will be woken up by ata_port_pm_resume() with a port reset
|
|
||||||
* and device revalidation.
|
|
||||||
*/
|
|
||||||
sdev->manage_start_stop = 1;
|
sdev->manage_start_stop = 1;
|
||||||
sdev->no_start_on_resume = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -3742,7 +3742,7 @@ static int sd_suspend_runtime(struct device *dev)
|
|||||||
static int sd_resume(struct device *dev)
|
static int sd_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct scsi_disk *sdkp = dev_get_drvdata(dev);
|
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() */
|
if (!sdkp) /* E.g.: runtime resume at the start of sd_probe() */
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3750,11 +3750,8 @@ static int sd_resume(struct device *dev)
|
|||||||
if (!sdkp->device->manage_start_stop)
|
if (!sdkp->device->manage_start_stop)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!sdkp->device->no_start_on_resume) {
|
sd_printk(KERN_NOTICE, sdkp, "Starting disk\n");
|
||||||
sd_printk(KERN_NOTICE, sdkp, "Starting disk\n");
|
ret = sd_start_stop_device(sdkp, 1);
|
||||||
ret = sd_start_stop_device(sdkp, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
opal_unlock_from_suspend(sdkp->opal_dev);
|
opal_unlock_from_suspend(sdkp->opal_dev);
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -194,7 +194,6 @@ struct scsi_device {
|
|||||||
unsigned no_start_on_add:1; /* do not issue start on add */
|
unsigned no_start_on_add:1; /* do not issue start on add */
|
||||||
unsigned allow_restart:1; /* issue START_UNIT in error handler */
|
unsigned allow_restart:1; /* issue START_UNIT in error handler */
|
||||||
unsigned manage_start_stop:1; /* Let HLD (sd) manage start/stop */
|
unsigned manage_start_stop:1; /* Let HLD (sd) manage start/stop */
|
||||||
unsigned no_start_on_resume:1; /* Do not issue START_STOP_UNIT on resume */
|
|
||||||
unsigned start_stop_pwr_cond:1; /* Set power cond. in START_STOP_UNIT */
|
unsigned start_stop_pwr_cond:1; /* Set power cond. in START_STOP_UNIT */
|
||||||
unsigned no_uld_attach:1; /* disable connecting to upper level drivers */
|
unsigned no_uld_attach:1; /* disable connecting to upper level drivers */
|
||||||
unsigned select_no_atn:1;
|
unsigned select_no_atn:1;
|
||||||
|
|||||||
Reference in New Issue
Block a user