hpsa: do not attempt to read from a write-only register
commit fec62c368b9c8b05d5124ca6c3b8336b537f26f3 upstream. 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> Signed-off-by: James Bottomley <JBottomley@Parallels.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
43f7c7261f
commit
fbb04a1c17
@@ -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,
|
dev_dbg(&h->pdev->dev, "Sending %x, tag = %x\n", c->busaddr,
|
||||||
c->Header.Tag.lower);
|
c->Header.Tag.lower);
|
||||||
writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET);
|
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++;
|
h->commands_outstanding++;
|
||||||
if (h->commands_outstanding > h->max_outstanding)
|
if (h->commands_outstanding > h->max_outstanding)
|
||||||
h->max_outstanding = h->commands_outstanding;
|
h->max_outstanding = h->commands_outstanding;
|
||||||
|
|||||||
Reference in New Issue
Block a user