Skip to content

Commit 8580774

Browse files
authored
Merge pull request #2239 from XelaRellum/bugfix_stm32_fsdev_keil
Fixes #1018 the weak dcd_edpt0_status_complete for Keil Compiler
2 parents 71ce4b8 + 9665843 commit 8580774

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/device/dcd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ void dcd_sof_enable(uint8_t rhport, bool en);
152152

153153
// Invoked when a control transfer's status stage is complete.
154154
// May help DCD to prepare for next control transfer, this API is optional.
155-
void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const * request) TU_ATTR_WEAK;
155+
void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const * request);
156156

157157
// Configure endpoint's registers according to descriptor
158158
bool dcd_edpt_open (uint8_t rhport, tusb_desc_endpoint_t const * desc_ep);

src/device/usbd_control.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,15 @@ bool tud_control_xfer(uint8_t rhport, tusb_control_request_t const * request, vo
135135
// USBD API
136136
//--------------------------------------------------------------------+
137137

138+
TU_ATTR_WEAK void dcd_edpt0_status_complete(uint8_t rhport, tusb_control_request_t const * request)
139+
{
140+
(void)rhport;
141+
(void)request;
142+
143+
// this is the default implementation that is called when no "real" implementation
144+
// of the function exists
145+
}
146+
138147
void usbd_control_reset(void);
139148
void usbd_control_set_request(tusb_control_request_t const *request);
140149
void usbd_control_set_complete_callback( usbd_control_xfer_cb_t fp );
@@ -173,7 +182,7 @@ bool usbd_control_xfer_cb (uint8_t rhport, uint8_t ep_addr, xfer_result_t result
173182
TU_ASSERT(0 == xferred_bytes);
174183

175184
// invoke optional dcd hook if available
176-
if (dcd_edpt0_status_complete) dcd_edpt0_status_complete(rhport, &_ctrl_xfer.request);
185+
dcd_edpt0_status_complete(rhport, &_ctrl_xfer.request);
177186

178187
if (_ctrl_xfer.complete_cb)
179188
{

0 commit comments

Comments
 (0)