提交 a52de245 编写于 作者: M Mike Miller 提交者: Jens Axboe

[PATCH] cciss: fix XFER_READ/XFER_WRITE in do_cciss_request

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.

Thanks,
mikem
Signed-off-by: NMike Miller <mike.miller@hp.com>
Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
上级 89f97ad1
...@@ -2492,7 +2492,7 @@ static void do_cciss_request(request_queue_t *q) ...@@ -2492,7 +2492,7 @@ static void do_cciss_request(request_queue_t *q)
c->Request.Type.Type = TYPE_CMD; // It is a command. c->Request.Type.Type = TYPE_CMD; // It is a command.
c->Request.Type.Attribute = ATTR_SIMPLE; c->Request.Type.Attribute = ATTR_SIMPLE;
c->Request.Type.Direction = 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.Timeout = 0; // Don't time out
c->Request.CDB[0] = c->Request.CDB[0] =
(rq_data_dir(creq) == READ) ? h->cciss_read : h->cciss_write; (rq_data_dir(creq) == READ) ? h->cciss_read : h->cciss_write;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册