]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: scsi_transport_fc: Hold queue lock while calling blk_run_queue_async()
authorBart Van Assche <bart.vanassche@sandisk.com>
Sat, 12 Nov 2016 00:55:50 +0000 (16:55 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 14 Nov 2016 23:25:08 +0000 (18:25 -0500)
commitb752d3b96b73ca7edfe2d65442f39e7a497be6d2
tree1e33d28a7f887cd9e2a162aeec8680b3f0e998de
parent5aedc1e243e0c1f23f067f668a997094e94e5583
scsi: scsi_transport_fc: Hold queue lock while calling blk_run_queue_async()

It is required to hold the queue lock when calling blk_run_queue_async()
to avoid that a race between blk_run_queue_async() and
blk_cleanup_queue() is triggered. Additionally, remove the get_device()
and put_device() calls from fc_bsg_goose_queue. It is namely the
responsibility of the caller of fc_bsg_goose_queue() to ensure that the
bsg queue does not disappear while fc_bsg_goose_queue() is in progress.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: James Smart <james.smart@avagotech.com>
Reviewed-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_transport_fc.c