linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Grzeschik <mgr@pengutronix.de>
To: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Cc: laurent.pinchart@ideasonboard.com, linux-usb@vger.kernel.org,
	linux-media@vger.kernel.org, gregkh@linuxfoundation.org,
	john@keeping.me.uk, alsi@bang-olufsen.dk, kernel@pengutronix.de
Subject: Re: [PATCH] usb: gadget: u_audio: initialize spinlocks
Date: Tue, 3 Oct 2023 13:12:57 +0200	[thread overview]
Message-ID: <ZRv3Ocwc0c/sKaDk@pengutronix.de> (raw)
In-Reply-To: <CAB=otbTBNDNpg0B_WdCbCuj7qcoOdPCP2QE4az0J=KrHOTgfLg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3161 bytes --]

On Mon, Oct 02, 2023 at 04:39:42AM -0400, Ruslan Bilovol wrote:
>On Mon, Oct 2, 2023 at 2:42 AM Michael Grzeschik
><m.grzeschik@pengutronix.de> wrote:
>>
>> When using uac2 with lockdep enabled, the kernel is throwing this
>> message, due to uninitialized spinlocks. We initialize them now.
>>
>> [   24.668867] The code is fine but needs lockdep annotation, or maybe
>> [   24.675878] you didn't initialize this object before use?
>> [   24.681910] turning off the locking correctness validator.
>> [   24.688038] CPU: 0 PID: 348 Comm: irq/43-dwc3 Tainted: G         C         6.5.0-20230919-1+ #14
>> [   24.697866] Hardware name: WolfVision PF5 (DT)
>> [   24.702831] Call trace:
>> [   24.705559]  dump_backtrace+0xac/0x130
>> [   24.709755]  show_stack+0x30/0x48
>> [   24.713456]  dump_stack_lvl+0x60/0xb0
>> [   24.717552]  dump_stack+0x18/0x28
>> [   24.721254]  register_lock_class+0x4e8/0x4f8
>> [   24.726029]  __lock_acquire+0x88/0x2130
>> [   24.730314]  lock_acquire+0x17c/0x338
>> [   24.734403]  _raw_spin_lock_irqsave+0x60/0x90
>> [   24.739274]  u_audio_get_capture_srate+0x34/0x68
>> [   24.744436]  afunc_setup+0x2d8/0x538
>> [   24.748431]  composite_setup+0x1a8/0x1ba8
>> [   24.752913]  configfs_composite_setup+0x88/0xc0
>> [   24.757974]  dwc3_ep0_interrupt+0x5e8/0xab8
>> [   24.762648]  dwc3_process_event_buf+0x424/0xbb0
>> [   24.767717]  dwc3_thread_interrupt+0x4c/0x90
>> [   24.772488]  irq_thread_fn+0x34/0xb8
>> [   24.776484]  irq_thread+0x1a0/0x290
>> [   24.780379]  kthread+0x10c/0x120
>> [   24.783985]  ret_from_fork+0x10/0x20
>>
>> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
>> ---
>>  drivers/usb/gadget/function/u_audio.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/usb/gadget/function/u_audio.c b/drivers/usb/gadget/function/u_audio.c
>> index 4a42574b4a7feb..9d9f906adf7c00 100644
>> --- a/drivers/usb/gadget/function/u_audio.c
>> +++ b/drivers/usb/gadget/function/u_audio.c
>> @@ -1172,6 +1172,9 @@ int g_audio_setup(struct g_audio *g_audio, const char *pcm_name,
>>         g_audio->uac = uac;
>>         uac->audio_dev = g_audio;
>>
>> +       spin_lock_init(&uac->c_prm.lock);
>> +       spin_lock_init(&uac->p_prm.lock);
>
>These locks are already initialized just a few lines below in this function.

It was probably to obvious, so I missed them.

>It seems the issue is because uac2 does u_audio_get_capture_srate() while
>capture isn't enabled? What is your UAC2 gadget configuration?

Yes, so probably the c_chmask is not setup while we still try to
work/configure the capture path.

There is actually no application of ours involved in setting the srate.

It might be possible that pipewire is changing things that should
left alone. I will check that assumption.

Thanks,
Michael

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2023-10-03 11:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-02  6:42 [PATCH] usb: gadget: u_audio: initialize spinlocks Michael Grzeschik
2023-10-02  7:03 ` Greg KH
2023-10-02  8:39 ` Ruslan Bilovol
2023-10-03 11:12   ` Michael Grzeschik [this message]

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=ZRv3Ocwc0c/sKaDk@pengutronix.de \
    --to=mgr@pengutronix.de \
    --cc=alsi@bang-olufsen.dk \
    --cc=gregkh@linuxfoundation.org \
    --cc=john@keeping.me.uk \
    --cc=kernel@pengutronix.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=ruslan.bilovol@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).