Re: [PATCH 1/6] scsi: don't use scsi_next_command in scsi_reset_provider

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/06/2014 08:40 AM, Christoph Hellwig wrote:
> scsi_reset_provider already manually runs all queues for the given host,
> so it doesn't need the scsi_run_queues call from it, and it doesn't need
> a reference on the device because it's synchronous.
> 
> So let's just call scsi_put_command directly and avoid the device reference
> dance to simplify the code.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>
> ---
>  drivers/scsi/scsi_error.c | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
> index ba19687..a1ffdb0 100644
> --- a/drivers/scsi/scsi_error.c
> +++ b/drivers/scsi/scsi_error.c
> @@ -2335,14 +2335,9 @@ scsi_ioctl_reset(struct scsi_device *dev, int __user *arg)
>  		return -EIO;
>  
>  	error = -EIO;
> -	if (!get_device(&dev->sdev_gendev))
> -		goto out_put_autopm_host;
> -
>  	scmd = scsi_get_command(dev, GFP_KERNEL);
> -	if (!scmd) {
> -		put_device(&dev->sdev_gendev);
> +	if (!scmd)
>  		goto out_put_autopm_host;
> -	}
>  
>  	blk_rq_init(NULL, &req);
>  	scmd->request = &req;
> @@ -2404,10 +2399,10 @@ scsi_ioctl_reset(struct scsi_device *dev, int __user *arg)
>  			     "waking up host to restart after TMF\n"));
>  
>  	wake_up(&shost->host_wait);
> -
>  	scsi_run_host_queues(shost);
>  
> -	scsi_next_command(scmd);
> +	scsi_put_command(scmd);
> +
>  out_put_autopm_host:
>  	scsi_autopm_put_host(shost);
>  	return error;
> 
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@xxxxxxx			      +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux