diff --git a/target/linux/ipq40xx/patches-4.14/995-4g-add-u9300-driver.patch b/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch similarity index 100% rename from target/linux/ipq40xx/patches-4.14/995-4g-add-u9300-driver.patch rename to target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch diff --git a/target/linux/ipq40xx/patches-4.19/995-4g-add-u9300-driver.patch b/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch similarity index 100% rename from target/linux/ipq40xx/patches-4.19/995-4g-add-u9300-driver.patch rename to target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch diff --git a/target/linux/ipq806x/patches-4.14/995-4g-add-u9300-driver.patch b/target/linux/ipq806x/patches-4.14/995-4g-add-u9300-driver.patch deleted file mode 100644 index 11d3039d56..0000000000 --- a/target/linux/ipq806x/patches-4.14/995-4g-add-u9300-driver.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/drivers/net/usb/qmi_wwan.c -+++ b/drivers/net/usb/qmi_wwan.c -@@ -1292,6 +1292,7 @@ static const struct usb_device_id produc - {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */ - {QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */ - {QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)}, /* SIMCom 7100E, 7230E, 7600E ++ */ -+ {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 -@@ -385,6 +385,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 is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * -@@ -575,6 +576,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) }, -@@ -609,6 +620,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) }, diff --git a/target/linux/ipq806x/patches-4.19/995-4g-add-u9300-driver.patch b/target/linux/ipq806x/patches-4.19/995-4g-add-u9300-driver.patch deleted file mode 100644 index 3614c0b3b1..0000000000 --- a/target/linux/ipq806x/patches-4.19/995-4g-add-u9300-driver.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/drivers/net/usb/qmi_wwan.c -+++ b/drivers/net/usb/qmi_wwan.c -@@ -1303,6 +1303,7 @@ static const struct usb_device_id produc - {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */ - {QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */ - {QMI_QUIRK_SET_DTR(0x1e0e, 0x9001, 5)}, /* SIMCom 7100E, 7230E, 7600E ++ */ -+ {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 -@@ -382,6 +382,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 is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * -@@ -572,6 +573,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) }, -@@ -606,6 +617,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) },