diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c index be49df0e48..7b80d0bcab 100644 --- a/firmware/usbstack/usb_core.c +++ b/firmware/usbstack/usb_core.c @@ -821,7 +821,7 @@ void usb_core_transfer_complete(int endpoint,int dir,int status,int length) break; default: - completion_event=&ep_data[endpoint].completion_event[dir!=0]; + completion_event=&ep_data[endpoint].completion_event[EP_DIR(dir)]; completion_event->endpoint=endpoint; completion_event->dir=dir; @@ -838,7 +838,7 @@ void usb_core_transfer_complete(int endpoint,int dir,int status,int length) void usb_core_control_request(struct usb_ctrlrequest* req) { struct usb_transfer_completion_event_data* completion_event = - &ep_data[EP_CONTROL].completion_event[1]; + &ep_data[EP_CONTROL].completion_event[EP_DIR(USB_DIR_IN)]; completion_event->endpoint=EP_CONTROL; completion_event->dir=0;