Revert "USB: option,zte_ev: move most ZTE CDMA devices to zte_ev"
authorJohan Hovold <johan@kernel.org>
Thu, 7 Aug 2014 14:00:13 +0000 (16:00 +0200)
committerJohan Hovold <johan@kernel.org>
Mon, 18 Aug 2014 11:09:25 +0000 (13:09 +0200)
commit63a901c06e3c2c45bd601916fe04e870e9ccae1e
tree2fe871e357421bb61e3c0bebd9c599d0cc9780b1
parentd77302739d900bbca5e901a3b7ac48c907ee6c93
Revert "USB: option,zte_ev: move most ZTE CDMA devices to zte_ev"

This reverts commit 73228a0538a7 ("USB: option,zte_ev: move most ZTE
CDMA devices to zte_ev").

Move the IDs of the devices that were previously driven by the option
driver back to that driver.

As several users have reported, the zte_ev driver is causing random
disconnects as well as reconnect failures.

A closer analysis of the zte_ev setup code reveals that it consists of
standard CDC requests (SET/GET_LINE_CODING and SET_CONTROL_LINE_STATE)
but unfortunately fails to get some of those right. In particular, as
reported by Liu Lei, it fails to lower DTR/RTS on close. It also appears
that the control requests lack the interface argument.

Note that the zte_ev driver is based on code (once) distributed by ZTE
that still appears to originally have been reverse-engineered and bolted
onto the generic driver.

Since line control is already handled properly by the option driver, and
the SET/GET_LINE_CODING requests appears to be redundant (amounts to a
SET 9600 8N1), this is a first step in ultimately removing the redundant
zte_ev driver.

Note that AC2726 had already been moved back to option, and that some
IDs were in the device table of both drivers prior to the commit being
reverted.

Reported-by: Lei Liu <liu.lei78@zte.com.cn>
Cc: <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/option.c
drivers/usb/serial/zte_ev.c