On 11/12/20 10:30 PM, Can Guo wrote: > If block layer runtime PM is enabled for one SCSI device, then there is > no need to forcibly change the SCSI device and its request queue's runtime > PM status to active in scsi_dev_type_resume(), since block layer PM shall > resume the SCSI device on the demand of bios. Please change "along" into "alone" in the subject of this patch (if that is what you meant). > + if (scsi_is_sdev_device(dev)) { > + struct scsi_device *sdev; > > + sdev = to_scsi_device(dev); A minor comment: I think that "struct scsi_device *sdev = to_scsi_device(dev);" fits on a single line. > + * If block layer runtime PM is enabled for the SCSI device, > + * let block layer PM handle its runtime PM routines. Please change "its runtime PM routines" into "runtime resume" or similar. I think that will make the comment more clear. > + if (sdev->request_queue->dev) > + return err; > + } The 'dev' member only exists in struct request_queue if CONFIG_PM=y so the above won't compile if CONFIG_PM=n. How about adding a function in include/linux/blk-pm.h to check whether or not runtime PM has been enabled? Otherwise this patch looks good to me. Thanks, Bart.