aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch
new file mode 100644
index 0000000000..bb572b3f21
--- /dev/null
+++ b/target/linux/generic/backport-5.4/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch
@@ -0,0 +1,44 @@
+From: Yves-Alexis Perez <corsac@corsac.net>
+Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14
+Date: Thu, 19 Nov 2020 18:24:39 +0100
+Archived-At: <https://lore.kernel.org/stable/20201119172439.94988-1-corsac@corsac.net/>
+List-Post: <mailto:stable@vger.kernel.org>
+
+Starting with iOS 14 released in September 2020, connectivity using the
+personal hotspot USB tethering function of iOS devices is broken.
+
+Communication between the host and the device (for example ICMP traffic
+or DNS resolution using the DNS service running in the device itself)
+works fine, but communication to endpoints further away doesn't work.
+
+Investigation on the matter shows that UDP and ICMP traffic from the
+tethered host is reaching the Internet at all. For TCP traffic there are
+exchanges between tethered host and server but packets are modified in
+transit leading to impossible communication.
+
+After some trials Matti Vuorela discovered that reducing the URB buffer
+size by two bytes restored the previous behavior. While a better
+solution might exist to fix the issue, since the protocol is not
+publicly documented and considering the small size of the fix, let's do
+that.
+
+Tested-by: Matti Vuorela <matti.vuorela@bitfactor.fi>
+Signed-off-by: Yves-Alexis Perez <corsac@corsac.net>
+Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/
+Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038
+Cc: stable@vger.kernel.org
+---
+ drivers/net/usb/ipheth.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/usb/ipheth.c
++++ b/drivers/net/usb/ipheth.c
+@@ -59,7 +59,7 @@
+ #define IPHETH_USBINTF_SUBCLASS 253
+ #define IPHETH_USBINTF_PROTO 1
+
+-#define IPHETH_BUF_SIZE 1516
++#define IPHETH_BUF_SIZE 1514
+ #define IPHETH_IP_ALIGN 2 /* padding at front of URB */
+ #define IPHETH_TX_TIMEOUT (5 * HZ)
+