From 0e01361b95889cd280b518f9739053f8fd41b3d0 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Sat, 2 Feb 2008 19:56:35 +0100 Subject: [PATCH] --- yaml --- r: 82541 b: refs/heads/master c: d30a7fba4380901b6a33fd798a0d0f9794a70ccc h: refs/heads/master i: 82539: 4ef0d83dc44c51c07c889de82647274316d5371d v: v3 --- [refs] | 2 +- trunk/drivers/ide/ide-floppy.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 624d93174cab..16bb6f46ea20 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20bf7bdad443d473826832674230834654b31d0b +refs/heads/master: d30a7fba4380901b6a33fd798a0d0f9794a70ccc diff --git a/trunk/drivers/ide/ide-floppy.c b/trunk/drivers/ide/ide-floppy.c index af4b633fa3d1..5c32d0cda4ac 100644 --- a/trunk/drivers/ide/ide-floppy.c +++ b/trunk/drivers/ide/ide-floppy.c @@ -532,13 +532,17 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive) idefloppy_pc_t *pc = floppy->pc; struct request *rq = pc->rq; unsigned int temp; + int dma_error = 0; u16 bcount; u8 stat, ireason; debug_log("Reached %s interrupt handler\n", __func__); if (test_bit(PC_DMA_IN_PROGRESS, &pc->flags)) { - if (HWIF(drive)->ide_dma_end(drive)) { + dma_error = hwif->ide_dma_end(drive); + if (dma_error) { + printk(KERN_ERR "%s: DMA %s error\n", drive->name, + rq_data_dir(rq) ? "write" : "read"); set_bit(PC_DMA_ERROR, &pc->flags); } else { pc->actually_transferred = pc->request_transfer;