diff options
Diffstat (limited to 'drivers/ide/ide-iops.c')
-rw-r--r-- | drivers/ide/ide-iops.c | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index b7da44c9e91c..a95178f5e1bb 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -938,28 +938,6 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive) | |||
938 | return ide_stopped; | 938 | return ide_stopped; |
939 | } | 939 | } |
940 | 940 | ||
941 | static void check_dma_crc(ide_drive_t *drive) | ||
942 | { | ||
943 | #ifdef CONFIG_BLK_DEV_IDEDMA | ||
944 | u8 mode; | ||
945 | |||
946 | ide_dma_off_quietly(drive); | ||
947 | drive->crc_count = 0; | ||
948 | mode = drive->current_speed; | ||
949 | /* | ||
950 | * Don't try non Ultra-DMA modes without iCRC's. Force the | ||
951 | * device to PIO and make the user enable SWDMA/MWDMA modes. | ||
952 | */ | ||
953 | if (mode > XFER_UDMA_0 && mode <= XFER_UDMA_7) | ||
954 | mode--; | ||
955 | else | ||
956 | mode = XFER_PIO_4; | ||
957 | ide_set_xfer_rate(drive, mode); | ||
958 | if (drive->current_speed >= XFER_SW_DMA_0) | ||
959 | ide_dma_on(drive); | ||
960 | #endif | ||
961 | } | ||
962 | |||
963 | static void ide_disk_pre_reset(ide_drive_t *drive) | 941 | static void ide_disk_pre_reset(ide_drive_t *drive) |
964 | { | 942 | { |
965 | int legacy = (drive->id->cfs_enable_2 & 0x0400) ? 0 : 1; | 943 | int legacy = (drive->id->cfs_enable_2 & 0x0400) ? 0 : 1; |
@@ -983,7 +961,7 @@ static void pre_reset(ide_drive_t *drive) | |||
983 | 961 | ||
984 | if (drive->using_dma) { | 962 | if (drive->using_dma) { |
985 | if (drive->crc_count) | 963 | if (drive->crc_count) |
986 | check_dma_crc(drive); | 964 | ide_check_dma_crc(drive); |
987 | else | 965 | else |
988 | ide_dma_off(drive); | 966 | ide_dma_off(drive); |
989 | } | 967 | } |