scsi: qla2xxx: Fix Target mode handling with Multiqueue changes.
authorQuinn Tran <quinn.tran@cavium.com>
Mon, 12 Dec 2016 22:40:09 +0000 (14:40 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 14 Dec 2016 20:37:59 +0000 (15:37 -0500)
commit093df73771bac8a37d607c0e705d157a8cef4c5c
treeb5397b922dcae3309393fb318fb1ec696239ee01
parent5601236b6f7948cd1783298f6d4cacce02e22fde
scsi: qla2xxx: Fix Target mode handling with Multiqueue changes.

- Fix race condition between dpc_thread accessing Multiqueue resources
  and qla2x00_remove_one thread trying to free resource.
- Fix out of order free for Multiqueue resources. Also, Multiqueue
  interrupts needs a workqueue. Interrupt needed to stop before
  the wq can be destroyed.

Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_os.c