On Sun, Oct 26, 2008 at 09:01:42PM +0100, Valerio Passini wrote: [.. ] > Here I am, thus the patched kernel has been installed and tested. > Burning CD's and simulation work perfectly and everything seems fine. > :) Well, nice to hear :). Thanks for your debugging effort and patience. Bart, please apply. --- From: Borislav Petkov <petkovbb@xxxxxxxxx> Date: Mon, 27 Oct 2008 06:59:14 +0100 Subject: [PATCH] ide-cd: fix dma alignment regression e5318b531b008c79d2a0c0df06a7b8628da38e2f introduced a regression which caused some ATAPI drives to turn off dma for REQ_TYPE_ATA_PC commands while burning and thus degrating performance and ultimately causing an excessive amount of underruns. The issue is documented also in http://bugzilla.kernel.org/show_bug.cgi?id=11742. Signed-off-by: Borislav Petkov <petkovbb@xxxxxxxxx> CC: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> Tested-by: Valerio Passini <valerio.passini@xxxxxxxxx> --- drivers/ide/ide-cd.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index 64b9cb1..ea35e94 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c @@ -1204,7 +1204,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; } -- 1.5.6.5 -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html