> > This lock causes a blocked task on my TQMa8MPxL based board: > > INFO: task alsactl:1969 blocked for more than 120 seconds. > Tainted: G W 6.19.0-next-20260209+ #3331 > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > task:alsactl state:D stack:0 pid:1969 tgid:1969 ppid:1 > task_flags:0x400100 flags:0x00000a01 > Call trace: > __switch_to+0xdc/0x120 (T) > __schedule+0x258/0x790 > schedule+0x30/0xb0 > schedule_preempt_disabled+0x20/0x40 > rwsem_down_read_slowpath+0x214/0x68c > down_read+0xb0/0xb8 > fsl_xcvr_mode_put+0x4c/0xc0 [snd_soc_fsl_xcvr > ac1b31380c6a6ea0d613bd5f78489e314a40f91f] > snd_ctl_elem_write+0xdc/0x180 [snd 852e63996474051c57bcd1a86ebfd81083073853] > snd_ctl_ioctl+0x7a4/0xaec [snd 852e63996474051c57bcd1a86ebfd81083073853] > __arm64_sys_ioctl+0x9c/0xe4 > invoke_syscall.constprop.0+0x58/0xcc > el0_svc_common.constprop.0+0xac/0xd4 > do_el0_svc+0x18/0x20 > el0_svc+0x24/0xa0 > el0t_64_sync_handler+0x98/0xdc > el0t_64_sync+0x154/0x158 > INFO: task alsactl:1969 <reader> blocked on an rw-semaphore likely owned by > task alsactl:1969 <writer>
Thanks Alexander for reminding this, it seems that in the context of the whole put operation, the lock is held through upper ALSA core layer, so we don't need to add lock protection simply for fsl_xcvr_activate_ctl() in the driver layer. Thanks for your time and apologies for the inconvenience. I think we can drop this patch.
