diff options
Diffstat (limited to 'drivers/ide/pci/sl82c105.c')
-rw-r--r-- | drivers/ide/pci/sl82c105.c | 13 |
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 | ||
244 | static int sl82c105_ide_dma_timeout(ide_drive_t *drive) | 244 | static 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 | ||
255 | static int sl82c105_ide_dma_on(ide_drive_t *drive) | 252 | static 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; |