diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-03 15:53:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-03 15:53:43 -0400 |
commit | 0d617928f5f5426f6e40edaacbfa80e73d67e0cd (patch) | |
tree | f2db31399c1fde4e25b078a911f0e0a5234e305f | |
parent | 7fd21be75dce605e7cf273bd64b6d733d422fb04 (diff) | |
parent | 2c8fc867602e385fd2abe76da0b6bda8ed907547 (diff) |
Merge git://github.com/davem330/ide
* git://github.com/davem330/ide:
ide-disk: Fix request requeuing
-rw-r--r-- | drivers/ide/ide-disk.c | 7 |
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); |