aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/sl82c105.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/sl82c105.c')
-rw-r--r--drivers/ide/pci/sl82c105.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c
index 202ce4965b60..487879842af4 100644
--- a/drivers/ide/pci/sl82c105.c
+++ b/drivers/ide/pci/sl82c105.c
@@ -241,15 +241,12 @@ static void sl82c105_dma_start(ide_drive_t *drive)
241 ide_dma_start(drive); 241 ide_dma_start(drive);
242} 242}
243 243
244static int sl82c105_ide_dma_timeout(ide_drive_t *drive) 244static void sl82c105_dma_timeout(ide_drive_t *drive)
245{ 245{
246 ide_hwif_t *hwif = HWIF(drive); 246 DBG(("sl82c105_dma_timeout(drive:%s)\n", drive->name));
247 struct pci_dev *dev = hwif->pci_dev;
248 247
249 DBG(("sl82c105_ide_dma_timeout(drive:%s)\n", drive->name)); 248 sl82c105_reset_host(HWIF(drive)->pci_dev);
250 249 ide_dma_timeout(drive);
251 sl82c105_reset_host(dev);
252 return __ide_dma_timeout(drive);
253} 250}
254 251
255static int sl82c105_ide_dma_on(ide_drive_t *drive) 252static int sl82c105_ide_dma_on(ide_drive_t *drive)
@@ -440,7 +437,7 @@ static void __devinit init_hwif_sl82c105(ide_hwif_t *hwif)
440 hwif->dma_off_quietly = &sl82c105_dma_off_quietly; 437 hwif->dma_off_quietly = &sl82c105_dma_off_quietly;
441 hwif->dma_lost_irq = &sl82c105_dma_lost_irq; 438 hwif->dma_lost_irq = &sl82c105_dma_lost_irq;
442 hwif->dma_start = &sl82c105_dma_start; 439 hwif->dma_start = &sl82c105_dma_start;
443 hwif->ide_dma_timeout = &sl82c105_ide_dma_timeout; 440 hwif->dma_timeout = &sl82c105_dma_timeout;
444 441
445 if (!noautodma) 442 if (!noautodma)
446 hwif->autodma = 1; 443 hwif->autodma = 1;