After a STALL handshake is transmitted, a control pipe becomes idle. Not marking the pipe as idle did not affect the STM32 family. Since it distinguishes between OUT and SETUP tokens, it calls the setup handler on a SETUP token, regardless of the state of the pipe. Other families, such as LM4F do not distinguish in software between IN and SETUP tokens, and need to decide which handler to call based on the state of the pipe. On these chips, SETUP transactions will not be handled properly after a transfer was STALLED, as the state machine of the pipe is b0rked. Unb0rk it. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
7.7 KiB
7.7 KiB