From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755670AbZHUQuz (ORCPT ); Fri, 21 Aug 2009 12:50:55 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932313AbZHUQuy (ORCPT ); Fri, 21 Aug 2009 12:50:54 -0400 Received: from ppp-153-131.adsl.restena.lu ([158.64.153.131]:39702 "EHLO bonbons.gotdns.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755596AbZHUQuw convert rfc822-to-8bit (ORCPT ); Fri, 21 Aug 2009 12:50:52 -0400 Date: Fri, 21 Aug 2009 18:50:26 +0200 From: Bruno =?UTF-8?B?UHLDqW1vbnQ=?= To: Alan Stern Cc: Alan Cox , Greg KH , Kernel development list , USB list , "Rafael J. Wysocki" Subject: Re: 2.6.31-rc5 regression: Oops when USB Serial disconnected while in use Message-ID: <20090821185026.2b2632d1@neptune.home> In-Reply-To: References: <20090821112554.18a297fa@pluto.restena.lu> X-Mailer: Claws Mail 3.7.2 (GTK+ 2.14.7; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 21 August 2009 Alan Stern wrote: > On Fri, 21 Aug 2009, Bruno [UTF-8] Prémont wrote: > > > The module refcount was for both. It's the pl2302/ftdi-sio module's > > refcount. > > > > I don't remember for sure about the panic if it also affects > > pl2302 or not. > > At least one of the panics was when running dmesg after exiting > > minicom. > > > > I will redo the tests this evening when I get home and report back > > with more details. > > Apparently the problem is in serial_do_free(); it doesn't know > whether it's getting called for a successful open or an unsuccessful > open, so it decrements the module count when it shouldn't. The same > is true for port->dev's refcount. That makes sense, see below dmesg log extracts (from USB plug-in until after exiting minicom), there are two calls to serial_do_free(). On USB disconnect module refcount is zero, on minicom exit it underflows. > Alan, related to this problem is the fact that usb_serial_driver > doesn't include a "hangup" method. I'm not sure that making > serial_hangup() call serial_do_down() is correct, but if it is then > shouldn't we call port->serial->type->open() afterwards? Otherwise > the lower driver can't know that the port is still open. > > Furthermore, shouldn't we check ASYNCB_INITIALIZED in serial_close()? > > Alan Stern This time I had no crash (neither with ftdi nor with pl2302), possibly a matter of what memory areas were affected... Bruno dmesg + lsmod as at end of dmesg log. First for ftdi device, second for pl2302 device: [ 389.940038] usb 1-2: new full speed USB device using uhci_hcd and address 2 [ 390.158982] usb 1-2: New USB device found, idVendor=9e88, idProduct=9e8f [ 390.159202] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 390.159447] usb 1-2: Product: SheevaPlug JTAGKey FT2232D B [ 390.159622] usb 1-2: Manufacturer: FTDI [ 390.159763] usb 1-2: SerialNumber: FTS55QK6 [ 390.160160] usb 1-2: configuration #1 chosen from 1 choice [ 390.243200] usbcore: registered new interface driver usbserial [ 390.243309] usbserial: USB Serial Driver core [ 390.274397] USB Serial support registered for FTDI USB Serial Device [ 390.274888] usb 1-2: Ignoring serial port reserved for JTAG [ 390.275185] ftdi_sio 1-2:1.1: FTDI USB Serial Device converter detected [ 390.275467] usb 1-2: Detected FT2232C [ 390.275589] usb 1-2: Number of endpoints 2 [ 390.275740] usb 1-2: Endpoint 1 MaxPacketSize 64 [ 390.275888] usb 1-2: Endpoint 2 MaxPacketSize 64 [ 390.276052] usb 1-2: Setting MaxPacketSize 64 [ 390.278136] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0 [ 390.278435] usbcore: registered new interface driver ftdi_sio [ 390.278619] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver [ 394.507447] usb_serial_get_by_index(index 0): @dd0b88a0 [ 394.507642] ------------[ cut here ]------------ [ 394.507836] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:78 usb_serial_get_by_index+0x42/0x70 [usbserial]() [ 394.508189] Hardware name: TravelMate 660 [ 394.508334] Modules linked in: ftdi_sio usbserial usb_storage squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop snd_intel8x0 nsc_ircc snd_ac97_codec ac97_bus irda snd_pcm snd_timer snd i2c_i801 ehci_hcd uhci_hcd usbcore snd_page_alloc pcspkr crc_ccitt [ 394.509752] Pid: 3116, comm: minicom Tainted: G M 2.6.31-rc6 #1 [ 394.509959] Call Trace: [ 394.510089] [] ? printk+0x18/0x1e [ 394.510241] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 394.510480] [] warn_slowpath_common+0x6c/0xc0 [ 394.510660] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 394.510894] [] warn_slowpath_null+0x15/0x20 [ 394.511068] [] usb_serial_get_by_index+0x42/0x70 [usbserial] [ 394.511304] [] serial_open+0x2d/0x250 [usbserial] [ 394.511490] [] ? tty_init_dev+0x89/0x160 [ 394.511666] [] tty_open+0x1bd/0x4b0 [ 394.511815] [] chrdev_open+0x96/0x140 [ 394.511986] [] __dentry_open+0x9f/0x250 [ 394.512144] [] nameidata_to_filp+0x59/0x70 [ 394.512324] [] ? chrdev_open+0x0/0x140 [ 394.512478] [] do_filp_open+0x269/0x890 [ 394.512652] [] ? ktime_get_ts+0x4c/0x50 [ 394.512812] [] do_sys_open+0x57/0x140 [ 394.512983] [] ? alarm_setitimer+0x35/0x70 [ 394.513148] [] sys_open+0x29/0x40 [ 394.513306] [] sysenter_do_call+0x12/0x26 [ 394.513466] ---[ end trace a4862da83be6d4cc ]--- [ 410.250064] usb 1-2: USB disconnect, address 2 [ 410.250628] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [ 410.250935] usb_serial_put(serial @dd0b88a0) [ 410.251074] ------------[ cut here ]------------ [ 410.251257] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:179 usb_serial_put+0x2b/0x60 [usbserial]() [ 410.251586] Hardware name: TravelMate 660 [ 410.251730] Modules linked in: ftdi_sio usbserial usb_storage squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop snd_intel8x0 nsc_ircc snd_ac97_codec ac97_bus irda snd_pcm snd_timer snd i2c_i801 ehci_hcd uhci_hcd usbcore snd_page_alloc pcspkr crc_ccitt [ 410.253139] Pid: 976, comm: khubd Tainted: G M W 2.6.31-rc6 #1 [ 410.253339] Call Trace: [ 410.253448] [] ? printk+0x18/0x1e [ 410.253598] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 410.253813] [] warn_slowpath_common+0x6c/0xc0 [ 410.253992] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 410.254202] [] warn_slowpath_null+0x15/0x20 [ 410.254376] [] usb_serial_put+0x2b/0x60 [usbserial] [ 410.254588] [] usb_serial_disconnect+0xf1/0x160 [usbserial] [ 410.254835] [] ? usb_disable_interface+0x37/0x50 [usbcore] [ 410.255086] [] usb_unbind_interface+0xf1/0x130 [usbcore] [ 410.255293] [] __device_release_driver+0x51/0xa0 [ 410.255491] [] device_release_driver+0x20/0x40 [ 410.255666] [] bus_remove_device+0x7d/0xb0 [ 410.255847] [] device_del+0x102/0x190 [ 410.256025] [] usb_disable_device+0x87/0xf0 [usbcore] [ 410.256259] [] usb_disconnect+0x96/0xf0 [usbcore] [ 410.256469] [] hub_thread+0x829/0x1210 [usbcore] [ 410.256672] [] ? autoremove_wake_function+0x0/0x50 [ 410.256882] [] ? hub_thread+0x0/0x1210 [usbcore] [ 410.257079] [] kthread+0x7c/0x90 [ 410.257217] [] ? kthread+0x0/0x90 [ 410.257376] [] kernel_thread_helper+0x7/0x14 [ 410.257543] ---[ end trace a4862da83be6d4cd ]--- [ 410.257708] ftdi_sio 1-2:1.1: device disconnected [ 410.258188] usb_serial_get_by_index(index 0): @dd0b88a0 [ 410.258358] ------------[ cut here ]------------ [ 410.258537] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:78 usb_serial_get_by_index+0x42/0x70 [usbserial]() [ 410.258887] Hardware name: TravelMate 660 [ 410.259031] Modules linked in: ftdi_sio usbserial usb_storage squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop snd_intel8x0 nsc_ircc snd_ac97_codec ac97_bus irda snd_pcm snd_timer snd i2c_i801 ehci_hcd uhci_hcd usbcore snd_page_alloc pcspkr crc_ccitt [ 410.260453] Pid: 3116, comm: minicom Tainted: G M W 2.6.31-rc6 #1 [ 410.260660] Call Trace: [ 410.260763] [] ? printk+0x18/0x1e [ 410.260912] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 410.261161] [] warn_slowpath_common+0x6c/0xc0 [ 410.261340] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 410.261589] [] warn_slowpath_null+0x15/0x20 [ 410.261763] [] usb_serial_get_by_index+0x42/0x70 [usbserial] [ 410.262012] [] serial_open+0x2d/0x250 [usbserial] [ 410.262198] [] ? mntput_no_expire+0x16/0x60 [ 410.262384] [] tty_open+0x1bd/0x4b0 [ 410.262531] [] chrdev_open+0x96/0x140 [ 410.262701] [] __dentry_open+0x9f/0x250 [ 410.262859] [] nameidata_to_filp+0x59/0x70 [ 410.263040] [] ? chrdev_open+0x0/0x140 [ 410.263194] [] do_filp_open+0x269/0x890 [ 410.263367] [] ? ktime_get_ts+0x4c/0x50 [ 410.273068] [] do_sys_open+0x57/0x140 [ 410.283083] [] ? alarm_setitimer+0x35/0x70 [ 410.293149] [] sys_open+0x29/0x40 [ 410.303259] [] sysenter_do_call+0x12/0x26 [ 410.313388] ---[ end trace a4862da83be6d4ce ]--- [ 410.331134] tty_port_close_start: count = -1 [ 410.335326] serial_do_free(port @d8c72400) [ 410.339451] serial @dd0b88a0 [ 410.343874] type @df5d8660 [ 410.348150] usb_serial_put(serial @dd0b88a0) [ 410.352244] ------------[ cut here ]------------ [ 410.356280] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:179 usb_serial_put+0x2b/0x60 [usbserial]() [ 410.360483] Hardware name: TravelMate 660 [ 410.364569] Modules linked in: ftdi_sio usbserial usb_storage squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop snd_intel8x0 nsc_ircc snd_ac97_codec ac97_bus irda snd_pcm snd_timer snd i2c_i801 ehci_hcd uhci_hcd usbcore snd_page_alloc pcspkr crc_ccitt [ 410.373535] Pid: 3116, comm: minicom Tainted: G M W 2.6.31-rc6 #1 [ 410.377676] Call Trace: [ 410.381732] [] ? printk+0x18/0x1e [ 410.385770] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 410.389857] [] warn_slowpath_common+0x6c/0xc0 [ 410.393946] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 410.398034] [] warn_slowpath_null+0x15/0x20 [ 410.402115] [] usb_serial_put+0x2b/0x60 [usbserial] [ 410.406209] [] serial_do_free+0x99/0xd0 [usbserial] [ 410.410283] [] serial_close+0x67/0xa0 [usbserial] [ 410.414352] [] ? tty_fasync+0x55/0xe0 [ 410.418378] [] tty_release_dev+0x130/0x490 [ 410.422426] [] ? warn_slowpath_common+0x9e/0xc0 [ 410.426440] [] ? __cond_resched+0x23/0x40 [ 410.430475] [] ? _cond_resched+0x25/0x40 [ 410.434478] [] ? mutex_lock+0xe/0x20 [ 410.438499] [] ? serial_open+0x69/0x250 [usbserial] [ 410.442530] [] tty_open+0x45d/0x4b0 [ 410.446533] [] chrdev_open+0x96/0x140 [ 410.450546] [] __dentry_open+0x9f/0x250 [ 410.454546] [] nameidata_to_filp+0x59/0x70 [ 410.458525] [] ? chrdev_open+0x0/0x140 [ 410.462523] [] do_filp_open+0x269/0x890 [ 410.466498] [] ? ktime_get_ts+0x4c/0x50 [ 410.470499] [] do_sys_open+0x57/0x140 [ 410.474455] [] ? alarm_setitimer+0x35/0x70 [ 410.478424] [] sys_open+0x29/0x40 [ 410.482384] [] sysenter_do_call+0x12/0x26 [ 410.486332] ---[ end trace a4862da83be6d4cf ]--- [ 518.992741] serial_do_free(port @d8c72400) [ 518.992888] serial @dd0b88a0 [ 518.993010] type @df5d8660 [ 518.993115] usb_serial_put(serial @dd0b88a0) [ 518.993268] ------------[ cut here ]------------ [ 518.993435] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:179 usb_serial_put+0x2b/0x60 [usbserial]() [ 518.993794] Hardware name: TravelMate 660 [ 518.993923] Modules linked in: ftdi_sio usbserial usb_storage squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop snd_intel8x0 nsc_ircc snd_ac97_codec ac97_bus irda snd_pcm snd_timer snd i2c_i801 ehci_hcd uhci_hcd usbcore snd_page_alloc pcspkr crc_ccitt [ 518.995333] Pid: 3116, comm: minicom Tainted: G M W 2.6.31-rc6 #1 [ 518.995571] Call Trace: [ 518.995665] [] ? printk+0x18/0x1e [ 518.995830] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 518.996029] [] warn_slowpath_common+0x6c/0xc0 [ 518.996225] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 518.996419] [] warn_slowpath_null+0x15/0x20 [ 518.996609] [] usb_serial_put+0x2b/0x60 [usbserial] [ 518.996804] [] serial_do_free+0x99/0xd0 [usbserial] [ 518.997016] [] serial_close+0x67/0xa0 [usbserial] [ 518.997200] [] ? tty_fasync+0x55/0xe0 [ 518.997369] [] tty_release_dev+0x130/0x490 [ 518.997539] [] ? put_page+0x42/0x120 [ 518.997708] [] ? mntput_no_expire+0x16/0x60 [ 518.997875] [] tty_release+0xa/0x10 [ 518.998037] [] __fput+0xdc/0x1d0 [ 518.998174] [] fput+0x1f/0x30 [ 518.998323] [] filp_close+0x3e/0x70 [ 518.998470] [] put_files_struct+0xa2/0xc0 [ 518.998648] [] exit_files+0x1c/0x20 [ 518.998795] [] do_exit+0xb9/0x630 [ 518.998954] [] ? __put_cred+0x18/0x20 [ 518.999107] [] do_group_exit+0x2d/0x80 [ 518.999277] [] sys_exit_group+0x13/0x20 [ 518.999434] [] sysenter_do_call+0x12/0x26 [ 518.999610] ---[ end trace a4862da83be6d4d0 ]--- [ 518.999758] destroy_serial(kref @dd0b88d4) [ 518.999905] serial @dd0b88a0 Module Size Used by ftdi_sio 51372 4294967295 usbserial 31164 1 ftdi_sio usb_storage 49504 0 squashfs 20936 1 zlib_inflate 16164 1 squashfs nfs 141068 0 lockd 65768 1 nfs nfs_acl 2884 1 nfs sunrpc 170044 3 nfs,lockd,nfs_acl 8021q 19872 0 snd_pcm_oss 36096 0 snd_mixer_oss 14564 1 snd_pcm_oss xfs 483008 1 exportfs 3844 1 xfs loop 14352 2 snd_intel8x0 29792 0 nsc_ircc 16112 0 snd_ac97_codec 101540 1 snd_intel8x0 ac97_bus 1540 1 snd_ac97_codec irda 101496 1 nsc_ircc snd_pcm 60524 3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec snd_timer 18344 1 snd_pcm snd 48772 6 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer i2c_i801 8500 0 ehci_hcd 33972 0 uhci_hcd 21876 0 usbcore 133920 5 ftdi_sio,usbserial,usb_storage,ehci_hcd,uhci_hcd snd_page_alloc 8044 2 snd_intel8x0,snd_pcm pcspkr 2276 0 crc_ccitt 1796 1 irda [ 691.010035] usb 1-1: new full speed USB device using uhci_hcd and address 2 [ 691.176987] usb 1-1: New USB device found, idVendor=067b, idProduct=2303 [ 691.177206] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 691.177451] usb 1-1: Product: USB-Serial Controller [ 691.177608] usb 1-1: Manufacturer: Prolific Technology Inc. [ 691.178025] usb 1-1: configuration #1 chosen from 1 choice [ 691.254399] usbcore: registered new interface driver usbserial [ 691.254507] usbserial: USB Serial Driver core [ 691.274470] USB Serial support registered for pl2303 [ 691.274732] pl2303 1-1:1.0: pl2303 converter detected [ 691.286169] usb 1-1: pl2303 converter now attached to ttyUSB0 [ 691.286430] usbcore: registered new interface driver pl2303 [ 691.286610] pl2303: Prolific PL2303 USB to serial adaptor driver [ 702.598739] usb_serial_get_by_index(index 0): @da6a3780 [ 702.598931] ------------[ cut here ]------------ [ 702.599124] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:78 usb_serial_get_by_index+0x42/0x70 [usbserial]() [ 702.599476] Hardware name: TravelMate 660 [ 702.599621] Modules linked in: pl2303 usbserial squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop usb_storage snd_intel8x0 snd_ac97_codec ac97_bus nsc_ircc irda snd_pcm snd_timer snd ehci_hcd pcspkr i2c_i801 uhci_hcd snd_page_alloc crc_ccitt usbcore [ 702.601064] Pid: 2528, comm: minicom Tainted: G M 2.6.31-rc6 #1 [ 702.601272] Call Trace: [ 702.601383] [] ? printk+0x18/0x1e [ 702.601532] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 702.601771] [] warn_slowpath_common+0x6c/0xc0 [ 702.601950] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 702.602198] [] warn_slowpath_null+0x15/0x20 [ 702.602372] [] usb_serial_get_by_index+0x42/0x70 [usbserial] [ 702.602621] [] serial_open+0x2d/0x250 [usbserial] [ 702.602806] [] ? tty_init_dev+0x89/0x160 [ 702.602981] [] tty_open+0x1bd/0x4b0 [ 702.603129] [] chrdev_open+0x96/0x140 [ 702.603300] [] __dentry_open+0x9f/0x250 [ 702.603457] [] nameidata_to_filp+0x59/0x70 [ 702.603637] [] ? chrdev_open+0x0/0x140 [ 702.603793] [] do_filp_open+0x269/0x890 [ 702.603966] [] ? ktime_get_ts+0x4c/0x50 [ 702.604126] [] do_sys_open+0x57/0x140 [ 702.604296] [] ? alarm_setitimer+0x35/0x70 [ 702.604461] [] sys_open+0x29/0x40 [ 702.604619] [] sysenter_do_call+0x12/0x26 [ 702.604779] ---[ end trace 11618bfb3543f78d ]--- [ 733.750062] usb 1-1: USB disconnect, address 2 [ 733.751174] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0 [ 733.751434] usb_serial_put(serial @da6a3780) [ 733.751573] ------------[ cut here ]------------ [ 733.751756] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:179 usb_serial_put+0x2b/0x60 [usbserial]() [ 733.752096] Hardware name: TravelMate 660 [ 733.752241] Modules linked in: pl2303 usbserial squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop usb_storage snd_intel8x0 snd_ac97_codec ac97_bus nsc_ircc irda snd_pcm snd_timer snd ehci_hcd pcspkr i2c_i801 uhci_hcd snd_page_alloc crc_ccitt usbcore [ 733.753645] Pid: 956, comm: khubd Tainted: G M W 2.6.31-rc6 #1 [ 733.753846] Call Trace: [ 733.753954] [] ? printk+0x18/0x1e [ 733.754103] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 733.754317] [] warn_slowpath_common+0x6c/0xc0 [ 733.754497] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 733.754707] [] warn_slowpath_null+0x15/0x20 [ 733.754880] [] usb_serial_put+0x2b/0x60 [usbserial] [ 733.755092] [] usb_serial_disconnect+0xf1/0x160 [usbserial] [ 733.755339] [] ? usb_disable_interface+0x37/0x50 [usbcore] [ 733.755590] [] usb_unbind_interface+0xf1/0x130 [usbcore] [ 733.755797] [] __device_release_driver+0x51/0xa0 [ 733.755994] [] device_release_driver+0x20/0x40 [ 733.756169] [] bus_remove_device+0x7d/0xb0 [ 733.756349] [] device_del+0x102/0x190 [ 733.756528] [] usb_disable_device+0x87/0xf0 [usbcore] [ 733.756762] [] usb_disconnect+0x96/0xf0 [usbcore] [ 733.756971] [] hub_thread+0x829/0x1210 [usbcore] [ 733.757175] [] ? autoremove_wake_function+0x0/0x50 [ 733.757386] [] ? hub_thread+0x0/0x1210 [usbcore] [ 733.757584] [] kthread+0x7c/0x90 [ 733.757722] [] ? kthread+0x0/0x90 [ 733.757881] [] kernel_thread_helper+0x7/0x14 [ 733.758049] ---[ end trace 11618bfb3543f78e ]--- [ 733.758213] pl2303 1-1:1.0: device disconnected [ 733.759141] usb_serial_get_by_index(index 0): @da6a3780 [ 733.759316] ------------[ cut here ]------------ [ 733.759497] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:78 usb_serial_get_by_index+0x42/0x70 [usbserial]() [ 733.759847] Hardware name: TravelMate 660 [ 733.759992] Modules linked in: pl2303 usbserial squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop usb_storage snd_intel8x0 snd_ac97_codec ac97_bus nsc_ircc irda snd_pcm snd_timer snd ehci_hcd pcspkr i2c_i801 uhci_hcd snd_page_alloc crc_ccitt usbcore [ 733.761423] Pid: 2528, comm: minicom Tainted: G M W 2.6.31-rc6 #1 [ 733.761660] Call Trace: [ 733.761750] [] ? printk+0x18/0x1e [ 733.761914] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 733.762133] [] warn_slowpath_common+0x6c/0xc0 [ 733.762329] [] ? usb_serial_get_by_index+0x42/0x70 [usbserial] [ 733.762547] [] warn_slowpath_null+0x15/0x20 [ 733.762737] [] usb_serial_get_by_index+0x42/0x70 [usbserial] [ 733.762957] [] serial_open+0x2d/0x250 [usbserial] [ 733.763159] [] ? mntput_no_expire+0x16/0x60 [ 733.763328] [] tty_open+0x1bd/0x4b0 [ 733.763492] [] chrdev_open+0x96/0x140 [ 733.763647] [] __dentry_open+0x9f/0x250 [ 733.763821] [] nameidata_to_filp+0x59/0x70 [ 733.763985] [] ? chrdev_open+0x0/0x140 [ 733.764155] [] do_filp_open+0x269/0x890 [ 733.764313] [] ? ktime_get_ts+0x4c/0x50 [ 733.773926] [] do_sys_open+0x57/0x140 [ 733.783856] [] ? alarm_setitimer+0x35/0x70 [ 733.793832] [] sys_open+0x29/0x40 [ 733.803856] [] sysenter_do_call+0x12/0x26 [ 733.813897] ---[ end trace 11618bfb3543f78f ]--- [ 733.829386] tty_port_close_start: count = -1 [ 733.930036] serial_do_free(port @dd86ae00) [ 733.940088] serial @da6a3780 [ 733.950089] type @deb25c20 [ 733.960455] usb_serial_put(serial @da6a3780) [ 733.964507] ------------[ cut here ]------------ [ 733.968561] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:179 usb_serial_put+0x2b/0x60 [usbserial]() [ 733.973026] Hardware name: TravelMate 660 [ 733.977130] Modules linked in: pl2303 usbserial squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop usb_storage snd_intel8x0 snd_ac97_codec ac97_bus nsc_ircc irda snd_pcm snd_timer snd ehci_hcd pcspkr i2c_i801 uhci_hcd snd_page_alloc crc_ccitt usbcore [ 733.986053] Pid: 2528, comm: minicom Tainted: G M W 2.6.31-rc6 #1 [ 733.990213] Call Trace: [ 733.994262] [] ? printk+0x18/0x1e [ 733.998300] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 734.002543] [] warn_slowpath_common+0x6c/0xc0 [ 734.006612] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 734.010724] [] warn_slowpath_null+0x15/0x20 [ 734.014796] [] usb_serial_put+0x2b/0x60 [usbserial] [ 734.018898] [] serial_do_free+0x99/0xd0 [usbserial] [ 734.022988] [] serial_close+0x67/0xa0 [usbserial] [ 734.027062] [] ? tty_fasync+0x55/0xe0 [ 734.031105] [] tty_release_dev+0x130/0x490 [ 734.035140] [] ? warn_slowpath_common+0x9e/0xc0 [ 734.039158] [] ? __cond_resched+0x23/0x40 [ 734.043201] [] ? _cond_resched+0x25/0x40 [ 734.047213] [] ? mutex_lock+0xe/0x20 [ 734.051243] [] ? serial_open+0x69/0x250 [usbserial] [ 734.055258] [] tty_open+0x45d/0x4b0 [ 734.059281] [] chrdev_open+0x96/0x140 [ 734.063302] [] __dentry_open+0x9f/0x250 [ 734.067307] [] nameidata_to_filp+0x59/0x70 [ 734.071304] [] ? chrdev_open+0x0/0x140 [ 734.075288] [] do_filp_open+0x269/0x890 [ 734.079264] [] ? ktime_get_ts+0x4c/0x50 [ 734.083275] [] do_sys_open+0x57/0x140 [ 734.087234] [] ? alarm_setitimer+0x35/0x70 [ 734.091225] [] sys_open+0x29/0x40 [ 734.095170] [] sysenter_do_call+0x12/0x26 [ 734.099124] ---[ end trace 11618bfb3543f790 ]--- [ 834.133234] serial_do_free(port @dd86ae00) [ 834.133379] serial @da6a3780 [ 834.133499] type @deb25c20 [ 834.133621] usb_serial_put(serial @da6a3780) [ 834.133757] ------------[ cut here ]------------ [ 834.133939] WARNING: at /usr/src/linux-2.6/drivers/usb/serial/usb-serial.c:179 usb_serial_put+0x2b/0x60 [usbserial]() [ 834.134266] Hardware name: TravelMate 660 [ 834.134410] Modules linked in: pl2303 usbserial squashfs zlib_inflate nfs lockd nfs_acl sunrpc 8021q snd_pcm_oss snd_mixer_oss xfs exportfs loop usb_storage snd_intel8x0 snd_ac97_codec ac97_bus nsc_ircc irda snd_pcm snd_timer snd ehci_hcd pcspkr i2c_i801 uhci_hcd snd_page_alloc crc_ccitt usbcore [ 834.135811] Pid: 2528, comm: minicom Tainted: G M W 2.6.31-rc6 #1 [ 834.136018] Call Trace: [ 834.136127] [] ? printk+0x18/0x1e [ 834.136276] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 834.136489] [] warn_slowpath_common+0x6c/0xc0 [ 834.136669] [] ? usb_serial_put+0x2b/0x60 [usbserial] [ 834.136878] [] warn_slowpath_null+0x15/0x20 [ 834.137051] [] usb_serial_put+0x2b/0x60 [usbserial] [ 834.137262] [] serial_do_free+0x99/0xd0 [usbserial] [ 834.137457] [] serial_close+0x67/0xa0 [usbserial] [ 834.137658] [] ? tty_fasync+0x55/0xe0 [ 834.137810] [] tty_release_dev+0x130/0x490 [ 834.137995] [] ? put_page+0x42/0x120 [ 834.138148] [] ? mntput_no_expire+0x16/0x60 [ 834.138331] [] tty_release+0xa/0x10 [ 834.138477] [] __fput+0xdc/0x1d0 [ 834.138630] [] fput+0x1f/0x30 [ 834.138763] [] filp_close+0x3e/0x70 [ 834.138926] [] put_files_struct+0xa2/0xc0 [ 834.139088] [] exit_files+0x1c/0x20 [ 834.139251] [] do_exit+0xb9/0x630 [ 834.139393] [] ? __put_cred+0x18/0x20 [ 834.139562] [] do_group_exit+0x2d/0x80 [ 834.139717] [] sys_exit_group+0x13/0x20 [ 834.139890] [] sysenter_do_call+0x12/0x26 [ 834.140084] ---[ end trace 11618bfb3543f791 ]--- [ 834.141308] destroy_serial(kref @da6a37b4) [ 834.141366] serial @da6a3780 Module Size Used by pl2303 16808 4294967295 usbserial 31164 1 pl2303 squashfs 20936 1 zlib_inflate 16164 1 squashfs nfs 141068 0 lockd 65768 1 nfs nfs_acl 2884 1 nfs sunrpc 170044 3 nfs,lockd,nfs_acl 8021q 19872 0 snd_pcm_oss 36096 0 snd_mixer_oss 14564 1 snd_pcm_oss xfs 483008 1 exportfs 3844 1 xfs loop 14352 2 usb_storage 49504 0 snd_intel8x0 29792 0 snd_ac97_codec 101540 1 snd_intel8x0 ac97_bus 1540 1 snd_ac97_codec nsc_ircc 16112 0 irda 101496 1 nsc_ircc snd_pcm 60524 3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec snd_timer 18344 1 snd_pcm snd 48772 6 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer ehci_hcd 33972 0 pcspkr 2276 0 i2c_i801 8500 0 uhci_hcd 21876 0 snd_page_alloc 8044 2 snd_intel8x0,snd_pcm crc_ccitt 1796 1 irda usbcore 133920 5 pl2303,usbserial,usb_storage,ehci_hcd,uhci_hcd