Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a01c77d2 authored by Quinn Tran's avatar Quinn Tran Committed by Martin K. Petersen
Browse files

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: 726b8548 ("qla2xxx: Add framework for async fabric discovery")
Cc: <stable@vger.kernel.org> # 4.10+
Signed-off-by: default avatarQuinn Tran <quinn.tran@cavium.com>
Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 22e786ea
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3193,10 +3193,11 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
	    host->can_queue, base_vha->req,
	    base_vha->mgmt_svr_loop_id, host->sg_tablesize);

	ha->wq = alloc_workqueue("qla2xxx_wq", WQ_MEM_RECLAIM, 0);

	if (ha->mqenable) {
		bool mq = false;
		bool startit = false;
		ha->wq = alloc_workqueue("qla2xxx_wq", WQ_MEM_RECLAIM, 0);

		if (QLA_TGT_MODE_ENABLED()) {
			mq = true;
+2 −1
Original line number Diff line number Diff line
@@ -1205,7 +1205,8 @@ void qlt_schedule_sess_for_deletion(struct fc_port *sess,
	ql_dbg(ql_dbg_tgt, sess->vha, 0xe001,
	    "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)