forked from len0rd/rockbox
hwstub: fix horrible bug
Change-Id: I8042f692045a23dbb545d840e5169ce4b99fe5d2
This commit is contained in:
parent
dd05dc76a4
commit
d3df564486
1 changed files with 1 additions and 2 deletions
|
|
@ -376,7 +376,6 @@ static void handle_read(struct usb_ctrlrequest *req)
|
||||||
{
|
{
|
||||||
if(id != last_id)
|
if(id != last_id)
|
||||||
return usb_drv_stall(EP_CONTROL, true, true);
|
return usb_drv_stall(EP_CONTROL, true, true);
|
||||||
memcpy((void *)last_addr, usb_buffer, req->wLength);
|
|
||||||
memcpy(usb_buffer, (void *)last_addr, req->wLength);
|
memcpy(usb_buffer, (void *)last_addr, req->wLength);
|
||||||
asm volatile("nop" : : : "memory");
|
asm volatile("nop" : : : "memory");
|
||||||
usb_drv_send(EP_CONTROL, usb_buffer, req->wLength);
|
usb_drv_send(EP_CONTROL, usb_buffer, req->wLength);
|
||||||
|
|
@ -392,7 +391,7 @@ static void handle_write(struct usb_ctrlrequest *req)
|
||||||
int sz_hdr = sizeof(struct hwstub_write_req_t);
|
int sz_hdr = sizeof(struct hwstub_write_req_t);
|
||||||
if(size < sz_hdr)
|
if(size < sz_hdr)
|
||||||
return usb_drv_stall(EP_CONTROL, true, true);
|
return usb_drv_stall(EP_CONTROL, true, true);
|
||||||
memcpy((void *)write->dAddress, usb_buffer + sz_hdr, req->wLength - sz_hdr);
|
memcpy((void *)write->dAddress, usb_buffer + sz_hdr, size - sz_hdr);
|
||||||
usb_drv_send(EP_CONTROL, NULL, 0);
|
usb_drv_send(EP_CONTROL, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue