summaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-cd.c
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2008-02-27 11:07:10 -0800
committerChristoph Lameter <clameter@sgi.com>2008-02-27 11:07:10 -0800
commit9ef64cb4320df821638b508f79aa8b858cca99f0 (patch)
tree4efbf0854234f89c6f4413077ec795fc669b5b0a /drivers/ide/ide-cd.c
parent6f157c1d268d5888ca44c589dccd01729c4172f6 (diff)
parent7704a8b6fc4a8f51599eb2af4dcf1e2ac9c7e576 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/ide/ide-cd.c')
-rw-r--r--drivers/ide/ide-cd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 354c91d06a6..310e497b583 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1207,9 +1207,13 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
end_request:
if (blk_pc_request(rq)) {
unsigned long flags;
+ unsigned int dlen = rq->data_len;
+
+ if (dma)
+ rq->data_len = 0;
spin_lock_irqsave(&ide_lock, flags);
- if (__blk_end_request(rq, 0, rq->data_len))
+ if (__blk_end_request(rq, 0, dlen))
BUG();
HWGROUP(drive)->rq = NULL;
spin_unlock_irqrestore(&ide_lock, flags);