Files
immortalwrt-mt798x/target/linux/generic/hack-5.4/993-usb-serial-option-add-u9300.patch
yangxu52 81a41bfe22 kernel: bump to 5.4.302
- update the 5.4 kernel baseline from 5.4.284 to 5.4.302
- rebase the affected generic patches, including the MikroTik build bits and codel backport, to the 5.4.302 source context
- rebase the affected MediaTek TRNG and PWM patches to the new source context
- adjust 993-usb-serial-option-add-u9300.patch so the LONGSUNG U9300 modem patch still applies after the qmi_wwan changes
2026-04-14 11:20:54 +08:00

47 lines
2.0 KiB
Diff

--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1392,6 +1392,7 @@
{QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */
{QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)}, /* SIMCom 7100E, 7230E, 7600E ++ */
{QMI_QUIRK_SET_DTR(0x1e0e, 0x9071, 3)}, /* SIMCom 8230C ++ */
+ {QMI_FIXED_INTF(0x1c9e, 0x9b3c, 4)}, /* LONGSUNG_U9300 */
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0121, 4)}, /* Quectel EC21 Mini PCIe */
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0191, 4)}, /* Quectel EG91 */
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0195, 4)}, /* Quectel EG95 */
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -406,6 +406,7 @@ static void option_instat_callback(struc
* Mobidata, etc sell under their own brand names.
*/
#define LONGCHEER_VENDOR_ID 0x1c9e
+#define LONGSUNG_U9300_PRODUCT_ID 0x9b3c
/* 4G Systems products */
/* This one was sold as the VW and Skoda "Carstick LTE" */
@@ -623,6 +624,16 @@ static void option_instat_callback(struc
/* Device needs ZLP */
#define ZLP BIT(17)
+struct option_blacklist_info {
+ /* bitfield of interface numbers for OPTION_BLACKLIST_SENDSETUP */
+ const unsigned long sendsetup;
+ /* bitfield of interface numbers for OPTION_BLACKLIST_RESERVED_IF */
+ const unsigned long reserved;
+};
+
+static const struct option_blacklist_info longsung_u9300_blacklist = {
+ .reserved = BIT(4),
+};
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
@@ -657,6 +668,8 @@ static const struct usb_device_id option
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
{ USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
.driver_info = RSVD(4) },
+ { USB_DEVICE(LONGCHEER_VENDOR_ID,LONGSUNG_U9300_PRODUCT_ID),
+ .driver_info = (kernel_ulong_t)&longsung_u9300_blacklist},
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c05, USB_CLASS_COMM, 0x02, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c1f, USB_CLASS_COMM, 0x02, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c23, USB_CLASS_COMM, 0x02, 0xff) },