Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 139423
b: refs/heads/master
c: 1cee52d
h: refs/heads/master
i:
  139421: 556bea8
  139419: 6c23249
  139415: ad11483
  139407: 0463946
  139391: 0254053
v: v3
  • Loading branch information
Bartlomiej Zolnierkiewicz committed Mar 31, 2009
1 parent c96c69f commit db1f0bb
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 35c9b4daf4c94b30e5cede597d98016ebf31b5ad
refs/heads/master: 1cee52de28aa687760ad262ad0834d1bf6c6d2ac
21 changes: 6 additions & 15 deletions trunk/drivers/ide/ide-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -460,20 +460,6 @@ void ide_dma_lost_irq(ide_drive_t *drive)
}
EXPORT_SYMBOL_GPL(ide_dma_lost_irq);

static void ide_dma_timeout(ide_drive_t *drive)
{
ide_hwif_t *hwif = drive->hwif;

printk(KERN_ERR "%s: timeout waiting for DMA\n", drive->name);

if (hwif->dma_ops->dma_test_irq(drive))
return;

ide_dump_status(drive, "DMA timeout", hwif->tp_ops->read_status(hwif));

hwif->dma_ops->dma_end(drive);
}

/*
* un-busy the port etc, and clear any pending DMA status. we want to
* retry the current request in pio mode instead of risking tossing it
Expand All @@ -499,7 +485,12 @@ ide_startstop_t ide_dma_timeout_retry(ide_drive_t *drive, int error)
printk(KERN_WARNING "%s: DMA timeout retry\n", drive->name);
if (dma_ops->dma_clear)
dma_ops->dma_clear(drive);
ide_dma_timeout(drive);
printk(KERN_ERR "%s: timeout waiting for DMA\n", drive->name);
if (dma_ops->dma_test_irq(drive) == 0) {
ide_dump_status(drive, "DMA timeout",
hwif->tp_ops->read_status(hwif));
(void)dma_ops->dma_end(drive);
}
}

/*
Expand Down

0 comments on commit db1f0bb

Please sign in to comment.