From: Felipe Balbi <me@felipebalbi.com>
To: Markus Rechberger <mrechberger@gmail.com>
Cc: Oliver Neukum <oliver@neukum.org>, Mark Lord <lkml@rtr.ca>,
linux-kernel@vger.kernel.org,
linux-usb-devel@lists.sourceforge.net,
Laurent Pinchart <laurentp@cse-semaphore.com>
Subject: Re: USB deadlock after resume
Date: Wed, 21 Nov 2007 08:58:33 -0600 [thread overview]
Message-ID: <dd6afcb038a38716f46887681f05f367@felipebalbi.com> (raw)
In-Reply-To: <d9def9db0711210642h23db950vdc0fe1b9802e3e8b@mail.gmail.com>
On Wed, 21 Nov 2007 15:42:43 +0100, "Markus Rechberger"
<mrechberger@gmail.com> wrote:
> On 11/21/07, Markus Rechberger <mrechberger@gmail.com> wrote:
>> On 11/21/07, Oliver Neukum <oliver@neukum.org> wrote:
>> > Am Mittwoch 21 November 2007 schrieb Markus Rechberger:
>> > > On 11/21/07, Markus Rechberger <mrechberger@gmail.com> wrote:
>> > > > On 11/21/07, Mark Lord <lkml@rtr.ca> wrote:
>> > > > > Markus Rechberger wrote:
>> > > > > > Hi,
>> > > > > >
>> > > > > > I'm looking at the linux uvc driver, and noticed after
> resuming my
>> > > > > ..
>> > > > >
>> > > > > Pardon me.. what is the "uvc" driver? Which module/source file
> is
>> > that?
>> > > > >
>> > > >
>> > > > http://linux-uvc.berlios.de/ it's not yet included in the kernel
>> > > > sources although many distributions already ship it.
>> > > > A "dry" run putting the device into sleep mode works fine (I added
> a
>> > > > proc interface for calling those suspend/resume function).
>> > > >
>> > >
>> > > it's not just usb_set_interface that hangs actually.
>> > > It seems to hang at
>> > >
>> > > wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0);
>> > >
>> > > in drivers/usb/core/urb.c after resuming. I disabled access to the
> usb
>> > > subsystem in the uvc driver, although connecting any other usb
> storage
>> > > fails too, just at the same point.
>> >
>> > Which URB is usb_kill_urb() called for?
>> >
>>
>> it's the usb_control_message which calls usb_kill_urb if I haven't got
>> it wrong. (if you're looking for some other information please let me
>> know)
>> Although, I got a bit further with it. The error seems to happen
>> earlier already.
>> If I load the driver, and do not access the device after suspending
>> all usb_control commands fail with -71 eproto.
>>
>> Reloading the driver doesn't help at tht point, only reconnecting the
>> device does.
>>
>> The data is transfered using bulk transfer.
>>
>
> Do you know any good way for performing a softreset within the driver?
> The video application should get a continuous datastream after
> resuming the notebook, so the driver shouldn't be unloaded.
> The driver also keeps a list of previous camera settings which should
> be set up again after resuming. Stopping the video application and
> reattaching the device using ACPI (this board supports reconnecting
> the device using ACPI) should be avoided.
When you suspend, you cut off vbus (afaik, correct me if I'm wrong), which
means your device will get disconnected. One way to avoid this is enabling
CONFIG_USB_PERSIST and trying with that on.
You should also disable auto_suspend for this device. It won't work ok
after
that probably.
>
> Markus
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Best Regards,
Felipe Balbi
http://felipebalbi.com
me@felipebalbi.com
next prev parent reply other threads:[~2007-11-21 14:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-20 21:47 Markus Rechberger
2007-11-21 4:17 ` Mark Lord
2007-11-21 5:32 ` Markus Rechberger
2007-11-21 10:59 ` Markus Rechberger
2007-11-21 11:46 ` Oliver Neukum
2007-11-21 14:37 ` Markus Rechberger
2007-11-21 14:42 ` Markus Rechberger
2007-11-21 14:52 ` Markus Rechberger
2007-11-21 15:00 ` Felipe Balbi
2007-11-21 14:58 ` Felipe Balbi [this message]
2007-11-21 15:10 ` Oliver Neukum
2007-11-21 20:52 ` [linux-usb-devel] " Laurent Pinchart
2007-11-21 21:55 ` Alan Stern
2007-11-21 14:52 ` Felipe Balbi
2007-11-21 15:03 ` Oliver Neukum
2007-11-21 15:15 ` Oliver Neukum
2007-11-21 15:25 ` Markus Rechberger
2007-11-21 20:41 ` [linux-usb-devel] " Laurent Pinchart
2007-11-22 11:52 ` Oliver Neukum
2007-11-21 16:31 ` Alan Stern
2007-11-21 17:14 ` Markus Rechberger
2007-11-21 18:02 ` Alan Stern
2007-11-21 20:45 ` Laurent Pinchart
2007-11-21 22:22 ` Markus Rechberger
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=dd6afcb038a38716f46887681f05f367@felipebalbi.com \
--to=me@felipebalbi.com \
--cc=laurentp@cse-semaphore.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=lkml@rtr.ca \
--cc=mrechberger@gmail.com \
--cc=oliver@neukum.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
all inboxes | Powered by JetHome®