diff options
-rw-r--r-- | firmware/export/kernel.h | 2 | ||||
-rw-r--r-- | firmware/usbstack/usb_storage.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 8b55a57daa..b8f2b906fd 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h | |||
@@ -66,6 +66,8 @@ | |||
66 | #define SYS_USB_DISCONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 2) | 66 | #define SYS_USB_DISCONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 2) |
67 | #define SYS_USB_DISCONNECTED_ACK MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 3) | 67 | #define SYS_USB_DISCONNECTED_ACK MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 3) |
68 | #define SYS_USB_LUN_LOCKED MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 4) | 68 | #define SYS_USB_LUN_LOCKED MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 4) |
69 | #define SYS_USB_READ_DATA MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 5) | ||
70 | #define SYS_USB_WRITE_DATA MAKE_SYS_EVENT(SYS_EVENT_CLS_USB, 6) | ||
69 | #define SYS_POWEROFF MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 0) | 71 | #define SYS_POWEROFF MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 0) |
70 | #define SYS_CHARGER_CONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 1) | 72 | #define SYS_CHARGER_CONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 1) |
71 | #define SYS_CHARGER_DISCONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 2) | 73 | #define SYS_CHARGER_DISCONNECTED MAKE_SYS_EVENT(SYS_EVENT_CLS_POWER, 2) |
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index ed9efd67c3..5f28638224 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c | |||
@@ -966,6 +966,7 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
966 | cbw->command_block[8]); | 966 | cbw->command_block[8]); |
967 | 967 | ||
968 | //logf("scsi read %d %d", cur_cmd.sector, cur_cmd.count); | 968 | //logf("scsi read %d %d", cur_cmd.sector, cur_cmd.count); |
969 | queue_broadcast(SYS_USB_READ_DATA, (lun<<16)+cur_cmd.count); | ||
969 | 970 | ||
970 | if((cur_cmd.sector + cur_cmd.count) > block_count) { | 971 | if((cur_cmd.sector + cur_cmd.count) > block_count) { |
971 | send_csw(UMS_STATUS_FAIL); | 972 | send_csw(UMS_STATUS_FAIL); |
@@ -1015,6 +1016,8 @@ static void handle_scsi(struct command_block_wrapper* cbw) | |||
1015 | cur_cmd.count = block_size_mult * | 1016 | cur_cmd.count = block_size_mult * |
1016 | (cbw->command_block[7] << 8 | | 1017 | (cbw->command_block[7] << 8 | |
1017 | cbw->command_block[8]); | 1018 | cbw->command_block[8]); |
1019 | |||
1020 | queue_broadcast(SYS_USB_WRITE_DATA, (lun<<16)+cur_cmd.count); | ||
1018 | /* expect data */ | 1021 | /* expect data */ |
1019 | if((cur_cmd.sector + cur_cmd.count) > block_count) { | 1022 | if((cur_cmd.sector + cur_cmd.count) > block_count) { |
1020 | send_csw(UMS_STATUS_FAIL); | 1023 | send_csw(UMS_STATUS_FAIL); |