Re: kernel oops with usb serial driver (version 2.6.32.2)

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

 



On Fri, 25 Dec 2009, Andreas Mohr wrote:

> Hi,
> 
> On Fri, Dec 25, 2009 at 06:54:43PM +0100, Guido Trentalancia wrote:
> > Hello !
> > 
> > I get a kernel failure with the following backtrace during the initial
> > kernel load at startup. I am using an FTDI USB2serial converter.
> > 
> > Any idea on how to avoid this ?
> 
> I've seen the same thing _sometimes_ with the one FTDI adapter that I'm
> currently using (and strictly spoken that's a WARN_ON, not an OOPS),
> but not sure whether this still occurs after my recent Broadcom-specific
> USB host controller driver fix.
> 
> > ------------[ cut here ]------------
> > WARNING: at drivers/usb/serial/usb-serial.c:406 serial_write_room
> > +0x70/0x80 [usbserial]()
> > Hardware name: S1730
> > Modules linked in: nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc
> > ipt_MASQUERADE iptable_nat nf_nat ip6t_REJECT nf_conntrack_ipv6
> > ip6table_filter ip6_tables ipv6 dm_multipath uinput arc4 ecb snd_cs4281
> > snd_rawmidi b43 snd_ac97_codec mac80211 cfg80211 ac97_bus snd_seq_dummy
> > rfkill snd_seq_oss snd_seq_midi_event ssb snd_seq mmc_core snd_pcm_oss
> > snd_mixer_oss ppdev snd_pcm snd_page_alloc snd_opl3_lib snd_seq_device
> > snd_timer snd_hwdep ftdi_sio snd parport_pc uvcvideo usbserial videodev
> > v4l1_compat parport i2c_piix4 pcspkr i2c_core yenta_socket rtl8150
> > rsrc_nonstatic soundcore ata_generic pata_acpi ehci_hcd [last unloaded:
> > freq_table]
> > Pid: 4, comm: events/0 Tainted: G        W  2.6.32.2 #1
> > Call Trace:
> >  [<c0439371>] warn_slowpath_common+0x71/0x100
> >  [<ccede4b0>] ? serial_write_room+0x70/0x80 [usbserial]
> >  [<ccede4b0>] ? serial_write_room+0x70/0x80 [usbserial]
> >  [<c0439415>] warn_slowpath_null+0x15/0x20
> >  [<ccede4b0>] serial_write_room+0x70/0x80 [usbserial]
> >  [<c0612c4b>] ? tty_put_char+0x2b/0x30
> >  [<c0619ea8>] tty_write_room+0x18/0x20
> >  [<c06168c5>] process_echoes+0x45/0x2b0
> 
> That's the one here in drivers/usb/serial/usb-serial.c:
> static int serial_write_room(struct tty_struct *tty)
> {
>         struct usb_serial_port *port = tty->driver_data;
>         dbg("%s - port %d", __func__, port->number);
>         WARN_ON(!port->port.count);
>         /* pass on to the driver specific version of this function */
>         return port->serial->type->write_room(tty);
> }
> 
> I'm really not at all certain what could have caused this problem,
> but did you try other USB configurations? Such as using self-powered
> external hubs etc.
> Also, do you get further USB-related error values in the dmesg log?
> This error could probably result from not entirely successful USB device
> enumeration etc.

This isn't related to the USB configuration, the device enumeration, or
anything else.  Those WARN_ON() statements are simply obsolete.  They
need to be removed -- port->port.count is no longer supposed to be used
for anything in the USB serial core, so the situation they warn about
is valid, not a problem at all.

So to answer Guido's question, the backtraces can be avoided by editing
the drivers/usb/serial/usb-serial.c source file and removing all the
lines that say:

	WARN_ON(!port->port.count);

Alan Stern

--
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

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

  Powered by Linux