[SCSI] hpsa: do not attempt to read from a write-only register
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Thu, 21 Jul 2011 18:16:05 +0000 (13:16 -0500)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 27 Jul 2011 11:18:26 +0000 (15:18 +0400)
Most smartarrays tolerate it, but a few new ones don't.
Without this change some newer Smart Arrays will lock up
and i/o will grind to a halt.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/hpsa.h

index 6d8dcd4dd06bf7a16a655d010af75e98c2456259..7f53ceaa7239144523c0bc1c9c2685327bfb6198 100644 (file)
@@ -214,7 +214,7 @@ static void SA5_submit_command(struct ctlr_info *h,
        dev_dbg(&h->pdev->dev, "Sending %x, tag = %x\n", c->busaddr,
                c->Header.Tag.lower);
        writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET);
-       (void) readl(h->vaddr + SA5_REQUEST_PORT_OFFSET);
+       (void) readl(h->vaddr + SA5_SCRATCHPAD_OFFSET);
        h->commands_outstanding++;
        if (h->commands_outstanding > h->max_outstanding)
                h->max_outstanding = h->commands_outstanding;