summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_core.c
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-09-20 00:58:33 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-10-16 21:14:42 +0100
commitb69d43c247994c846da75c4b35d4351fbf96984d (patch)
treee15b746283bb42843243519b0f1aab5e92ff72e3 /firmware/usbstack/usb_core.c
parentec164c389c99d8129f9d6cacda2731bde9b08257 (diff)
downloadrockbox-b69d43c247994c846da75c4b35d4351fbf96984d.tar.gz
rockbox-b69d43c247994c846da75c4b35d4351fbf96984d.zip
usb: give USB transfer completion events two data pointers
Change-Id: I036cc7f02c2f86a364d2dba59493a6aa893f2c16
Diffstat (limited to 'firmware/usbstack/usb_core.c')
-rw-r--r--firmware/usbstack/usb_core.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c
index 1f17872ba8..4bc0443477 100644
--- a/firmware/usbstack/usb_core.c
+++ b/firmware/usbstack/usb_core.c
@@ -446,10 +446,10 @@ void usb_core_handle_transfer_completion(
446 case EP_CONTROL: 446 case EP_CONTROL:
447 logf("ctrl handled %ld req=0x%x", 447 logf("ctrl handled %ld req=0x%x",
448 current_tick, 448 current_tick,
449 ((struct usb_ctrlrequest*)event->data)->bRequest); 449 ((struct usb_ctrlrequest*)event->data[0])->bRequest);
450 450
451 usb_core_control_request_handler( 451 usb_core_control_request_handler(
452 (struct usb_ctrlrequest*)event->data); 452 (struct usb_ctrlrequest*)event->data[0]);
453 break; 453 break;
454 default: 454 default:
455 handler = ep_data[ep].completion_handler[EP_DIR(event->dir)]; 455 handler = ep_data[ep].completion_handler[EP_DIR(event->dir)];
@@ -952,7 +952,8 @@ void usb_core_transfer_complete(int endpoint, int dir, int status, int length)
952 952
953 completion_event->endpoint = endpoint; 953 completion_event->endpoint = endpoint;
954 completion_event->dir = dir; 954 completion_event->dir = dir;
955 completion_event->data = 0; 955 completion_event->data[0] = NULL;
956 completion_event->data[1] = NULL;
956 completion_event->status = status; 957 completion_event->status = status;
957 completion_event->length = length; 958 completion_event->length = length;
958 /* All other endpoints. Let the thread deal with it */ 959 /* All other endpoints. Let the thread deal with it */
@@ -984,7 +985,8 @@ void usb_core_legacy_control_request(struct usb_ctrlrequest* req)
984 985
985 completion_event->endpoint = EP_CONTROL; 986 completion_event->endpoint = EP_CONTROL;
986 completion_event->dir = 0; 987 completion_event->dir = 0;
987 completion_event->data = (void*)req; 988 completion_event->data[0] = (void*)req;
989 completion_event->data[1] = NULL;
988 completion_event->status = 0; 990 completion_event->status = 0;
989 completion_event->length = 0; 991 completion_event->length = 0;
990 logf("ctrl received %ld, req=0x%x", current_tick, req->bRequest); 992 logf("ctrl received %ld, req=0x%x", current_tick, req->bRequest);