linux/drivers/usb/usbip
Shuah Khan 8f36b3b4e1 usbip: add USBIP_URB_* URB transfer flags
USBIP driver packs URB transfer flags in network packets that are
exchanged between Server (usbip_host) and Client (vhci_hcd).

URB_* flags are internal to kernel and could change. Where as USBIP
URB flags exchanged in network packets are USBIP user API must not
change.

Add USBIP_URB* flags to make this an explicit API and change the
client and server to map them. Details as follows:

Client tx path (USBIP_CMD_SUBMIT):
- Maps URB_* to USBIP_URB_* when it sends USBIP_CMD_SUBMIT packet.

Server rx path (USBIP_CMD_SUBMIT):
- Maps USBIP_URB_* to URB_* when it receives USBIP_CMD_SUBMIT packet.

Flags aren't included in USBIP_CMD_UNLINK and USBIP_RET_SUBMIT packets
and no special handling is needed for them in the following cases:

- Server rx path (USBIP_CMD_UNLINK)
- Client rx path & Server tx path (USBIP_RET_SUBMIT)

Update protocol documentation to reflect the change.

Suggested-by: Hongren Zenithal Zheng <i@zenithal.me>
Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20220824002456.94605-1-skhan@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-08-31 09:07:53 +02:00
..
Kconfig
Makefile
stub_dev.c usb: usbip: fix a refcount leak in stub_probe() 2022-04-21 19:01:22 +02:00
stub_main.c usb: move from strlcpy with unused retval to strscpy 2022-08-19 11:08:54 +02:00
stub_rx.c usbip: add USBIP_URB_* URB transfer flags 2022-08-31 09:07:53 +02:00
stub_tx.c
stub.h
usbip_common.c usbip: add USBIP_URB_* URB transfer flags 2022-08-31 09:07:53 +02:00
usbip_common.h Linux 5.12-rc8 2021-04-20 10:13:58 +02:00
usbip_event.c usb: Remove redundant 'flush_workqueue()' calls 2021-11-17 14:36:57 +01:00
vhci_hcd.c usbip:vhci_hcd USB port can get stuck in the disabled state 2021-08-26 13:29:27 +02:00
vhci_rx.c
vhci_sysfs.c usbip: add sysfs_lock to synchronize sysfs code paths 2021-04-05 09:05:42 +02:00
vhci_tx.c
vhci.h
vudc_dev.c usbip: vudc synchronize sysfs code paths 2021-04-05 09:05:42 +02:00
vudc_main.c usb: usbip: eliminate anonymous module_init & module_exit 2022-03-18 12:52:56 +01:00
vudc_rx.c USB: usbip: clean up mixed use of _irq() and _irqsave() 2022-06-10 11:48:15 +02:00
vudc_sysfs.c usbip: vudc: Don't enable IRQs prematurely 2022-06-10 11:48:19 +02:00
vudc_transfer.c
vudc_tx.c
vudc.h