Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > ea32411352494358b8d75a78402a4713 > files > 337

kernel-2.6.18-238.19.1.el5.centos.plus.src.rpm

From: Phillip Lougher <plougher@redhat.com>
Date: Thu, 19 May 2011 03:20:34 -0000
Subject: [block] cciss: reading a write only register causes a hang
Message-id: <20110519032035.045043FF0C@plougher.csb>
Patchwork-id: 35945
O-Subject: [RHEL5.[46].z PATCH] hpsa: reading a write only register causes a hang
Bugzilla: 696502 696503
RH-Acked-by: Tomas Henzl <thenzl@redhat.com>
RH-Acked-by: Jiri Pirko <jpirko@redhat.com>
RH-Acked-by: Don Howard <dhoward@redhat.com>

BZ#696502 (5.4.z)
BZ#696503 (5.6.z)

This is a trivial fix-up of the following patch to allow it to be
applied to 5.4.z and 5.6.z streams.

Thanks

Phillip

>From 8c22ab5f97541f804a1309a57f4007f30975dadf Mon Sep 17 00:00:00 2001
From: Tomas Henzl <thenzl@redhat.com>
Date: Mon, 16 May 2011 14:31:50 +0000
Subject: [PATCH] cciss: reading a write only register causes a hang

bz#696153

Jarod:
The same bug number^ is used again, this is a incremental patch.

From: Mike Miller <mike.miller@hp.com>

We change the readl to read from a readable register. Other controllers
don't seem to care but Gen8 controllers lockup.

brew - taskID=3325305

Tomas
---
 drivers/block/cciss.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/block/cciss.h b/drivers/block/cciss.h
index ec3cda1..d1f6670 100644
--- a/drivers/block/cciss.h
+++ b/drivers/block/cciss.h
@@ -169,7 +169,7 @@ static void SA5_submit_command( ctlr_info_t *h, CommandList_struct *c)
 	 printk("Sending %x - down to controller\n", c->busaddr );
 #endif /* CCISS_DEBUG */ 
 	writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET);
-	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;