diff options
Diffstat (limited to 'drivers/ide/sc1200.c')
-rw-r--r-- | drivers/ide/sc1200.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/ide/sc1200.c b/drivers/ide/sc1200.c index 1c3a82914999..d467478d68da 100644 --- a/drivers/ide/sc1200.c +++ b/drivers/ide/sc1200.c | |||
@@ -115,8 +115,7 @@ static u8 sc1200_udma_filter(ide_drive_t *drive) | |||
115 | if ((mateid[ATA_ID_FIELD_VALID] & 4) && | 115 | if ((mateid[ATA_ID_FIELD_VALID] & 4) && |
116 | (mateid[ATA_ID_UDMA_MODES] & 7)) | 116 | (mateid[ATA_ID_UDMA_MODES] & 7)) |
117 | goto out; | 117 | goto out; |
118 | if ((mateid[ATA_ID_FIELD_VALID] & 2) && | 118 | if (mateid[ATA_ID_MWDMA_MODES] & 7) |
119 | (mateid[ATA_ID_MWDMA_MODES] & 7)) | ||
120 | mask = 0; | 119 | mask = 0; |
121 | } | 120 | } |
122 | out: | 121 | out: |
@@ -183,9 +182,6 @@ static int sc1200_dma_end(ide_drive_t *drive) | |||
183 | outb(dma_stat|0x1b, dma_base+2); /* clear the INTR & ERROR bits */ | 182 | outb(dma_stat|0x1b, dma_base+2); /* clear the INTR & ERROR bits */ |
184 | outb(inb(dma_base)&~1, dma_base); /* !! DO THIS HERE !! stop DMA */ | 183 | outb(inb(dma_base)&~1, dma_base); /* !! DO THIS HERE !! stop DMA */ |
185 | 184 | ||
186 | drive->waiting_for_dma = 0; | ||
187 | ide_destroy_dmatable(drive); /* purge DMA mappings */ | ||
188 | |||
189 | return (dma_stat & 7) != 4; /* verify good DMA status */ | 185 | return (dma_stat & 7) != 4; /* verify good DMA status */ |
190 | } | 186 | } |
191 | 187 | ||
@@ -291,7 +287,6 @@ static const struct ide_dma_ops sc1200_dma_ops = { | |||
291 | .dma_test_irq = ide_dma_test_irq, | 287 | .dma_test_irq = ide_dma_test_irq, |
292 | .dma_lost_irq = ide_dma_lost_irq, | 288 | .dma_lost_irq = ide_dma_lost_irq, |
293 | .dma_timer_expiry = ide_dma_sff_timer_expiry, | 289 | .dma_timer_expiry = ide_dma_sff_timer_expiry, |
294 | .dma_timeout = ide_dma_timeout, | ||
295 | .dma_sff_read_status = ide_dma_sff_read_status, | 290 | .dma_sff_read_status = ide_dma_sff_read_status, |
296 | }; | 291 | }; |
297 | 292 | ||