mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
[SCSI] aacraid: sa race condition fix
Received From Mark Salyzyn A race condition existed that could result in a lost completion of a command to the ppc based cards. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
404d9a900b
commit
df3b766871
@ -66,11 +66,11 @@ static irqreturn_t aac_sa_intr(int irq, void *dev_id, struct pt_regs *regs)
|
||||
sa_writew(dev, DoorbellClrReg_p, PrintfReady); /* clear PrintfReady */
|
||||
sa_writew(dev, DoorbellReg_s, PrintfDone);
|
||||
} else if (intstat & DOORBELL_1) { // dev -> Host Normal Command Ready
|
||||
aac_command_normal(&dev->queues->queue[HostNormCmdQueue]);
|
||||
sa_writew(dev, DoorbellClrReg_p, DOORBELL_1);
|
||||
aac_command_normal(&dev->queues->queue[HostNormCmdQueue]);
|
||||
} else if (intstat & DOORBELL_2) { // dev -> Host Normal Response Ready
|
||||
aac_response_normal(&dev->queues->queue[HostNormRespQueue]);
|
||||
sa_writew(dev, DoorbellClrReg_p, DOORBELL_2);
|
||||
aac_response_normal(&dev->queues->queue[HostNormRespQueue]);
|
||||
} else if (intstat & DOORBELL_3) { // dev -> Host Normal Command Not Full
|
||||
sa_writew(dev, DoorbellClrReg_p, DOORBELL_3);
|
||||
} else if (intstat & DOORBELL_4) { // dev -> Host Normal Response Not Full
|
||||
|
Loading…
Reference in New Issue
Block a user