summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2014-02-20 23:20:57 +0100
committerJames Bottomley <JBottomley@Parallels.com>2014-03-15 18:19:25 +0100
commit27e9e0f12acb5a76c72c3eed31ad3336e1970717 (patch)
tree6a5d8e9b13e265e66aea805840bbd05bbec063fa /drivers/scsi
parent[SCSI] remove a useless get/put_device pair in scsi_request_fn (diff)
downloadlinux-27e9e0f12acb5a76c72c3eed31ad3336e1970717.tar.xz
linux-27e9e0f12acb5a76c72c3eed31ad3336e1970717.zip
[SCSI] remove a useless get/put_device pair in scsi_next_command
Eliminate a get_device() / put_device() pair from scsi_next_command(). Both are atomic operations hence removing these slightly improves performance. [hch: slight changes due to different context] Signed-off-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/scsi_lib.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index f8a8765a7979..eba8044d0b11 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -526,14 +526,9 @@ void scsi_next_command(struct scsi_cmnd *cmd)
struct scsi_device *sdev = cmd->device;
struct request_queue *q = sdev->request_queue;
- /* need to hold a reference on the device before we let go of the cmd */
- get_device(&sdev->sdev_gendev);
-
scsi_put_command(cmd);
- put_device(&sdev->sdev_gendev);
scsi_run_queue(q);
- /* ok to remove device now */
put_device(&sdev->sdev_gendev);
}