move ZTE CDMA device pid from zte_ev.c back to option.c and modify a parameter in zte_ev.ko

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



dear linuxfoundation:
    I'm very sorry has some problems in before's submit. now i divided the problems in two patches.

    patch1:move ZTE CDMA device pid from zte_ev.c back to option.c.
    reason: the pid of 0xfffe device can't re-connect succusfull when driven by zte_ev, but work fine when driven by option.
move the pid 0xfffe from zte_ev.c back to option.c.


Signed-off-by:lei liu<liu.lei78@xxxxxxxxxx>
diff -uprN -X linux-3.15.1/Documentation/dontdiff linux-3.15.1/drivers/usb/serial/option.c linux-3.15.1-update/drivers/usb/serial/option.c
--- linux-3.15.1/drivers/usb/serial/option.c	2014-06-17 04:44:27.000000000 +0800
+++ linux-3.15.1-update/drivers/usb/serial/option.c	2014-06-18 15:19:21.936561280 +0800
@@ -1542,6 +1542,7 @@ static const struct usb_device_id option
 	{ USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x05) },
 	{ USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x86, 0x10) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfffe, 0xff, 0xff, 0xff) },
 
 	{ USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) },
 	{ USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) },
diff -uprN -X linux-3.15.1/Documentation/dontdiff linux-3.15.1/drivers/usb/serial/zte_ev.c linux-3.15.1-update/drivers/usb/serial/zte_ev.c
--- linux-3.15.1/drivers/usb/serial/zte_ev.c	2014-06-17 04:44:27.000000000 +0800
+++ linux-3.15.1-update/drivers/usb/serial/zte_ev.c	2014-06-20 15:13:40.537941903 +0800
@@ -274,8 +274,6 @@ static void zte_ev_usb_serial_close(stru
 static const struct usb_device_id id_table[] = {
 	/* AC8710, AC8710T */
 	{ USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xffff, 0xff, 0xff, 0xff) },
-	 /* AC8700 */
-	{ USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xfffe, 0xff, 0xff, 0xff) },
 	/* MG880 */
 	{ USB_DEVICE(0x19d2, 0xfffd) },
 	{ USB_DEVICE(0x19d2, 0xfffc) },




patch2: Modify the parameter from 0x0003 to 0x0000. you must submit patch1 at first.
Reason:In the USB serial protocol,  if set the control state (SET_CONTROL_LINE_STATE(22h)) and the parameter of RTS must be 0x0000 
that make the carrier signal invalid state when close network. otherwise can't disconnect the network.


Signed-off-by:lei liu<liu.lei78@xxxxxxxxxx>
--- linux-3.15.1-update/drivers/usb/serial/zte_ev.c.orig	2014-06-20 16:17:12.449795593 +0800
+++ linux-3.15.1-update/drivers/usb/serial/zte_ev.c	2014-06-20 16:14:56.193800822 +0800
@@ -257,12 +257,12 @@ static void zte_ev_usb_serial_close(stru
 
 	/* send 8th cmd */
 	/*
-	 * 16.0 CTL    21 22 03 00  00 00 00 00
+	 * 16.0 CTL    21 22 00 00  00 00 00 00
 	 */
 	len = 0;
 	result = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
 				 0x22, 0x21,
-				 0x0003, 0x0000, NULL, len,
+				 0x0000, 0x0000, NULL, len,
 				 USB_CTRL_GET_TIMEOUT);
 	dev_dbg(dev, "result = %d\n", result);
 



thanks 
lei liu
��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux