summaryrefslogtreecommitdiff
path: root/src/device/usbd.c
AgeCommit message (Collapse)Author
2020-04-29remove the use of TU_VERIFY_HDLRhathach
2020-04-29Merge pull request #383 from kasjer/kasjer/fox-busy-flag-race-conditionHa Thach
Fix endpoint busy flag race condition
2020-04-27Fix endpoint busy flag race conditionJerzy Kasenberg
Busy flag was set to true after call to dcd_edpt_xfer(). In some cased it was possible that transfer finished before function ended. In this case busy flag could be set to false before it was set to true. Then setting it to true after dcd_edpt_xfer() made edpoint busy forever. This change marks endpoint as busy before transfer is started to avoid race condition.
2020-04-26clean up log messagehathach
2020-04-26add usbd edpt openhathach
- RTT mode is blocking to prevent log lost - Improve logging message
2020-04-21sof is optional, revert other changes but remove unneeded check.Nathan Conrad
2020-04-20tu_verify for getting descriptorsNathan Conrad
2020-04-17Merge branch 'master' into remove-dcd-set-confighathach
2020-04-16Merge pull request #336 from pigrew/edpt_closeHa Thach
> If you notice my chain of events above, the bulk transfer was started BEFORE the SET_INTERFACE call. The USB device hardware swaps the order of them being delivered. On STM32, it gives priority to the lower-numbered EP index. It shouldn't be a matter, control is 2+ stage, before sending the setup. Host should stop all communication to the endpoint that It wants to close.
2020-04-16Remove transfer queue filtering. May need to be revisited later.Nathan Conrad
2020-04-16per reviewhathach
2020-04-15always response if GET_INTERFACE even if class driver does not support alt ↵hathach
interface
2020-04-15implement alternate setInterface() requesthathach
mostly forward these request (recipient = interface) to class driver.
2020-04-15use IAD to assign itf2drv mapping correctlyhathach
merge net_data back into net driver
2020-04-15clean uphathach
2020-04-15clean uphathach
2020-04-15tested usbnet, completely remove class codehathach
2020-04-15remove class_code/subclass/protocol from driver structure, add name for logginghathach
2020-04-15Merge branch 'master' into class-driver-idhathach
2020-04-14usbnet: remove CDC-EEMPeter Lawrence
2020-04-15use class driver open() for interface support detectionhathach
tested with dfu_runtime
2020-04-14use explicit all_subclass and all_protocol since 0xFF is stil validhathach
2020-04-14Merge branch 'master' into edpt_closeNathan Conrad
2020-04-14complete adding subclass and protocol to driver idhathach
2020-04-14adding subclass & protocol to class driver structurehathach
2020-04-13edpt_close: Remove item from queue instead of modifying it.Nathan Conrad
2020-04-13edpt_close: Updated based on feedback.Nathan Conrad
2020-04-13lpc17xx move set configdevice into set addresshathach
for removing dcd_set_config()
2020-04-12Skeleton, and initial stm32fsdev implementation (that leaks memory)Nathan Conrad
2020-04-12usbnet: OS-agnostic (Windows/Linux/macOS) network driverPeter Lawrence
2020-04-11Merge pull request #332 from pigrew/stm32fsdev-dcdconnectHa Thach
stm32fsdev: Implement dcd_connect.
2020-04-10fix uint32_t format with loghathach
2020-04-09stm32fsdev: Implement dcd_connect.Nathan Conrad
2020-04-06house keepinghathach
2020-03-22Merge branch 'master' into cr1901-msp430f5529hathach
2020-03-08fix log printfhathach
2020-03-02add CDC-ECM/RNDIS/CDC-EEM network device class with examplePeter Lawrence
2020-02-26Add langid support to descriptor string callback.Chang Feng
Signed-off-by: Chang Feng <[email protected]>
2020-01-15Normalize line endingsNathan Conrad
2020-01-05Merge pull request #254 from majbthrd/multi-setconfigHa Thach
gracefully handle multiple SET_CONFIGURATION requests
2019-12-30Let device respond to endpoint requests on EP0 (#251)Jeremy Herbert
Since endpoint 0 is used for control requests, it doesn't have a class driver attached to it. As such, the corresponding `_usbd_dev.ep2drv` entry points to driver `0xFF`, which is invalid and this makes the `TU_ASSERT(drvid < USBD_CLASS_DRIVER_COUNT);` line fail, and eventually causes an endpoint stall. So as-is the stack cannot respond to any endpoint requests on endpoint 0. However, standard requests on endpoint 0 do not need a class driver to produce a valid response. This commit changes the order of execution so that the assert is only checked if the endpoint is not 0.
2019-12-28gracefully handle multiple SET_CONFIGURATION requestsPeter Lawrence
2019-12-23adding lookup table for debugginghathach
add msc scsi command list
2019-12-21able to response to scsi inquiry, but failed to response to test unit readyhathach
2019-11-28use dcd_edpt0_status_complete() to set address without blocking for ↵hathach
samd21/samd51/stm32_fsdev
2019-11-28get passed set addresshathach
2019-11-27get passed first get device descriptorhathach
2019-11-27extract code to invoke_class_control()hathach
- also rename usbd_class_drivers to _usbd_driver
2019-11-05Merge branch 'master' into cr1901-msp430f5529hathach
2019-11-05Merge pull request #149 from pigrew/ZLP_Request2hathach
Zlp request2