From 1898d93087d7404317dfdeaffa5d18fadbca52ef Mon Sep 17 00:00:00 2001
From: ronnie <ronnie@industiosoft.com>
Date: Sun, 23 Oct 2022 10:11:45 +0000
Subject: [PATCH] add ec20 drivers

---
 longan/kernel/linux-4.9/drivers/usb/serial/usb_wwan.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/longan/kernel/linux-4.9/drivers/usb/serial/usb_wwan.c b/longan/kernel/linux-4.9/drivers/usb/serial/usb_wwan.c
index 3dfdfc8..abb2c70 100644
--- a/longan/kernel/linux-4.9/drivers/usb/serial/usb_wwan.c
+++ b/longan/kernel/linux-4.9/drivers/usb/serial/usb_wwan.c
@@ -504,7 +504,17 @@
 	usb_fill_bulk_urb(urb, serial->dev,
 			  usb_sndbulkpipe(serial->dev, endpoint) | dir,
 			  buf, len, callback, ctx);
-
+	if (dir == USB_DIR_OUT) {
+               struct usb_device_descriptor *desc = &serial->dev->descriptor;
+               if (desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9090))
+         	      urb->transfer_flags |= URB_ZERO_PACKET;
+               if (desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9003))
+                      urb->transfer_flags |= URB_ZERO_PACKET;
+               if (desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9215))
+                      urb->transfer_flags |= URB_ZERO_PACKET;
+               if (desc->idVendor == cpu_to_le16(0x2C7C))
+                      urb->transfer_flags |= URB_ZERO_PACKET;
+        }
 	return urb;
 }
 

--
Gitblit v1.6.2