zephyr/subsys
Emil Obalski 1b353d5726 usb: Avoid creating duplicate OUT transfers.
This commit fixes an issue when more than one USB transfer is
reserved for same OUT endpoint.

There are 2 scenarios when this could happen:
- The Host sends SET_CONFIGURATION(1) request twice.
- The Host triggers Suspend->Resume->Configured
  event sequence for the device.

USB tranfers are not canceled on SUSPEND event
when the device was not configred previously.

Because of that USB transfer slot is reserved twice
for the same OUT endpoint and lead to shortage of USB
transfer slots quickly.

Without this patch CDC ACM class reserves duplicated USB
transfer slots for one transfer. The sequence of
Suspend->Resume events is genereted alongside with
Configured and the stack will shortly run out of transfer
slots.

If the Host, for some reason, decides to send
SET_CONFIGURATION request twice the same issue is seen.
This patch prevents from reserving additional USB transfer
slots twice.

Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
2020-08-19 13:19:56 +02:00
..
bluetooth Bluetooth: shell: per_adv_sync cb removed pointer to selected inst 2020-08-17 13:44:35 -04:00
canbus canbus: use kernel stacks 2020-08-02 10:50:12 -04:00
console device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
cpp cpp: Fixed compile warning with extern array declaration 2020-06-09 14:42:16 +02:00
debug zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
dfu config: Rename TEXT_SECTION_OFFSET to ROM_START_OFFSET 2020-07-09 14:02:38 -04:00
disk device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
fb device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
fs subsys/fs/fatfs: Add kconfig option for enabling exFAT support 2020-08-13 14:15:40 +02:00
jwt zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
logging logging: net: Modify ipv4 init code, so it compiles if ipv4 is disabled 2020-08-14 18:51:28 -04:00
mgmt mgmt/osdp: Add support for OSDP in PD mode of operation 2020-08-13 11:48:28 +02:00
net net: l2: ppp: add initial support for PAP authentication 2020-08-18 20:03:05 +03:00
power cmake: remove _if_kconfig() functions 2020-08-01 12:35:20 +02:00
random random: Add syscalls for random subsystem 2020-07-08 21:05:36 -04:00
settings subsys/fs: Add open flags parameter to fs_open 2020-07-30 16:33:18 +02:00
shell shell_ops: simplify flag_xxx_get functions 2020-08-18 10:44:35 -04:00
stats cmake: remove _if_kconfig() functions 2020-08-01 12:35:20 +02:00
storage device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
testsuite ztest: make arc/cpu.h override C++ safe 2020-08-12 16:39:37 -05:00
tracing samples: tracing: Enable USB by the application 2020-08-13 11:49:47 +02:00
usb usb: Avoid creating duplicate OUT transfers. 2020-08-19 13:19:56 +02:00
CMakeLists.txt cmake: remove _if_kconfig() functions 2020-08-01 12:35:20 +02:00
Kconfig