summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/usb-drv-pp502x.c1
-rw-r--r--firmware/usbstack/usb_storage.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/firmware/target/arm/usb-drv-pp502x.c b/firmware/target/arm/usb-drv-pp502x.c
index e35b4da67f..06358669c6 100644
--- a/firmware/target/arm/usb-drv-pp502x.c
+++ b/firmware/target/arm/usb-drv-pp502x.c
@@ -353,7 +353,6 @@ bool usb_drv_powered(void)
353/* manual: 32.14.1 Device Controller Initialization */ 353/* manual: 32.14.1 Device Controller Initialization */
354void usb_drv_init(void) 354void usb_drv_init(void)
355{ 355{
356 trigger_cpu_boost();
357 REG_USBCMD &= ~USBCMD_RUN; 356 REG_USBCMD &= ~USBCMD_RUN;
358 udelay(50000); 357 udelay(50000);
359 REG_USBCMD |= USBCMD_CTRL_RESET; 358 REG_USBCMD |= USBCMD_CTRL_RESET;
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index 59339eb1c3..9488f8aecc 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -879,6 +879,7 @@ static void handle_scsi(struct command_block_wrapper* cbw)
879 cur_sense_data.ascq=0; 879 cur_sense_data.ascq=0;
880 } 880 }
881 else { 881 else {
882 trigger_cpu_boost();
882 cur_cmd.last_result = ata_read_sectors(IF_MV2(cur_cmd.lun,) 883 cur_cmd.last_result = ata_read_sectors(IF_MV2(cur_cmd.lun,)
883 cur_cmd.sector, 884 cur_cmd.sector,
884 MIN(BUFFER_SIZE/SECTOR_SIZE, 885 MIN(BUFFER_SIZE/SECTOR_SIZE,
@@ -916,6 +917,7 @@ static void handle_scsi(struct command_block_wrapper* cbw)
916 cur_sense_data.ascq=0; 917 cur_sense_data.ascq=0;
917 } 918 }
918 else { 919 else {
920 trigger_cpu_boost();
919 receive_block_data(cur_cmd.data[0], 921 receive_block_data(cur_cmd.data[0],
920 MIN(BUFFER_SIZE, 922 MIN(BUFFER_SIZE,
921 cur_cmd.count*SECTOR_SIZE)); 923 cur_cmd.count*SECTOR_SIZE));
@@ -951,6 +953,7 @@ static void receive_block_data(void *data,int size)
951 953
952static void send_csw(int status) 954static void send_csw(int status)
953{ 955{
956 cancel_cpu_boost();
954 tb.csw->signature = htole32(CSW_SIGNATURE); 957 tb.csw->signature = htole32(CSW_SIGNATURE);
955 tb.csw->tag = cur_cmd.tag; 958 tb.csw->tag = cur_cmd.tag;
956 tb.csw->data_residue = 0; 959 tb.csw->data_residue = 0;