]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-cd.c
Merge branch 'master' of ../linux-2.6/
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-cd.c
index 354c91d06a6d26d6af5f5c0fd5bb38d178d82a2f..310e497b58380d5d348c29d9d890204e1cf47edf 100644 (file)
@@ -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);