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

Commit 5c66f5d1 authored by Anirban Chakraborty's avatar Anirban Chakraborty Committed by James Bottomley
Browse files

[SCSI] qla2xxx: Fix for a multiqueue bug in CPU affinity mode



Hold the hardware lock while do the response completion in work queue threads as
it involves sharing a common request queue among multiple threads.

Signed-off-by: default avatarAnirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: default avatarGiridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 3064ff39
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -639,8 +639,10 @@ static void qla_do_work(struct work_struct *work)
	struct rsp_que *rsp = container_of(work, struct rsp_que, q_work);
	struct scsi_qla_host *vha;

	spin_lock_irq(&rsp->hw->hardware_lock);
	vha = qla25xx_get_host(rsp);
	qla24xx_process_response_queue(vha, rsp);
	spin_unlock_irq(&rsp->hw->hardware_lock);
}

/* create response queue */