From: Stephen M. Cameron <scame...@beardog.cce.hp.com>

Most smartarrays tolerate it, but a few new ones don't.

When the controller doesn't tolerate the bug, the firmware on it locks up.
 No interrupts are received, no commands complete.  I/o on that controller
grinds to a halt.

Signed-off-by: Stephen M. Cameron <scame...@beardog.cce.hp.com>
Cc: James Bottomley <james.bottom...@hansenpartnership.com>
Cc: <sta...@kernel.org>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
---

 drivers/scsi/hpsa.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN 
drivers/scsi/hpsa.h~hpsa-do-not-attempt-to-read-from-a-write-only-register 
drivers/scsi/hpsa.h
--- a/drivers/scsi/hpsa.h~hpsa-do-not-attempt-to-read-from-a-write-only-register
+++ a/drivers/scsi/hpsa.h
@@ -214,7 +214,7 @@ static void SA5_submit_command(struct ct
        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;
_

_______________________________________________
stable mailing list
stable@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to