diff options
-rw-r--r-- | firmware/target/arm/pp/ata-pp5020.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/firmware/target/arm/pp/ata-pp5020.c b/firmware/target/arm/pp/ata-pp5020.c index 77e77cae92..176e74993c 100644 --- a/firmware/target/arm/pp/ata-pp5020.c +++ b/firmware/target/arm/pp/ata-pp5020.c | |||
@@ -173,15 +173,13 @@ bool ata_dma_setup(void *addr, unsigned long bytes, bool write) { | |||
173 | return false; | 173 | return false; |
174 | 174 | ||
175 | /* Writes only need to be word-aligned, but by default DMA | 175 | /* Writes only need to be word-aligned, but by default DMA |
176 | * is not used for writing as it appears to be slower. | 176 | * is not used for writing on non-SSDs as it appears to be slower. |
177 | */ | 177 | */ |
178 | #ifdef ATA_DMA_WRITES | 178 | if (!ata_disk_isssd()) |
179 | if (write && ((unsigned long)addr & 3)) | ||
180 | return false; | 179 | return false; |
181 | #else | 180 | |
182 | if (write) | 181 | if (write && ((unsigned long)addr & 3)) |
183 | return false; | 182 | return false; |
184 | #endif | ||
185 | 183 | ||
186 | #if ATA_MAX_UDMA > 2 | 184 | #if ATA_MAX_UDMA > 2 |
187 | if (dma_needs_boost && !dma_boosted) { | 185 | if (dma_needs_boost && !dma_boosted) { |