On Mon, Jan 16, 2012 at 6:43 PM, Greg KH <greg@xxxxxxxxx> wrote: > On Mon, Jan 16, 2012 at 12:36:49AM +0100, Johan Hovold wrote: >> Use direct baud-rate commands rather than divisors to set and retrieve >> the baud rate. >> >> Newer devices (e.g. cp2104) do not implement the divisor commands and >> must use the direct baud-rate ones to change the baud rate. >> >> Signed-off-by: Johan Hovold <jhovold@xxxxxxxxx> >> --- >> drivers/usb/serial/cp210x.c | 17 ++++++++--------- >> 1 files changed, 8 insertions(+), 9 deletions(-) > > Can I just take this one for the stable trees to get these devices to > work properly for older kernels? Any application not using 115200 baud will work with just the above patch. The problem is that the baud rate must be initialised on cp2104 and that the device reports to be running at 115200 after power-on (in get_termios), so an attempt to set the baud rate to 115200 results in a no-op (in set_termios). (Note that setting the baud rate to anything but 115200 and back again would work.) An additional two-line patch, which unconditionally initialises the baud rate in get_termios (called from open) will suffice. Let me know if you want me to submit a minimal patch that could be back-ported (either on top of the above one, or a combined one). Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html