lkml.org 
[lkml]   [2008]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 5/12] ide-floppy: report DMA handling in idefloppy_pc_intr() properly
Date
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
---
drivers/ide/ide-floppy.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 00ea8d6..5004773 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -534,11 +534,17 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
unsigned int temp;
u16 bcount;
u8 stat, ireason;
+ int dma_error = 0;

debug_log("Reached %s interrupt handler\n", __FUNCTION__);

if (test_bit(PC_DMA_IN_PROGRESS, &pc->flags)) {
- if (HWIF(drive)->ide_dma_end(drive)) {
+ dma_error = HWIF(drive)->ide_dma_end(drive);
+ if (dma_error) {
+ printk(KERN_ERR "%s: DMA %s error\n",
+ drive->name,
+ rq_data_dir(rq) == WRITE ? "write" :"read");
+
set_bit(PC_DMA_ERROR, &pc->flags);
} else {
pc->actually_transferred = pc->request_transfer;
--
1.5.3.7


\
 
 \ /
  Last update: 2008-01-13 21:27    [W:0.158 / U:5.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site