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 <bj...@mork.no>
---
I am a bit worried about the effect of this change on all the
devices I can't test myself. But trying it is the only way we
can ever find out....


 drivers/net/usb/qmi_wwan.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 304ec6555cd8..1ed00519f29e 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -826,7 +826,7 @@ static int qmi_wwan_resume(struct usb_interface *intf)
 
 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,
-- 
2.11.0

Reply via email to