From: Frank Gevaerts <frank.gevaerts@fks.be>
To: Mark Lord <lkml@rtr.ca>
Cc: Greg KH <gregkh@suse.de>,
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: Tue, 13 Jun 2006 13:46:06 +0200 [thread overview]
Message-ID: <20060613114604.GB10834@fks.be> (raw)
In-Reply-To: <448DF6F6.2050803@rtr.ca>
On Mon, Jun 12, 2006 at 07:21:26PM -0400, Mark Lord wrote:
> 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!
We had the exact same error here with ipaq.ko. Our problems only went
away once we applied the following (the first part might already be
applied).
Apart from that, we also needed a lot of fixes in ipaq.c. I still have
to clean up and submit the complete patch.
Frank
Signed-of-byA Frank Gevaerts <frank.gevaerts@fks.be>
--- linux-2.6.17-rc4/drivers/usb/serial/usb-serial.c 2006-05-30 19:01:16.000000000 +0200
+++ linux-2.6.17-rc4.test/drivers/usb/serial/usb-serial.c 2006-06-02 21:50:07.000000000 +0200
@@ -162,6 +162,8 @@ static void destroy_serial(struct kref *
}
}
+ flush_scheduled_work(); /* port->work */
+
usb_put_dev(serial->dev);
/* free up any memory that we allocated */
@@ -223,6 +225,8 @@ static int serial_open (struct tty_struc
return 0;
bailout_module_put:
+ tty->driver_data = NULL;
+ port->tty = NULL;
module_put(serial->type->driver.owner);
bailout_kref_put:
kref_put(&serial->kref, destroy_serial);
Frank
--
Frank Gevaerts frank.gevaerts@fks.be
fks bvba - Formal and Knowledge Systems http://www.fks.be/
Stationsstraat 108 Tel: ++32-(0)11-21 49 11
B-3570 ALKEN Fax: ++32-(0)11-22 04 19
next prev parent reply other threads:[~2006-06-13 11:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-12 20:06 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
2006-06-13 11:46 ` Frank Gevaerts [this message]
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=20060613114604.GB10834@fks.be \
--to=frank.gevaerts@fks.be \
--cc=akpm@osdl.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@rtr.ca \
/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
all inboxes | Powered by JetHome®