aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-03 15:53:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-03 15:53:43 -0400
commit0d617928f5f5426f6e40edaacbfa80e73d67e0cd (patch)
treef2db31399c1fde4e25b078a911f0e0a5234e305f
parent7fd21be75dce605e7cf273bd64b6d733d422fb04 (diff)
parent2c8fc867602e385fd2abe76da0b6bda8ed907547 (diff)
Merge git://github.com/davem330/ide
* git://github.com/davem330/ide: ide-disk: Fix request requeuing
-rw-r--r--drivers/ide/ide-disk.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index 274798068a5..16f69be820c 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -435,7 +435,12 @@ static int idedisk_prep_fn(struct request_queue *q, struct request *rq)
435 if (!(rq->cmd_flags & REQ_FLUSH)) 435 if (!(rq->cmd_flags & REQ_FLUSH))
436 return BLKPREP_OK; 436 return BLKPREP_OK;
437 437
438 cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); 438 if (rq->special) {
439 cmd = rq->special;
440 memset(cmd, 0, sizeof(*cmd));
441 } else {
442 cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC);
443 }
439 444
440 /* FIXME: map struct ide_taskfile on rq->cmd[] */ 445 /* FIXME: map struct ide_taskfile on rq->cmd[] */
441 BUG_ON(cmd == NULL); 446 BUG_ON(cmd == NULL);