Commit Graph

2514 Commits

Author SHA1 Message Date
0a4a28a90c Merge pull request #1451 from kasjer/kasjer/pic32-sanity-fixes
pic32 sanity fixes
2022-05-24 20:42:06 +07:00
8473ca16fb clean up 2022-05-10 22:56:06 +07:00
e49cad84e2 dcd_pic32: Fix memory overwrite in incoming data
When transfer was finished rx_fifo_read() read all that
was to read RXPKTRDY was cleared allowing next packet to
be received.
Then xfer_complete was called.
Interrupt for OUT endpoint was left enable, that would not
be a problem if data was handled fast and new transfer was
scheduled.
For MSC when host sends a lot of data this interrupt that was
enabled could cause epn_handle_rx_int() to be called after
transfer was completed and next was not scheduled yet.
Without TU_ASSERT that was added to detect this, incoming
data was written past buffer provided by user code resulting
in random memory corruption.

This just blocks RX interrupt when transfer is finished,
and also only unmasked rx interrupts are handled.
2022-05-01 14:26:24 +02:00
c145777e0e dcd_pic32: Add asserts transfer sanity check
TU_ASSERTS added to detect transfer inconsistency.
2022-05-01 14:14:42 +02:00
d51743a21c Add TU_BREAKPOINT for mips architecture
_mips is provided by xc32-gcc
2022-05-01 14:05:49 +02:00
0b30a10ab3 configure hid_to_cdc example to build with rp2040 with pio usb as host 2022-04-29 22:24:36 +07:00
85dcb73774 more clean up 2022-04-28 18:00:30 +07:00
a72d4e2462 make hcd_event_handler() fastfunc, and force inline other helper 2022-04-27 20:54:21 +07:00
ae5490e5a5 clean up 2022-04-27 20:52:56 +07:00
4a661dead0 add TU_ATTR_FAST_FUNC for rp2040 __not_in_flash() section 2022-04-27 17:57:52 +07:00
455bddddcd minor clean up 2022-04-26 18:47:09 +07:00
4d11c658ff improve pio usb endpoint handler 2022-04-26 13:08:03 +07:00
26a25279bc follow pio usb changes 2022-04-26 00:35:16 +07:00
2f9b9a31be more with pio usb 2022-04-22 18:26:58 +07:00
12debd7763 keep up with pio usb 2022-04-22 01:06:17 +07:00
98bbb0d402 Merge branch 'master' into pio-host 2022-04-21 12:05:22 +07:00
6a022c73db add note for tud_task() behavior in freertos example 2022-04-20 18:35:38 +07:00
b034c18077 add tud_task_ext(), tuh_task_ext() as exteneded version that take timeout and in_isr
also allow exit tud_task,tuh_task after processing all events for
running other background task for user
2022-04-20 18:29:41 +07:00
669e36d674 fix freertos issue when 1 tick > 1 ms 2022-04-20 14:37:42 +07:00
a90839688c add msec timeout to osal_queue_receive(), tud_task() and tuh_task() both pending for event queue with timeout of 1 ms 2022-04-20 13:25:38 +07:00
a32cb1bb93 clean up pio driver 2022-04-18 17:49:21 +07:00
b5a9537eea support pio dcd endpiont stall 2022-04-16 01:19:51 +07:00
05bfc1a9eb pio device works well 2022-04-15 01:04:12 +07:00
cc5a4720e5 catch up with pio lib 2022-04-14 22:00:47 +07:00
d5d4909c20 proof of concpet that device pio-usb work with host pio-usb 2022-04-08 13:36:05 +07:00
d97c154695 add need_pre for pio usb, but not work out well 2022-04-05 00:04:47 +07:00
d7d7e61f34 correct pio usb speed, and close device 2022-04-03 22:48:08 +07:00
7ea75d3c09 use pio usb host init 2022-04-03 20:44:16 +07:00
f6851cf187 clean up hcd pio 2022-04-03 00:17:58 +07:00
f881e77e66 extracting hw root port 2022-04-02 19:19:00 +07:00
c25f835aea update to use pio hw endpoint 2022-04-01 23:31:43 +07:00
db6cba6a7b rename pio to pio_usb 2022-04-01 16:38:41 +07:00
e6e3dfedc8 hid example work well 2022-04-01 16:34:36 +07:00
75bca96bc6 pio usb control work well including stall response 2022-04-01 16:01:24 +07:00
e94d11a5b3 implement pio_usb_irq_handler 2022-03-31 12:56:53 +07:00
e2f0aef93b make use pio_usb_port_reset_start/end 2022-03-30 16:41:55 +07:00
45052c625e Merge branch 'master' into pio-host 2022-03-20 00:51:00 +07:00
821be65b03 rename usbh_edpt_open() to tuh_edpt_open() 2022-03-19 14:59:31 +07:00
4795cca04a add parse config descriptor to example
move usbh_edpt_open() to public API, remove rhport from its signature
2022-03-19 00:43:31 +07:00
ba1185bf28 implement tuh_edpt_xfer() for non-control 2022-03-18 22:22:21 +07:00
9ae0304b1e move code around 2022-03-18 18:04:25 +07:00
8750e3b577 move daddr into xfer struct 2022-03-18 16:39:35 +07:00
2ff8978dde update sync API, move timeout into xfer struct
remove tuh_control_xfer_sync()
2022-03-18 13:38:30 +07:00
85c6d6d37d minor update for control xfer 2022-03-18 12:51:12 +07:00
c063ab4944 try to fix ci 2022-03-18 00:56:51 +07:00
f89ff939d8 rename user_arg to user_data 2022-03-17 22:37:51 +07:00
9dd2f11f4a add CFG_TUH_API_EDPT_XFER to enable generic edpt xfer 2022-03-17 21:20:20 +07:00
55428d7dd2 rename tuh_control_xfer_t to tuh_xfer_t 2022-03-17 20:52:16 +07:00
102b99a0e8 add actual_len supported 2022-03-17 20:48:32 +07:00
8aedb2ff37 slightly change the signature of tuh_control_xfer 2022-03-17 17:25:53 +07:00