Commit 08f741a9 authored by Magnus Lynch's avatar Magnus Lynch Committed by Johan Hovold

USB: serial: qcserial: expose methods for modem control

The qcserial driver fails to expose the .tiocmget and .tiocmset methods
available from usb_wwan. These methods are required by ioctl commands
dealing with the modem control signals DTR, RTS, etc.

With these methods not set ioctl calls intended to control the DTR state
will fail. For example, pppd drops and raises DTR in preparation to
dialing the modem, which handles the case of the modem already being
connected by making it hang up and return to command mode. DTR control
being unavailable will lead to a protracted failure to connect as the
modem will be stuck in a state not responsive to command.

I have tested that with this patch the described case is handled
successfully. There is an analogous method for .ioctl available from
usb_wwan (as used in option.c) but I conservatively omitted that for
lack of familiarity.
Signed-off-by: default avatarMagnus Lynch <maglyx@gmail.com>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
parent 4cd4475e
...@@ -454,6 +454,8 @@ static struct usb_serial_driver qcdevice = { ...@@ -454,6 +454,8 @@ static struct usb_serial_driver qcdevice = {
.write = usb_wwan_write, .write = usb_wwan_write,
.write_room = usb_wwan_write_room, .write_room = usb_wwan_write_room,
.chars_in_buffer = usb_wwan_chars_in_buffer, .chars_in_buffer = usb_wwan_chars_in_buffer,
.tiocmget = usb_wwan_tiocmget,
.tiocmset = usb_wwan_tiocmset,
.attach = qc_attach, .attach = qc_attach,
.release = qc_release, .release = qc_release,
.port_probe = usb_wwan_port_probe, .port_probe = usb_wwan_port_probe,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment