Commit Graph

5735 Commits

Author SHA1 Message Date
Jerzy Kasenberg 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
Jerzy Kasenberg c145777e0e dcd_pic32: Add asserts transfer sanity check
TU_ASSERTS added to detect transfer inconsistency.
2022-05-01 14:14:42 +02:00
Jerzy Kasenberg d51743a21c Add TU_BREAKPOINT for mips architecture
_mips is provided by xc32-gcc
2022-05-01 14:05:49 +02:00
Ha Thach 6ec5174d8b Merge pull request #1444 from Firefishy/gh-action-use-replacement-ruby
Gh action use replacement ruby
2022-04-26 01:05:33 +07:00
Grant Slater 35d1a71ed7 GH Update to actions/checkout@v3 2022-04-24 16:49:29 +01:00
Grant Slater 3a1c7339cd Replace actions/setup-ruby with replacement ruby/setup-ruby 2022-04-24 16:48:49 +01:00
Ha Thach 55a5fd59d7 Merge pull request #1440 from hathach/osal-queue-timeout
Osal queue timeout
2022-04-20 23:32:50 +07:00
hathach 87572871d5 update example for better cdc echo 2022-04-20 18:52:15 +07:00
hathach 6a022c73db add note for tud_task() behavior in freertos example 2022-04-20 18:35:38 +07:00
hathach 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
hathach ccafb42c82 disable blank issues, add online docs link 2022-04-20 14:40:55 +07:00
hathach 669e36d674 fix freertos issue when 1 tick > 1 ms 2022-04-20 14:37:42 +07:00
hathach 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
Ha Thach 9c8c5c1c53 Merge pull request #1413 from perigoso/perigoso-patch-1
Fix docs
2022-03-30 22:38:30 +07:00
Rafael Silva 95801bf5cc Update requirements.txt 2022-03-30 14:15:34 +01:00
Ha Thach edd8eb3279 Merge pull request #1409 from hathach/remove-pycache
remove cxd56 __pycache__ folder
2022-03-28 14:47:41 +07:00
hathach 735300b53c remove cxd56 __pycache-_ folder 2022-03-28 12:47:32 +07:00
Ha Thach ae531a79f6 Merge pull request #1403 from hathach/host-edpt-xfer
Host edpt xfer
2022-03-20 00:17:39 +07:00
hathach a270d8d623 move code around 2022-03-19 15:06:12 +07:00
hathach 821be65b03 rename usbh_edpt_open() to tuh_edpt_open() 2022-03-19 14:59:31 +07:00
hathach a4b976f095 get bare example working with hid device 2022-03-19 14:57:43 +07:00
hathach 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
hathach ba1185bf28 implement tuh_edpt_xfer() for non-control 2022-03-18 22:22:21 +07:00
hathach 9ae0304b1e move code around 2022-03-18 18:04:25 +07:00
hathach 8750e3b577 move daddr into xfer struct 2022-03-18 16:39:35 +07:00
hathach 2ff8978dde update sync API, move timeout into xfer struct
remove tuh_control_xfer_sync()
2022-03-18 13:38:30 +07:00
hathach 85c6d6d37d minor update for control xfer 2022-03-18 12:51:12 +07:00
hathach c063ab4944 try to fix ci 2022-03-18 00:56:51 +07:00
hathach f89ff939d8 rename user_arg to user_data 2022-03-17 22:37:51 +07:00
hathach 9dd2f11f4a add CFG_TUH_API_EDPT_XFER to enable generic edpt xfer 2022-03-17 21:20:20 +07:00
hathach 55428d7dd2 rename tuh_control_xfer_t to tuh_xfer_t 2022-03-17 20:52:16 +07:00
hathach 102b99a0e8 add actual_len supported 2022-03-17 20:48:32 +07:00
hathach 8aedb2ff37 slightly change the signature of tuh_control_xfer 2022-03-17 17:25:53 +07:00
hathach 1ee699d49d update example 2022-03-17 16:56:56 +07:00
hathach 66942b814b change return type of callback to void 2022-03-17 16:55:29 +07:00
hathach deab8c276a remove const in xfer callback 2022-03-17 16:53:54 +07:00
hathach 6df420f7f3 move result into transfer struct 2022-03-17 16:24:43 +07:00
hathach 68bfd048a5 change tuh_control_xfer_t struct 2022-03-17 12:53:52 +07:00
hathach 98d4ed0584 update hid host to use new control xfer for set config 2022-03-16 18:44:41 +07:00
hathach fd2ea2605e fix -Wnull-dereference warnings 2022-03-16 10:55:18 +07:00
Ha Thach 1915d69cb8 Merge pull request #1397 from hathach/rework-host-control-xfer
Rework host control xfer
2022-03-15 14:47:13 +07:00
hathach 2929afe2fa add synchronous (blocking) support for usbh control transfer
- add synchronous version of all get descriptor API
- update bare example to use sync API for string descriptor
- change order of index, language_id in tuh_descriptor_get_string() to
match similar API of libusb
- add index to tuh_descriptor_get_hid_report()
2022-03-13 17:45:46 +07:00
Ha Thach 228e185a15 Update bug_report.yml 2022-03-12 16:58:37 +07:00
hathach 56695569e7 minor changes 2022-03-12 14:28:24 +07:00
hathach ac4483a7c5 misplace fallthrough 2022-03-12 14:26:48 +07:00
hathach a5a565f7eb rework usbh enumeration process using user arg from control transfer as state 2022-03-12 14:20:57 +07:00
hathach ec28593ce5 update hid,msc to new usbh control API 2022-03-11 22:13:57 +07:00
hathach bcdeb386cc rework usbh control xfer
- change API of tuh_control_xfer and its callback
- rename tuh_control_complete_cb_t to tuh_control_xfer_cb_t
- add user argument to control callback
- migrate usbh and hub
2022-03-11 21:57:55 +07:00
Ha Thach d3c7d7b09e Merge pull request #1394 from hathach/merge-host-example
merge device_info into bare_api example
2022-03-11 14:02:10 +07:00
hathach 6b5490ced6 merge device_info into bare_api example 2022-03-11 13:12:36 +07:00