--- /dev/null
+From 0470667caa8261beb8a9141102b04a5357dd45b5 Mon Sep 17 00:00:00 2001
+From: Bjørn Mork <bjorn@mork.no>
+Date: Tue, 10 Sep 2013 15:06:20 +0200
+Subject: net: qmi_wwan: add new Qualcomm devices
+
+From: Bjørn Mork <bjorn@mork.no>
+
+commit 0470667caa8261beb8a9141102b04a5357dd45b5 upstream.
+
+Adding the device list from the Windows driver description files
+included with a new Qualcomm MDM9615 based device, "Alcatel-sbell
+ASB TL131 TDD LTE", from China Mobile. This device is tested
+and verified to work. The others are assumed to work based on
+using the same Windows driver.
+
+Many of these devices support multiple QMI/wwan ports, requiring
+multiple interface matching entries. All devices are composite,
+providing a mix of one or more serial, storage or Android Debug
+Brigde functions in addition to the wwan function.
+
+This device list included an update of one previously known device,
+which was incorrectly assumed to have a Gobi 2K layout. This is
+corrected.
+
+Reported-by: 王康 <scateu@gmail.com>
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/usb/qmi_wwan.c | 130 ++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 129 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -518,6 +518,135 @@ static const struct usb_device_id produc
+
+ /* 3. Combined interface devices matching on interface number */
+ {QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
++ {QMI_FIXED_INTF(0x05c6, 0x7000, 0)},
++ {QMI_FIXED_INTF(0x05c6, 0x7001, 1)},
++ {QMI_FIXED_INTF(0x05c6, 0x7002, 1)},
++ {QMI_FIXED_INTF(0x05c6, 0x7101, 1)},
++ {QMI_FIXED_INTF(0x05c6, 0x7101, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x7101, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x7102, 1)},
++ {QMI_FIXED_INTF(0x05c6, 0x7102, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x7102, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x8000, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x8001, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9000, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9003, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9005, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x900a, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x900b, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x900c, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x900c, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x900c, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x900d, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x900f, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x900f, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x900f, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9010, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9010, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9011, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9011, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9021, 1)},
++ {QMI_FIXED_INTF(0x05c6, 0x9022, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */
++ {QMI_FIXED_INTF(0x05c6, 0x9026, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x902e, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9031, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9032, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9033, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9033, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9033, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9033, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9034, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9034, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9034, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9034, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9034, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9035, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9036, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9037, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9038, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x903b, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x903c, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x903d, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x903e, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9043, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9046, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9046, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9046, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9047, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x9047, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9047, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9048, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9048, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9048, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9048, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9048, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x904c, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x904c, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x904c, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x904c, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x9050, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9052, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9053, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9053, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9054, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9054, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9055, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9055, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9055, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9055, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9055, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9056, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x9062, 9)},
++ {QMI_FIXED_INTF(0x05c6, 0x9064, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9065, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9065, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9066, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9066, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9067, 1)},
++ {QMI_FIXED_INTF(0x05c6, 0x9068, 2)},
++ {QMI_FIXED_INTF(0x05c6, 0x9068, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9068, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9068, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9068, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9068, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9069, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9069, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9069, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9069, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x9070, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9070, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9075, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9076, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9076, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9076, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9076, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9076, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x9077, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9077, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9077, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9077, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9078, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9079, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x9079, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9079, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9079, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9079, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x9080, 5)},
++ {QMI_FIXED_INTF(0x05c6, 0x9080, 6)},
++ {QMI_FIXED_INTF(0x05c6, 0x9080, 7)},
++ {QMI_FIXED_INTF(0x05c6, 0x9080, 8)},
++ {QMI_FIXED_INTF(0x05c6, 0x9083, 3)},
++ {QMI_FIXED_INTF(0x05c6, 0x9084, 4)},
++ {QMI_FIXED_INTF(0x05c6, 0x920d, 0)},
++ {QMI_FIXED_INTF(0x05c6, 0x920d, 5)},
+ {QMI_FIXED_INTF(0x12d1, 0x140c, 1)}, /* Huawei E173 */
+ {QMI_FIXED_INTF(0x12d1, 0x14ac, 1)}, /* Huawei E1820 */
+ {QMI_FIXED_INTF(0x19d2, 0x0002, 1)},
+@@ -610,7 +739,6 @@ static const struct usb_device_id produc
+ {QMI_GOBI_DEVICE(0x413c, 0x8186)}, /* Dell Gobi 2000 Modem device (N0218, VU936) */
+ {QMI_GOBI_DEVICE(0x413c, 0x8194)}, /* Dell Gobi 3000 Composite */
+ {QMI_GOBI_DEVICE(0x05c6, 0x920b)}, /* Generic Gobi 2000 Modem device */
+- {QMI_GOBI_DEVICE(0x05c6, 0x920d)}, /* Gobi 3000 Composite */
+ {QMI_GOBI_DEVICE(0x05c6, 0x9225)}, /* Sony Gobi 2000 Modem device (N0279, VU730) */
+ {QMI_GOBI_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */
+ {QMI_GOBI_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */