diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2014-08-05 18:18:46 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2014-09-07 17:45:35 +0200 |
commit | d3df564486d7c935bdcf01723b4e04a5af28e1c7 (patch) | |
tree | b33547540a157ea97a659902394c36e0c885fe3a /utils | |
parent | dd05dc76a45718ad327d3fec69c259b873c39154 (diff) | |
download | rockbox-d3df564486d7c935bdcf01723b4e04a5af28e1c7.tar.gz rockbox-d3df564486d7c935bdcf01723b4e04a5af28e1c7.zip |
hwstub: fix horrible bug
Change-Id: I8042f692045a23dbb545d840e5169ce4b99fe5d2
Diffstat (limited to 'utils')
-rw-r--r-- | utils/hwstub/stub/main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/utils/hwstub/stub/main.c b/utils/hwstub/stub/main.c index a8d99fc863..e31c5d1b8b 100644 --- a/utils/hwstub/stub/main.c +++ b/utils/hwstub/stub/main.c | |||
@@ -376,7 +376,6 @@ static void handle_read(struct usb_ctrlrequest *req) | |||
376 | { | 376 | { |
377 | if(id != last_id) | 377 | if(id != last_id) |
378 | return usb_drv_stall(EP_CONTROL, true, true); | 378 | return usb_drv_stall(EP_CONTROL, true, true); |
379 | memcpy((void *)last_addr, usb_buffer, req->wLength); | ||
380 | memcpy(usb_buffer, (void *)last_addr, req->wLength); | 379 | memcpy(usb_buffer, (void *)last_addr, req->wLength); |
381 | asm volatile("nop" : : : "memory"); | 380 | asm volatile("nop" : : : "memory"); |
382 | usb_drv_send(EP_CONTROL, usb_buffer, req->wLength); | 381 | usb_drv_send(EP_CONTROL, usb_buffer, req->wLength); |
@@ -392,7 +391,7 @@ static void handle_write(struct usb_ctrlrequest *req) | |||
392 | int sz_hdr = sizeof(struct hwstub_write_req_t); | 391 | int sz_hdr = sizeof(struct hwstub_write_req_t); |
393 | if(size < sz_hdr) | 392 | if(size < sz_hdr) |
394 | return usb_drv_stall(EP_CONTROL, true, true); | 393 | return usb_drv_stall(EP_CONTROL, true, true); |
395 | memcpy((void *)write->dAddress, usb_buffer + sz_hdr, req->wLength - sz_hdr); | 394 | memcpy((void *)write->dAddress, usb_buffer + sz_hdr, size - sz_hdr); |
396 | usb_drv_send(EP_CONTROL, NULL, 0); | 395 | usb_drv_send(EP_CONTROL, NULL, 0); |
397 | } | 396 | } |
398 | 397 | ||