summaryrefslogtreecommitdiff
path: root/drivers/ide/ide-floppy.c
diff options
context:
space:
mode:
authorBorislav Petkov <bbpetkov@yahoo.de>2008-02-02 19:56:35 +0100
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-02 19:56:35 +0100
commitd30a7fba4380901b6a33fd798a0d0f9794a70ccc (patch)
tree57e5d39e1664433514ff8ce52b7f553531aaccb9 /drivers/ide/ide-floppy.c
parent20bf7bdad443d473826832674230834654b31d0b (diff)
downloadlwn-d30a7fba4380901b6a33fd798a0d0f9794a70ccc.tar.gz
lwn-d30a7fba4380901b6a33fd798a0d0f9794a70ccc.zip
ide-floppy: report DMA handling in idefloppy_pc_intr() properly
Bart: - use 'hwif' instead of 'HWIF(drive)' - minor CodingStyle fixup Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-floppy.c')
-rw-r--r--drivers/ide/ide-floppy.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index af4b633fa3d1..5c32d0cda4ac 100644
--- a/drivers/ide/ide-floppy.c
+++ b/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;