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) /* manual: 32.14.1 Device Controller Initialization */ void usb_drv_init(void) { - trigger_cpu_boost(); REG_USBCMD &= ~USBCMD_RUN; udelay(50000); 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) cur_sense_data.ascq=0; } else { + trigger_cpu_boost(); cur_cmd.last_result = ata_read_sectors(IF_MV2(cur_cmd.lun,) cur_cmd.sector, MIN(BUFFER_SIZE/SECTOR_SIZE, @@ -916,6 +917,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) cur_sense_data.ascq=0; } else { + trigger_cpu_boost(); receive_block_data(cur_cmd.data[0], MIN(BUFFER_SIZE, cur_cmd.count*SECTOR_SIZE)); @@ -951,6 +953,7 @@ static void receive_block_data(void *data,int size) static void send_csw(int status) { + cancel_cpu_boost(); tb.csw->signature = htole32(CSW_SIGNATURE); tb.csw->tag = cur_cmd.tag; tb.csw->data_residue = 0;