[GIT PULL] USB-serial fixes for v4.4-rc8
[ Resend with Subject added... ] Hi Greg, Here's a device id for 4.4-rc8 unless you prefer to wait until 4.5-rc1. Thanks, Johan The following changes since commit 74bf8efb5fa6e958d2d7c7917b8bb672085ec0c6: Linux 4.4-rc7 (2015-12-27 18:17:37 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-4.4-rc8 for you to fetch changes up to f7d7f59ab124748156ea551edf789994f05da342: USB: cp210x: add ID for ELV Marble Sound Board 1 (2015-12-28 19:07:35 +0100) USB-serial fixes for v4.4-rc8 Here's another device id for cp210x. Signed-off-by: Johan HovoldOliver Freyermuth (1): USB: cp210x: add ID for ELV Marble Sound Board 1 drivers/usb/serial/cp210x.c | 1 + 1 file changed, 1 insertion(+) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[no subject]
The following changes since commit 74bf8efb5fa6e958d2d7c7917b8bb672085ec0c6: Linux 4.4-rc7 (2015-12-27 18:17:37 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-4.4-rc8 for you to fetch changes up to f7d7f59ab124748156ea551edf789994f05da342: USB: cp210x: add ID for ELV Marble Sound Board 1 (2015-12-28 19:07:35 +0100) USB-serial fixes for v4.4-rc8 Here's another device id for cp210x. Signed-off-by: Johan HovoldOliver Freyermuth (1): USB: cp210x: add ID for ELV Marble Sound Board 1 drivers/usb/serial/cp210x.c | 1 + 1 file changed, 1 insertion(+) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: rndis/cdc_ether usb device causing Oops in 4.4rc1+ with NULL dereference
On Thu, 2015-12-31 at 07:22 +0300, Vasily Galkin wrote: > rm *rc1*dmesgAfter switching from 4.3 to 4.4rc-s plugging device ID 1076:8002 > GCT Semiconductor, Inc. LU150 LTE Modem [Yota LU150] causes kernel Oops. > > The Oops is always reproducible when this device is plugged or system is > booted with it. > Oops reproduced with debian's 4.4.rc6 and vanilla 4.4rcs > (http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc1+cod1-wily/, tryied > without nvidia blob) > After the oops system is semioperable - for example lsusb and rebooting hangs. > > With debian's 4.3.0 and vanilla 4.3.3 > (http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3.3-wily/) all works neraly > fine - device never causes Oops but rarely silently doesn't work showing that > cdc_ether driver is in use instead of typical rndis_host. > > Here is the most interesting parts of Oops, full in attahced dmesg Please try reverting 823bd3433424aa959499e6fd8f2da842430a8d42 and provide lsusb -v of your device. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[GIT PULL] USB-serial updates for v4.5-rc1
Hi Greg, Here are the usb-serial updates for 4.5-rc1. These patches have all been in linux-next for a while except for the new mxu11x0 driver (that has passed the 0-day testing). Thanks, Johan The following changes since commit 8005c49d9aea74d382f474ce11afbbc7d7130bec: Linux 4.4-rc1 (2015-11-15 17:00:27 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git tags/usb-serial-4.5-rc1 for you to fetch changes up to 6ff9d2761b8655991f48f113f7edaefea5c92905: USB: mxu11x0: drop redundant function name from error messages (2015-12-29 13:43:14 +0100) USB-serial updates for v4.5-rc1 These updates add support for Moxa UPort 1100-series devices through a new mxu11x0 driver. The cp210x driver gains proper support for cp2108 devices by working around a couple of firmware bugs, and generic wait-until-sent support (e.g. for tcdrain) is also added. Included are also some general clean ups. Signed-off-by: Johan HovoldGeyslan G. Bem (2): USB: io_edgeport: remove redundant conditions USB: mos7840: remove redundant condition Johan Hovold (6): USB: mxu11x0: fix memory leak in port-probe error path USB: mxu11x0: fix memory leak on firmware download USB: mxu11x0: fix modem-control handling on B0-transitions USB: mxu11x0: rename usb-serial driver USB: mxu11x0: fix debug-message typos USB: mxu11x0: drop redundant function name from error messages Konstantin Shkolnyy (4): USB: cp210x: flush device queues at close USB: cp210x: relocate private data from USB interface to port USB: cp210x: work around cp2108 GET_LINE_CTL bug USB: cp210x: add tx_empty() Mathieu OTHACEHE (1): USB: serial: add Moxa UPORT 11x0 driver drivers/usb/serial/Kconfig | 16 + drivers/usb/serial/Makefile | 1 + drivers/usb/serial/cp210x.c | 186 +++- drivers/usb/serial/io_edgeport.c | 35 +- drivers/usb/serial/mos7840.c | 2 +- drivers/usb/serial/mxu11x0.c | 986 +++ 6 files changed, 1180 insertions(+), 46 deletions(-) create mode 100644 drivers/usb/serial/mxu11x0.c -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ftdi_sio bug: setting two custom baud rates in a row fails
Hi, When setting custom baud rates with the ftdi_sio module using "method #3" (setting the custom_divisor via TIOCSSERIAL), subsequent changes to *another custom baud rate* do not take effect. For example, if I change from baud rate 460800 (a "standard" rate) to 50 (a custom rate), it works fine. If I then go directly to 1M baud, I stay at 50 baud. If I go from 460800->50->38400->1M, I reach 1M correctly as well. Summary: it seems that transitioning from a standard to a custom baud rate works; transitioning from one custom baud rate to another does not (you stay in the old custom baud). Here is a syslog showing the failure. The lines marked "setting baud" are from my application so that we can see where each baud-setting operation begins. Each operation includes a call to TIOCGSERIAL [271243.499635] setting baud 460800 [271243.499701] ftdi_sio ttyUSB0: get_ftdi_divisor - tty_get_baud_rate reports speed 460800 [271243.499704] ftdi_sio ttyUSB0: get_ftdi_divisor - Baud rate set to 460800 (divisor 0x4006) on chip FT232RL [271243.503172] ftdi_sio ttyUSB0: ftdi_set_termios Turning off hardware flow control [271243.507837] ftdi_sio ttyUSB0: write_latency_timer: setting latency timer = 1 [271243.512342] ftdi_sio ttyUSB0: get_ftdi_divisor - tty_get_baud_rate reports speed 460800 [271243.512345] ftdi_sio ttyUSB0: get_ftdi_divisor - Baud rate set to 460800 (divisor 0x4006) on chip FT232RL [271243.580422] setting baud 50 [271243.580470] ftdi_sio ttyUSB0: get_ftdi_divisor - tty_get_baud_rate reports speed 38400 [271243.580473] ftdi_sio ttyUSB0: get_ftdi_divisor - Baud rate set to 38400 (divisor 0xC04E) on chip FT232RL [271243.583731] ftdi_sio ttyUSB0: ftdi_set_termios Turning off hardware flow control [271243.588774] ftdi_sio ttyUSB0: write_latency_timer: setting latency timer = 1 [271243.593480] ftdi_sio ttyUSB0: get_ftdi_divisor - tty_get_baud_rate reports speed 38400 [271243.593484] ftdi_sio ttyUSB0: get_ftdi_divisor - custom divisor 48 sets baud rate to 50 ( NOTE) [271243.593486] ftdi_sio ttyUSB0: get_ftdi_divisor - Baud rate set to 50 (divisor 0x6) on chip FT232RL [271243.661457] setting baud 100 [271243.661500] ftdi_sio ttyUSB0: get_ftdi_divisor - tty_get_baud_rate reports speed 38400 [271243.661502] ftdi_sio ttyUSB0: get_ftdi_divisor - custom divisor 48 sets baud rate to 50 [271243.661504] ftdi_sio ttyUSB0: get_ftdi_divisor - Baud rate set to 50 (divisor 0x6) on chip FT232RL [271243.664801] ftdi_sio ttyUSB0: ftdi_set_termios Turning off hardware flow control [271243.669317] ftdi_sio ttyUSB0: write_latency_timer: setting latency timer = 1 [271243.673929] ftdi_sio ttyUSB0: get_ftdi_divisor - tty_get_baud_rate reports speed 50 ( NOTE, no corresponding line) [271243.673932] ftdi_sio ttyUSB0: get_ftdi_divisor - Baud rate set to 50 (divisor 0x6) on chip FT232RL [271243.744304] ftdi_sio ttyUSB0: ftdi_get_modem_status - 0xf160 I think the problem is ultimately that two separate syscalls are required to change a custom baud rate: set the baud rate to 38400, then set the custom divisor. If one has a custom baud rate already set, and then you set the baud rate to B38400, the driver immediately recomputes the baud rate (using the "old" custom divisor). In other words, it looks like you're trying to set a "new" custom baud rate, but using the old custom divider. When the application then tries to set the custom divider, the ftdi_sio driver sees that the baud rate isn't 38400 and so ignores it. This logic is near line 1271: 1271 if (baud == 38400 && 1272 ((priv->flags & ASYNC_SPD_MASK) == ASYNC_SPD_CUST) && 1273 (priv->custom_divisor)) { 1274 baud = priv->baud_base / priv->custom_divisor; 1275 dev_dbg(dev, "%s - custom divisor %d sets baud rate to %d\n", 1276 __func__, priv->custom_divisor, baud); I think that a reasonable solution is to remove the condition that baud==38400. A tested work-around from user space is to first clear the custom_divisor, then set 38400 baud, then reset the custom divisor. I apologize that I'm not able to send a patch at this time. Best, -Ed -- Edwin Olson Assoc. Professor, Computer Science & Engineering University of Michigan http://april.eecs.umich.edu -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] staging: android: sync.c: Changed the ways nullptrs were being checked
Removed all checkpatch.pl CHECKs that suggested to check NULL by !obj instead of obj == NULL. Signed-off-by: Chase Metzger--- drivers/staging/android/sync.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c index f83e00c..5413f28 100644 --- a/drivers/staging/android/sync.c +++ b/drivers/staging/android/sync.c @@ -43,7 +43,7 @@ struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops, return NULL; obj = kzalloc(size, GFP_KERNEL); - if (obj == NULL) + if (!obj) return NULL; kref_init(>kref); @@ -130,7 +130,7 @@ struct sync_pt *sync_pt_create(struct sync_timeline *obj, int size) return NULL; pt = kzalloc(size, GFP_KERNEL); - if (pt == NULL) + if (!pt) return NULL; spin_lock_irqsave(>child_list_lock, flags); @@ -155,7 +155,7 @@ static struct sync_fence *sync_fence_alloc(int size, const char *name) struct sync_fence *fence; fence = kzalloc(size, GFP_KERNEL); - if (fence == NULL) + if (!fence) return NULL; fence->file = anon_inode_getfile("sync_fence", _fence_fops, @@ -193,7 +193,7 @@ struct sync_fence *sync_fence_create(const char *name, struct sync_pt *pt) struct sync_fence *fence; fence = sync_fence_alloc(offsetof(struct sync_fence, cbs[1]), name); - if (fence == NULL) + if (!fence) return NULL; fence->num_fences = 1; @@ -215,7 +215,7 @@ struct sync_fence *sync_fence_fdget(int fd) { struct file *file = fget(fd); - if (file == NULL) + if (!file) return NULL; if (file->f_op != _fence_fops) @@ -262,7 +262,7 @@ struct sync_fence *sync_fence_merge(const char *name, unsigned long size = offsetof(struct sync_fence, cbs[num_fences]); fence = sync_fence_alloc(size, name); - if (fence == NULL) + if (!fence) return NULL; atomic_set(>status, num_fences); @@ -583,14 +583,14 @@ static long sync_fence_ioctl_merge(struct sync_fence *fence, unsigned long arg) } fence2 = sync_fence_fdget(data.fd2); - if (fence2 == NULL) { + if (!fence2) { err = -ENOENT; goto err_put_fd; } data.name[sizeof(data.name) - 1] = '\0'; fence3 = sync_fence_merge(data.name, fence, fence2); - if (fence3 == NULL) { + if (!fence3) { err = -ENOMEM; goto err_put_fence2; } @@ -666,7 +666,7 @@ static long sync_fence_ioctl_fence_info(struct sync_fence *fence, size = 4096; data = kzalloc(size, GFP_KERNEL); - if (data == NULL) + if (!data) return -ENOMEM; strlcpy(data->name, fence->name, sizeof(data->name)); -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
musb module names in 4.4.0-rc7
Hi Felipe, Using the openSUSE kernel config [1] I've noticed the following modules get built for recent RCs: /lib/modules/4.4.0-rc7-1.g276c9f4-lpae/kernel/drivers/usb/musb> ls am35x.ko musb_am335x.ko musb_dsps.ko musb_hdrc.ko omap2430.ko sunxi.ko In my case I was testing on a sun9i based Optimus Board and needed to specify "sunxi" as driver for dracut to add to my initrd for USB root. Shouldn't that rather be "musb_sunxi" for module name uniqueness? Same issue with am35x and omap2430 above, I guess. Cheers and Happy New Year, Andreas [1] http://kernel.opensuse.org/cgit/kernel-source/tree/config/armv7hl -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] usb: core: devio.c: Removed unnecessary space
Removed an unnecessary space between a function name and arguments. Signed-off-by: Chase Metzger--- drivers/usb/core/devio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index 38ae877c..0bcd45e 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -1910,7 +1910,7 @@ static int proc_releaseinterface(struct usb_dev_state *ps, void __user *arg) ret = releaseintf(ps, ifnum); if (ret < 0) return ret; - destroy_async_on_interface (ps, ifnum); + destroy_async_on_interface(ps, ifnum); return 0; } -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html