mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-10-10 08:03:04 -04:00
usb: acknowledge SET_LINE_CODING in the serial driver
usb_serial_control_request() copies the line coding and returns handled = true without calling usb_core_control_response(). usb_core only answers requests a driver declines, so returning handled makes the status stage the driver's responsibility and nothing sends it. The host sees the request accepted and then times out waiting for status. Every other branch in this function already responds but this one was missed. Affects any target building USB_ENABLE_SERIAL. The symptom is a CDC console that enumerates and then stalls when a terminal opens it and sets the line rate. Change-Id: Icd97805971c68ce3a599cf01e9f6aa103c61c2ec Co-Authored-By: Claude Opus 4.8
This commit is contained in:
parent
233ea05ea2
commit
6ad1fd074a
1 changed files with 1 additions and 0 deletions
|
|
@ -288,6 +288,7 @@ static bool usb_serial_control_request(struct usb_ctrlrequest* req, uint8_t* req
|
|||
{
|
||||
/* Receive line coding into local copy */
|
||||
memcpy(line_coding.raw, reqdata, sizeof(struct cdc_line_coding));
|
||||
usb_core_control_response(USB_CONTROL_ACK, NULL, 0);
|
||||
handled = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue