From: Takashi Iwai <tiwai@suse.de>
To: Michael Ralston <michael@ralston.id.au>
Cc: alsa-devel@alsa-project.org, regressions@lists.linux.dev,
Takashi Iwai <tiwai@suse.com>,
stable@vger.kernel.org,
Thorsten Leemhuis <regressions@leemhuis.info>
Subject: Re: USB-Audio regression on behringer UMC404HD
Date: Tue, 03 Jan 2023 17:03:55 +0100 [thread overview]
Message-ID: <87zgazppuc.wl-tiwai@suse.de> (raw)
In-Reply-To: <CAC2975+Ybz2-jyJAwAUEu5S1XKfp0B-p4s-gAsMPfZdD61uNfQ@mail.gmail.com>
On Tue, 03 Jan 2023 16:31:13 +0100,
Michael Ralston wrote:
>
> On Wed, 4 Jan 2023 at 02:21, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > Hrm... Try to reload snd_usb_audio module with the dyndbg=+p option,
> > e.g.
> >
> > # modprobe -r snd-usb-audio
> > # modprobe snd_usb_audio dyndbg=+p
> >
> > Or you can try to put your own debug printk(); we need to make sure
> > whether it's really the right code you're testing at first.
> >
>
> Ok, it looks like it was ignoring the kernel command line for some
> reason. modprobing it with the option brought up debug messages again.
>
> I'm still running kernel 6.1.2 vanilla with the revert and the patches.
>
> aplay hung again when I ran it, the kernel was stuck on:
> Jan 04 02:25:59 leatherback kernel: usb 1-4: 1:1 Start Playback PCM
>
> and didn't output another line until I ctrl+c aplay.
OK, thanks. Then it's not about the USB interface reset.
It must be subtle and nasty difference.
Could you apply the change below on the top?
It essentially reverts the hw_params/prepare split again.
Takashi
-- 8< --
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -564,6 +564,21 @@ static int snd_usb_hw_params(struct snd_pcm_substream *substream,
}
ret = snd_usb_endpoint_set_params(chip, subs->data_endpoint);
+ if (ret < 0)
+ goto unlock;
+
+ if (subs->sync_endpoint) {
+ ret = snd_usb_endpoint_prepare(chip, subs->sync_endpoint);
+ if (ret < 0)
+ goto unlock;
+ }
+
+ ret = snd_usb_endpoint_prepare(chip, subs->data_endpoint);
+ if (ret < 0)
+ goto unlock;
+ else if (ret > 0)
+ snd_usb_set_format_quirk(subs, subs->cur_audiofmt);
+ ret = 0;
unlock:
if (ret < 0)
WARNING: multiple messages have this Message-ID (diff)
From: Takashi Iwai <tiwai@suse.de>
To: Michael Ralston <michael@ralston.id.au>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>,
alsa-devel@alsa-project.org, regressions@lists.linux.dev,
stable@vger.kernel.org, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>
Subject: Re: USB-Audio regression on behringer UMC404HD
Date: Tue, 03 Jan 2023 17:03:55 +0100 [thread overview]
Message-ID: <87zgazppuc.wl-tiwai@suse.de> (raw)
In-Reply-To: <CAC2975+Ybz2-jyJAwAUEu5S1XKfp0B-p4s-gAsMPfZdD61uNfQ@mail.gmail.com>
On Tue, 03 Jan 2023 16:31:13 +0100,
Michael Ralston wrote:
>
> On Wed, 4 Jan 2023 at 02:21, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > Hrm... Try to reload snd_usb_audio module with the dyndbg=+p option,
> > e.g.
> >
> > # modprobe -r snd-usb-audio
> > # modprobe snd_usb_audio dyndbg=+p
> >
> > Or you can try to put your own debug printk(); we need to make sure
> > whether it's really the right code you're testing at first.
> >
>
> Ok, it looks like it was ignoring the kernel command line for some
> reason. modprobing it with the option brought up debug messages again.
>
> I'm still running kernel 6.1.2 vanilla with the revert and the patches.
>
> aplay hung again when I ran it, the kernel was stuck on:
> Jan 04 02:25:59 leatherback kernel: usb 1-4: 1:1 Start Playback PCM
>
> and didn't output another line until I ctrl+c aplay.
OK, thanks. Then it's not about the USB interface reset.
It must be subtle and nasty difference.
Could you apply the change below on the top?
It essentially reverts the hw_params/prepare split again.
Takashi
-- 8< --
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -564,6 +564,21 @@ static int snd_usb_hw_params(struct snd_pcm_substream *substream,
}
ret = snd_usb_endpoint_set_params(chip, subs->data_endpoint);
+ if (ret < 0)
+ goto unlock;
+
+ if (subs->sync_endpoint) {
+ ret = snd_usb_endpoint_prepare(chip, subs->sync_endpoint);
+ if (ret < 0)
+ goto unlock;
+ }
+
+ ret = snd_usb_endpoint_prepare(chip, subs->data_endpoint);
+ if (ret < 0)
+ goto unlock;
+ else if (ret > 0)
+ snd_usb_set_format_quirk(subs, subs->cur_audiofmt);
+ ret = 0;
unlock:
if (ret < 0)
next prev parent reply other threads:[~2023-01-03 16:04 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-02 17:29 USB-Audio regression on behringer UMC404HD Michael Ralston
2023-01-02 17:43 ` Michael Ralston
2023-01-03 9:07 ` Thorsten Leemhuis
2023-01-03 9:07 ` Thorsten Leemhuis
2023-01-03 9:33 ` Takashi Iwai
2023-01-03 9:33 ` Takashi Iwai
2023-01-03 13:10 ` Michael Ralston
2023-01-03 13:10 ` Michael Ralston
2023-01-03 13:38 ` Takashi Iwai
2023-01-03 13:38 ` Takashi Iwai
2023-01-03 15:05 ` Michael Ralston
2023-01-03 15:05 ` Michael Ralston
2023-01-03 15:13 ` Takashi Iwai
2023-01-03 15:13 ` Takashi Iwai
2023-01-03 15:14 ` Michael Ralston
2023-01-03 15:14 ` Michael Ralston
2023-01-03 15:19 ` Michael Ralston
2023-01-03 15:19 ` Michael Ralston
2023-01-03 15:21 ` Takashi Iwai
2023-01-03 15:21 ` Takashi Iwai
2023-01-03 15:31 ` Michael Ralston
2023-01-03 15:31 ` Michael Ralston
2023-01-03 16:03 ` Takashi Iwai [this message]
2023-01-03 16:03 ` Takashi Iwai
2023-01-03 19:09 ` Michael Ralston
2023-01-03 19:09 ` Michael Ralston
2023-01-03 19:24 ` Michael Ralston
2023-01-03 19:24 ` Michael Ralston
2023-01-03 19:27 ` Michael Ralston
2023-01-03 19:27 ` Michael Ralston
2023-01-03 19:29 ` Michael Ralston
2023-01-03 19:29 ` Michael Ralston
2023-01-04 8:16 ` Takashi Iwai
2023-01-04 8:16 ` Takashi Iwai
2023-01-04 14:22 ` Michael Ralston
2023-01-04 14:22 ` Michael Ralston
2023-01-04 14:42 ` Takashi Iwai
2023-01-04 14:42 ` Takashi Iwai
2023-01-04 14:47 ` Michael Ralston
2023-01-04 14:47 ` Michael Ralston
2023-01-04 14:54 ` Takashi Iwai
2023-01-04 14:54 ` Takashi Iwai
2023-01-04 14:56 ` Michael Ralston
2023-01-04 14:56 ` Michael Ralston
2023-01-04 15:17 ` Takashi Iwai
2023-01-04 15:17 ` 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=87zgazppuc.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=michael@ralston.id.au \
--cc=regressions@leemhuis.info \
--cc=regressions@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.com \
/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.