]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
qmi_wwan: set FLAG_SEND_ZLP to avoid network initiated disconnect
authorBjørn Mork <bjorn@mork.no>
Thu, 14 Dec 2017 18:55:50 +0000 (19:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Mar 2018 10:02:46 +0000 (11:02 +0100)
[ Upstream commit 245d21190aec547c0de64f70c0e6de871c185a24 ]

It has been reported that the dummy byte we add to avoid
ZLPs can be forwarded by the modem to the PGW/GGSN, and that
some operators will drop the connection if this happens.

In theory, QMI devices are based on CDC ECM and should as such
both support ZLPs and silently ignore the dummy byte.  The latter
assumption failed.  Let's test out the first.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/qmi_wwan.c

index e7114c34fe4bc22c8b0b051a32ac642f910a5e69..76ac48095c29e6a06d9bf38fff801b8fa682e399 100644 (file)
@@ -826,7 +826,7 @@ err:
 
 static const struct driver_info        qmi_wwan_info = {
        .description    = "WWAN/QMI device",
-       .flags          = FLAG_WWAN,
+       .flags          = FLAG_WWAN | FLAG_SEND_ZLP,
        .bind           = qmi_wwan_bind,
        .unbind         = qmi_wwan_unbind,
        .manage_power   = qmi_wwan_manage_power,
@@ -835,7 +835,7 @@ static const struct driver_info     qmi_wwan_info = {
 
 static const struct driver_info        qmi_wwan_info_quirk_dtr = {
        .description    = "WWAN/QMI device",
-       .flags          = FLAG_WWAN,
+       .flags          = FLAG_WWAN | FLAG_SEND_ZLP,
        .bind           = qmi_wwan_bind,
        .unbind         = qmi_wwan_unbind,
        .manage_power   = qmi_wwan_manage_power,