From: Clemens Ladisch <clemens@ladisch.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: "Jonathan Nieder" <jrnieder@gmail.com>,
"Steffen Müller" <steffen.mueller@radio-frei.de>,
alsa-devel@alsa-project.org,
"Olivier MATZ" <zer0@droids-corp.org>,
linux-pm@vger.kernel.org, linux-usb@vger.kernel.org,
"Oliver Neukum" <oneukum@suse.de>,
stable@vger.kernel.org, "David Banks" <amoebae@gmail.com>,
"Ralf Lang" <lang@b1-systems.de>
Subject: Re: [alsa-devel] [PATCH] usb: add USB_QUIRK_RESET_RESUME for M-Audio 49
Date: Mon, 26 Nov 2012 13:35:31 +0100 [thread overview]
Message-ID: <50B36213.9090007@ladisch.de> (raw)
In-Reply-To: <s5hlidoiu5y.wl%tiwai@suse.de>
Takashi Iwai wrote:> At Sun, 25 Nov 2012 23:01:27 +0100,
> Clemens Ladisch wrote:
>>
>> Jonathan Nieder wrote:
>>> Some USB MIDI keyboards fail to operate after a USB autosuspend.
>>
>> Make that *all* USB MIDI devices with input ports.
>>
>> This is not a bug in the device, but one of the many bugs introduced
>> with the autosuspend code in <http://git.kernel.org/linus/88a8516a2128>.
>>
>> That patch does not handle input at all, i.e., when the driver wants to
>> read from the device, it just doesn't take it out of suspend mode.
>>
>>> A workaround is to disable USB autosuspend for these devices by
>>> putting AUTOSUSPEND_USBID_BLACKLIST="0763:2027" (resp. 0763:019b) in
>>> /etc/laptop-mode/conf.d/usb-autosuspend.conf. In the spirit of commit
>>> 166cb70e97bd ("usb: add USB_QUIRK_RESET_RESUME for M-Audio 88es"),
>>> reset the device on resume so this workaround is not needed any more.
>>
>> It is not feasible to add the IDs of all USB MIDI devices.
>>
>> I'm working on a fix that adds proper power management for input ports,
>> but this requires the driver to be reorganized a little ...
>
> Doesn't a simple patch like below work?
> +static int substream_open(struct snd_rawmidi_substream *substream, int open)
> {
> + if (open && umidi->opened++ == 0) {
> + err = usb_autopm_get_interface(umidi->iface);
>
> static int snd_usbmidi_input_open(struct snd_rawmidi_substream *substream)
> {
> + return substream_open(substream, 1);
No, because the input URBs are submitted before the userspace device is
opened. (And usb_autopm_get_interface() cannot be called from the USB
probe callback.)
Regards,
Clemens
next prev parent reply other threads:[~2012-11-26 12:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4FA2D481.4070304@droids-corp.org>
[not found] ` <4FA2DB9D.1040303@droids-corp.org>
[not found] ` <20120604110608.GG8248@droids-corp.org>
[not found] ` <20120605232432.GE3619@burratino>
[not found] ` <4FD06563.7050605@droids-corp.org>
[not found] ` <20121125094110.GA21387@elie.Belkin>
[not found] ` <50B2815E.2090105@droids-corp.org>
2012-11-25 21:21 ` [PATCH] usb: add USB_QUIRK_RESET_RESUME for M-Audio 49 Jonathan Nieder
[not found] ` <20121125212100.GE24024-fcEM2ccDkbL2nhBuCrrZHw@public.gmane.org>
2012-11-25 22:01 ` [alsa-devel] " Clemens Ladisch
[not found] ` <50B29537.7060007-P6GI/4k7KOmELgA04lAiVw@public.gmane.org>
2012-11-26 9:35 ` Takashi Iwai
2012-11-26 12:35 ` Clemens Ladisch [this message]
2012-11-26 13:04 ` Takashi Iwai
[not found] ` <s5hwqx8h5w1.wl%tiwai-l3A5Bk7waGM@public.gmane.org>
2012-11-26 13:43 ` Clemens Ladisch
2012-11-26 13:54 ` Oliver Neukum
2012-11-26 16:12 ` Alan Stern
[not found] ` <Pine.LNX.4.44L0.1211261111130.2168-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2012-11-26 20:12 ` Clemens Ladisch
2012-11-26 21:54 ` Alan Stern
2012-11-26 13:58 ` Takashi Iwai
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=50B36213.9090007@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=amoebae@gmail.com \
--cc=jrnieder@gmail.com \
--cc=lang@b1-systems.de \
--cc=linux-pm@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oneukum@suse.de \
--cc=stable@vger.kernel.org \
--cc=steffen.mueller@radio-frei.de \
--cc=tiwai@suse.de \
--cc=zer0@droids-corp.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.