diff options
author | Foster Snowhill <forst@pen.gy> | 2023-06-07 16:57:01 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-06-09 12:26:57 +0300 |
commit | a2d274c62e44b1995c170595db3865c6fe701226 (patch) | |
tree | 161ac40a21b0fd455dbd4ed7d9f38c2360b367b8 /drivers/net/usb/Kconfig | |
parent | 3e65efcca87a9bb5f3b864e0a43d167bc0a8688c (diff) | |
download | linux-a2d274c62e44b1995c170595db3865c6fe701226.tar.xz |
usbnet: ipheth: add CDC NCM support
Recent iOS releases support CDC NCM encapsulation on RX. This mode is
the default on macOS and Windows. In this mode, an iOS device may include
one or more Ethernet frames inside a single URB.
Freshly booted iOS devices start in legacy mode, but are put into
NCM mode by the official Apple driver. When reconnecting such a device
from a macOS/Windows machine to a Linux host, the device stays in
NCM mode, making it unusable with the legacy ipheth driver code.
To correctly support such a device, the driver has to either support
the NCM mode too, or put the device back into legacy mode.
To match the behaviour of the macOS/Windows driver, and since there
is no documented control command to revert to legacy mode, implement
NCM support. The device is attempted to be put into NCM mode by default,
and falls back to legacy mode if the attempt fails.
Signed-off-by: Foster Snowhill <forst@pen.gy>
Tested-by: Georgi Valkov <gvalkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/Kconfig')
0 files changed, 0 insertions, 0 deletions