summaryrefslogtreecommitdiff
path: root/drivers/ide/ide-cd.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-11-02 13:32:26 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2008-11-02 13:32:26 -0800
commitae29a18594c40a344ddd5bcd6abe575786a5d978 (patch)
tree07e4e7e49ca0a891735e9da20929ddf61606c7ba /drivers/ide/ide-cd.c
parent0bf82cccd1e17135f880c161bc7926f5b25df34c (diff)
parent52ebb438e952c674e5a5c131292589db9bcf169b (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide-gd: re-get capacity on revalidate tx4938ide: Avoid underflow on calculation of a wait cycle tx4938ide: Do not call devm_ioremap for whole 128KB tx4938ide: Check minimum cycle time and SHWT range (v2) ide: Switch to a common address ide-cd: fix DMA alignment regression
Diffstat (limited to 'drivers/ide/ide-cd.c')
-rw-r--r--drivers/ide/ide-cd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 48b5eda3ab41..42ab6d8715f2 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1250,7 +1250,8 @@ static void cdrom_do_block_pc(ide_drive_t *drive, struct request *rq)
* separate masks.
*/
alignment = queue_dma_alignment(q) | q->dma_pad_mask;
- if ((unsigned long)buf & alignment || rq->data_len & alignment
+ if ((unsigned long)buf & alignment
+ || rq->data_len & q->dma_pad_mask
|| object_is_on_stack(buf))
drive->dma = 0;
}