forked from Minki/linux
scsi: qla2xxx: Move session delete to driver work queue
Move session delete from system work queue to driver's work queue for in
time processing.
Fixes: 726b854870
("qla2xxx: Add framework for async fabric discovery")
Cc: <stable@vger.kernel.org> # 4.10+
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
22e786ea47
commit
a01c77d2cb
@ -3193,10 +3193,11 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||||||
host->can_queue, base_vha->req,
|
host->can_queue, base_vha->req,
|
||||||
base_vha->mgmt_svr_loop_id, host->sg_tablesize);
|
base_vha->mgmt_svr_loop_id, host->sg_tablesize);
|
||||||
|
|
||||||
|
ha->wq = alloc_workqueue("qla2xxx_wq", WQ_MEM_RECLAIM, 0);
|
||||||
|
|
||||||
if (ha->mqenable) {
|
if (ha->mqenable) {
|
||||||
bool mq = false;
|
bool mq = false;
|
||||||
bool startit = false;
|
bool startit = false;
|
||||||
ha->wq = alloc_workqueue("qla2xxx_wq", WQ_MEM_RECLAIM, 0);
|
|
||||||
|
|
||||||
if (QLA_TGT_MODE_ENABLED()) {
|
if (QLA_TGT_MODE_ENABLED()) {
|
||||||
mq = true;
|
mq = true;
|
||||||
|
@ -1205,7 +1205,8 @@ void qlt_schedule_sess_for_deletion(struct fc_port *sess,
|
|||||||
ql_dbg(ql_dbg_tgt, sess->vha, 0xe001,
|
ql_dbg(ql_dbg_tgt, sess->vha, 0xe001,
|
||||||
"Scheduling sess %p for deletion\n", sess);
|
"Scheduling sess %p for deletion\n", sess);
|
||||||
|
|
||||||
schedule_work(&sess->del_work);
|
INIT_WORK(&sess->del_work, qla24xx_delete_sess_fn);
|
||||||
|
queue_work(sess->vha->hw->wq, &sess->del_work);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qlt_schedule_sess_for_deletion_lock(struct fc_port *sess)
|
void qlt_schedule_sess_for_deletion_lock(struct fc_port *sess)
|
||||||
|
Loading…
Reference in New Issue
Block a user