@@ -852,20 +852,14 @@ DRESULT disk_read (
852
852
int rv ;
853
853
854
854
if (count > 1 && mnt -> dev_dma ) {
855
- #ifdef FATFS_USE_DMA_BUF
856
- if ((uintptr_t )buff & 31 ) {
857
- if (count <= mnt -> fs -> csize ) {
858
- dest = mnt -> dmabuf ;
859
- }
860
- else {
861
- dest = (uint8_t * )memalign (32 , count << dev -> l_block_size );
862
- }
863
- }
864
- dev = mnt -> dev_dma ;
865
- #else
866
855
if (((uintptr_t )buff & 31 ) == 0 ) {
867
856
dev = mnt -> dev_dma ;
868
857
}
858
+ #ifdef FATFS_USE_DMA_BUF
859
+ else if (count <= mnt -> fs -> csize ) {
860
+ dest = mnt -> dmabuf ;
861
+ dev = mnt -> dev_dma ;
862
+ }
869
863
#endif
870
864
}
871
865
@@ -878,10 +872,6 @@ DRESULT disk_read (
878
872
#ifdef FATFS_USE_DMA_BUF
879
873
if (dest != buff ) {
880
874
memcpy (buff , dest , count << dev -> l_block_size );
881
-
882
- if (dest != mnt -> dmabuf ) {
883
- free (dest );
884
- }
885
875
}
886
876
#endif
887
877
@@ -911,21 +901,15 @@ DRESULT disk_write (
911
901
int rv ;
912
902
913
903
if (count > 1 && mnt -> dev_dma ) {
914
- #ifdef FATFS_USE_DMA_BUF
915
- if ((uintptr_t )buff & 31 ) {
916
- if (count <= mnt -> fs -> csize ) {
917
- src = mnt -> dmabuf ;
918
- }
919
- else {
920
- src = (uint8_t * )memalign (32 , count << dev -> l_block_size );
921
- }
922
- memcpy (src , buff , count << dev -> l_block_size );
923
- }
924
- dev = mnt -> dev_dma ;
925
- #else
926
904
if (((uintptr_t )buff & 31 ) == 0 ) {
927
905
dev = mnt -> dev_dma ;
928
906
}
907
+ #ifdef FATFS_USE_DMA_BUF
908
+ else if (count <= mnt -> fs -> csize ) {
909
+ src = mnt -> dmabuf ;
910
+ dev = mnt -> dev_dma ;
911
+ memcpy (src , buff , count << dev -> l_block_size );
912
+ }
929
913
#endif
930
914
}
931
915
@@ -935,12 +919,6 @@ DRESULT disk_write (
935
919
936
920
rv = dev -> write_blocks (dev , sector , count , src );
937
921
938
- #ifdef FATFS_USE_DMA_BUF
939
- if (src != buff && src != mnt -> dmabuf ) {
940
- free (src );
941
- }
942
- #endif
943
-
944
922
if (rv < 0 ) {
945
923
DBG ((DBG_ERROR , "FATFS: %s[%d] %s error: %d\n" ,
946
924
__func__ , pdrv ,
0 commit comments