aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/sa.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-06-21 14:18:25 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-21 14:18:25 -0400
commit28e4b224955cbe30275b2a7842e729023a4f4b03 (patch)
treeab4d28fecc06070fc2a2742f4b4550b29de44912 /drivers/scsi/aacraid/sa.c
parent22ae813b85df7c0b0fc7c8d6f336d6a9f566ff97 (diff)
parent67d59dfdeb21df2c16dcd478b66177e91178ecd0 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (85 commits) [SCSI] 53c700: remove reliance on deprecated cmnd fields [SCSI] hptiop: don't use cmnd->bufflen [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver [SCSI] aacraid: small misc. cleanups [SCSI] aacraid: Update supported product information [SCSI] aacraid: Fix return code interpretation [SCSI] scsi_transport_sas: fix panic in sas_free_rphy [SCSI] remove RQ_SCSI_* flags [SCSI] remove scsi_request infrastructure [SCSI] mptfusion: change driver revision to 3.03.10 [SCSI] mptfc: abort of board reset leaves port dead requiring reboot [SCSI] mptfc: fix fibre channel infinite request/response loop [SCSI] mptfc: set fibre channel fw target missing timers to one second [SCSI] mptfusion: move fc event/reset handling to mptfc [SCSI] spi transport: don't allow dt to be set on SE or HVD buses [SCSI] aic7xxx: expose the bus setting to sysfs [SCSI] scsi: remove Documentation/scsi/cpqfc.txt [SCSI] drivers/scsi: Use ARRAY_SIZE macro [SCSI] Remove last page_address from dc395x.c [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver ... Fixed up conflicts in drivers/message/fusion/mptbase.c manually (due to the sparc interrupt cleanups)
Diffstat (limited to 'drivers/scsi/aacraid/sa.c')
-rw-r--r--drivers/scsi/aacraid/sa.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index a53454908205..88d400fccc94 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -66,11 +66,11 @@ static irqreturn_t aac_sa_intr(int irq, void *dev_id, struct pt_regs *regs)
66 sa_writew(dev, DoorbellClrReg_p, PrintfReady); /* clear PrintfReady */ 66 sa_writew(dev, DoorbellClrReg_p, PrintfReady); /* clear PrintfReady */
67 sa_writew(dev, DoorbellReg_s, PrintfDone); 67 sa_writew(dev, DoorbellReg_s, PrintfDone);
68 } else if (intstat & DOORBELL_1) { // dev -> Host Normal Command Ready 68 } else if (intstat & DOORBELL_1) { // dev -> Host Normal Command Ready
69 aac_command_normal(&dev->queues->queue[HostNormCmdQueue]);
70 sa_writew(dev, DoorbellClrReg_p, DOORBELL_1); 69 sa_writew(dev, DoorbellClrReg_p, DOORBELL_1);
70 aac_command_normal(&dev->queues->queue[HostNormCmdQueue]);
71 } else if (intstat & DOORBELL_2) { // dev -> Host Normal Response Ready 71 } else if (intstat & DOORBELL_2) { // dev -> Host Normal Response Ready
72 aac_response_normal(&dev->queues->queue[HostNormRespQueue]);
73 sa_writew(dev, DoorbellClrReg_p, DOORBELL_2); 72 sa_writew(dev, DoorbellClrReg_p, DOORBELL_2);
73 aac_response_normal(&dev->queues->queue[HostNormRespQueue]);
74 } else if (intstat & DOORBELL_3) { // dev -> Host Normal Command Not Full 74 } else if (intstat & DOORBELL_3) { // dev -> Host Normal Command Not Full
75 sa_writew(dev, DoorbellClrReg_p, DOORBELL_3); 75 sa_writew(dev, DoorbellClrReg_p, DOORBELL_3);
76 } else if (intstat & DOORBELL_4) { // dev -> Host Normal Response Not Full 76 } else if (intstat & DOORBELL_4) { // dev -> Host Normal Response Not Full
@@ -318,13 +318,13 @@ int aac_sa_init(struct aac_dev *dev)
318 * Wait for the adapter to be up and running. Wait up to 3 minutes. 318 * Wait for the adapter to be up and running. Wait up to 3 minutes.
319 */ 319 */
320 while (!(sa_readl(dev, Mailbox7) & KERNEL_UP_AND_RUNNING)) { 320 while (!(sa_readl(dev, Mailbox7) & KERNEL_UP_AND_RUNNING)) {
321 if (time_after(jiffies, start+180*HZ)) { 321 if (time_after(jiffies, start+startup_timeout*HZ)) {
322 status = sa_readl(dev, Mailbox7); 322 status = sa_readl(dev, Mailbox7);
323 printk(KERN_WARNING "%s%d: adapter kernel failed to start, init status = %lx.\n", 323 printk(KERN_WARNING "%s%d: adapter kernel failed to start, init status = %lx.\n",
324 name, instance, status); 324 name, instance, status);
325 goto error_iounmap; 325 goto error_iounmap;
326 } 326 }
327 schedule_timeout_uninterruptible(1); 327 msleep(1);
328 } 328 }
329 329
330 if (request_irq(dev->scsi_host_ptr->irq, aac_sa_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev ) < 0) { 330 if (request_irq(dev->scsi_host_ptr->irq, aac_sa_intr, SA_SHIRQ|SA_INTERRUPT, "aacraid", (void *)dev ) < 0) {