public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Lord <lkml@rtr.ca>
To: Greg KH <gregkh@suse.de>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: pl2303 ttyUSB0: pl2303_open - failed submitting interrupt urb, error -28
Date: Mon, 12 Jun 2006 19:21:26 -0400	[thread overview]
Message-ID: <448DF6F6.2050803@rtr.ca> (raw)
In-Reply-To: <448DF59D.3050606@rtr.ca>

Mark Lord wrote:
> Greg KH wrote:
>> So we should have finally covered both of them now.
> 
> Yes, agreed.
> 
> So if modify pl2303_open() to have it simulate -ENOMEM from 
> usb_submit_urb(),
> then this should not crash the entire USB subsystem.  Right?
> 
> Ditto if it happens due to low-memory, rather than me hacking the code 
> to test it?

Mmmm.. looks like it's still buggy, but we manage to avoid the bug
under *most* circumstances.   Which is good!

But the bug will still need to be fixed.  A failure from usb_submit_urb()
should not require a reboot to recover.
Here's the results of a simulated -ENOMEM test:

kernel BUG at kernel/workqueue.c:110!
invalid opcode: 0000 [#1]
PREEMPT
Modules linked in: pl2303 mct_u232 usblp usbserial usbhid snd_pcm_oss uhci_hcd ehci_hcd vmnet vmmon nfsd exportfs lockd nfs_acl sunrpc speedstep_centrino cpufreq_conservative cpufreq_stats cpufreq_userspace cpufreq_powersave freq_table cpufreq_ondemand thermal fan battery ac processor container video button rfcomm l2cap bluetooth cfq_iosched deflate zlib_deflate twofish serpent aes blowfish des sha256 sha1 crypto_null af_key af_packet sbp2 pcmcia ipw2200 ieee80211 ieee80211_crypt snd_intel8x0 snd_ac97_codec snd_ac97_bus yenta_socket ohci1394 ieee1394 snd_mixer_oss mousedev rsrc_nonstatic pcmcia_core mmc_core b44 mii firmware_class snd_pcm snd_timer snd soundcore serio_raw pcspkr snd_page_alloc psmouse intel_agp agpgart usbcore sg sr_mod cdrom unix
CPU:    0
EIP:    0060:[queue_work+81/96]    Tainted: P      VLI
EFLAGS: 00010286   (2.6.17-rc6-git2 #3)
EIP is at queue_work+0x51/0x60
eax: f317093c   ebx: 00000000   ecx: b21b9f80   edx: f3170938
esi: f4782640   edi: f4782640   ebp: f7333414   esp: f7cc3e4c
ds: 007b   es: 007b   ss: 0068
Process khubd (pid: 1737, threadinfo=f7cc2000 task=b21bb070)
Stack: 00000000 f8a30d63 b01ca38f b02e136b f8884ad3 f7333400 f8c52080 f8c520a4
       f7333414 f88867f2 f733347c f7333414 b022240f f7333414 f7333414 f889bae0
       b02226a6 f7333414 b0221c87 f7333414 f7519c58 00000001 b0220e35 f7333400
Call Trace:
 <f8a30d63> usb_serial_disconnect+0x53/0xd0 [usbserial]  <b01ca38f> kref_put+0x2f/0x80
 <f8884ad3> usb_disable_interface+0x53/0x70 [usbcore]  <f88867f2> usb_unbind_interface+0x32/0x70 [usbcore]
 <b022240f> __device_release_driver+0x5f/0xc0  <b02226a6> device_release_driver+0x16/0x30
 <b0221c87> bus_remove_device+0x77/0x90  <b0220e35> device_del+0x35/0x70
 <f8885733> usb_disable_device+0xb3/0x100 [usbcore]  <f887f404> usb_disconnect+0x94/0x100 [usbcore]
 <f887f3f2> usb_disconnect+0x82/0x100 [usbcore]  <f887f3f2> usb_disconnect+0x82/0x100 [usbcore]
 <f8881c1e> hub_thread+0x3be/0xc75 [usbcore]  <b012efc0> autoremove_wake_function+0x0/0x50
 <b02b6d9f> preempt_schedule+0x4f/0x70  <b012eed6> kthread+0xd6/0xe0
 <f8881860> hub_thread+0x0/0xc75 [usbcore]  <b012ee00> kthread+0x0/0xe0
 <b0101005> kernel_thread_helper+0x5/0x10
Code: a8 08 75 1c 89 d8 5b c3 89 f6 8d 42 04 3b 42 04 75 19 8b 01 bb 01 00 00 00 e8 dc fa ff ff eb d3 e8 85 ae 18 00 89 d8 5b 89 f6 c3 <0f> 0b 6e 00 d1 de 2c b0 eb dd 90 8d 74 26 00 89 c2 a1 d4 d1 38
EIP: [queue_work+81/96] queue_work+0x51/0x60 SS:ESP 0068:f7cc3e4c
 <6>note: khubd[1737] exited with preempt_count 1

  reply	other threads:[~2006-06-12 23:21 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-12 20:06 pl2303 ttyUSB0: pl2303_open - failed submitting interrupt urb, error -28 Mark Lord
2006-06-12 20:20 ` Mark Lord
2006-06-12 20:26 ` Lee Revell
2006-06-12 20:41 ` Mark Lord
2006-06-12 20:49 ` Greg KH
2006-06-12 20:56   ` Mark Lord
2006-06-12 21:15   ` Mark Lord
2006-06-12 21:28     ` Greg KH
2006-06-12 21:36       ` Mark Lord
2006-06-12 21:54       ` Mark Lord
2006-06-12 22:03         ` Greg KH
2006-06-12 22:12           ` Mark Lord
2006-06-12 22:23             ` Greg KH
2006-06-12 23:15               ` Mark Lord
2006-06-12 23:21                 ` Mark Lord [this message]
2006-06-13 11:46                   ` Frank Gevaerts
2006-06-13 16:26                     ` Luiz Fernando N. Capitulino
2006-06-13 17:45                       ` Luiz Fernando N. Capitulino
2006-06-14 11:52                         ` [PATCH] clean tty fields on failed device open Frank Gevaerts
2006-06-14 13:49                           ` Luiz Fernando N. Capitulino
2006-06-14 13:52                             ` Frank Gevaerts
2006-06-14 14:13                               ` Luiz Fernando N. Capitulino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=448DF6F6.2050803@rtr.ca \
    --to=lkml@rtr.ca \
    --cc=akpm@osdl.org \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox