aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-dma.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-25 16:17:19 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-25 16:17:19 -0500
commit7b905994ce0bd332afc5ebc30ce9afa60d23c6e2 (patch)
tree4f0f25616d816087e0022dce95f996c99c8dcc6e /drivers/ide/ide-dma.c
parent23b1bd459c9e8a925381960f0b69ac85468c3af1 (diff)
ide: cleanup ide_set_dma()
* ->dma_off_quietly is always called before ide_set_dma() so the call can be moved inside ide_set_dma(). * ide_dma_check() doesn't touch hardware so ->dma_off_quietly call for 'rc == -1' case is redundant, remove it. * '0' and '-1' are the only values returned by ide_dma_check() so remove dead code for other cases. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-dma.c')
-rw-r--r--drivers/ide/ide-dma.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index 7568c3e81f2f..01036305d6fc 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -827,22 +827,19 @@ int ide_set_dma(ide_drive_t *drive)
827 ide_hwif_t *hwif = drive->hwif; 827 ide_hwif_t *hwif = drive->hwif;
828 int rc; 828 int rc;
829 829
830 rc = ide_dma_check(drive); 830 /*
831 * Force DMAing for the beginning of the check.
832 * Some chipsets appear to do interesting
833 * things, if not checked and cleared.
834 * PARANOIA!!!
835 */
836 hwif->dma_off_quietly(drive);
831 837
832 switch(rc) { 838 rc = ide_dma_check(drive);
833 case -1: /* DMA needs to be disabled */ 839 if (rc)
834 hwif->dma_off_quietly(drive); 840 return rc;
835 return -1;
836 case 0: /* DMA needs to be enabled */
837 return hwif->ide_dma_on(drive);
838 case 1: /* DMA setting cannot be changed */
839 break;
840 default:
841 BUG();
842 break;
843 }
844 841
845 return rc; 842 return hwif->ide_dma_on(drive);
846} 843}
847 844
848#ifdef CONFIG_BLK_DEV_IDEDMA_PCI 845#ifdef CONFIG_BLK_DEV_IDEDMA_PCI