[dm-devel] [PATCH] dm-mpath-rdac: don't stomp on a request's transfer bit.

Andrew Vasquez andrew.vasquez at qlogic.com
Tue Jul 17 21:07:06 UTC 2007


Signed-off-by: Andrew Vasquez <andrew.vasquez at qlogic.com>
---

	On Thu, 12 Jul 2007, Mike Anderson wrote:

	> Copying this mail to linux-scsi and Ccing Andrew Vasquez to possibly
	> provide input on the Qlogic behavior.
	...

	> > > Jul 12 17:11:15 jimbo kernel: qla2xxx 0000:02:01.1: ISP System Error - mbx1=0h
	> > > mbx2=8012h mbx3=8002h.
	> > > Jul 12 17:11:15 jimbo kernel: qla2xxx 0000:02:01.1: Firmware has been previously
	> > > dumped (ffffc2000171d000) -- ignoring request...
	> > > Jul 12 17:11:16 jimbo kernel: qla2xxx 0000:02:01.1: Performing ISP error
	> > > recovery - ha= ffff81007e85c530.

	So what's happening here is the firmware is detecting a Xfer-ready
	from the storage when in fact the data-direction for a mode-select
	should be a write (DATA_OUT).

	The following patch fixes the problem (typo).  Verified by Brian, as
	well.

diff --git a/drivers/md/dm-mpath-rdac.c b/drivers/md/dm-mpath-rdac.c
index 8b776b8..16b1613 100644
--- a/drivers/md/dm-mpath-rdac.c
+++ b/drivers/md/dm-mpath-rdac.c
@@ -292,7 +292,7 @@ static struct request *get_rdac_req(struct rdac_handler *h,
 	rq->end_io_data = h;
 	rq->timeout = h->timeout;
 	rq->cmd_type = REQ_TYPE_BLOCK_PC;
-	rq->cmd_flags = REQ_FAILFAST | REQ_NOMERGE;
+	rq->cmd_flags |= REQ_FAILFAST | REQ_NOMERGE;
 	return rq;
 }
 




More information about the dm-devel mailing list