Skip to content

Commit

Permalink
[SCSI] qla2xxx: Fix for a multiqueue bug in CPU affinity mode
Browse files Browse the repository at this point in the history
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: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Anirban Chakraborty authored and James Bottomley committed Dec 30, 2009
1 parent 3064ff3 commit 5c66f5d
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/scsi/qla2xxx/qla_mid.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit 5c66f5d

Please sign in to comment.