]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[PATCH] cciss: fix XFER_READ/XFER_WRITE in do_cciss_request
authorMike Miller <mike.miller@hp.com>
Sat, 23 Dec 2006 20:11:58 +0000 (15:11 -0500)
committerChris Wright <chrisw@sous-sol.org>
Wed, 10 Jan 2007 19:05:20 +0000 (11:05 -0800)
This patch fixes a stupid bug. Sometime during the 2tb enhancement I ended up
replacing the macros XFER_READ and XFER_WRITE with h->cciss_read and
h->cciss_write respectively. It seemed to work somehow at least on x86_64 and
ia64. I don't know how. But people started complaining about command timeouts
on older controllers like the 64xx series and only on ia32. This resolves the
issue reproduced in our lab. Please consider this for inclusion.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
drivers/block/cciss.c

index 4105c3bf34764da399d29e638294ead0e07a3973..95df5bff7d64e3e93bda58b698673e94520cae5c 100644 (file)
@@ -2530,7 +2530,7 @@ static void do_cciss_request(request_queue_t *q)
        c->Request.Type.Type = TYPE_CMD;        // It is a command.
        c->Request.Type.Attribute = ATTR_SIMPLE;
        c->Request.Type.Direction =
-           (rq_data_dir(creq) == READ) ? h->cciss_read : h->cciss_write;
+           (rq_data_dir(creq) == READ) ? XFER_READ : XFER_WRITE;
        c->Request.Timeout = 0; // Don't time out
        c->Request.CDB[0] =
            (rq_data_dir(creq) == READ) ? h->cciss_read : h->cciss_write;