linux/drivers/media/usb/cx231xx
Zebediah Figura 88c660840c media: cx231xx: Use snd_card_free_when_closed() instead of snd_card_free().
cx231xx_close_extension and hence cx231xx_audio_fini() are called with the
cx231xx device lock held, but snd_cx231xx_pcm_close() also grabs that mutex
when closing the file on behalf of arecord. There seems to be no reason to
wait for sound card resources to be released, so let the release be
asynchronous.

Tested with a Hauppauge 955Q (2040:b123) and Linux 5.9.6; the hang
described in the bug no longer occurs and disconnecting the device
correctly terminates arecord with ENODEV.

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=204087
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-11-17 07:12:45 +01:00
..
cx231xx-417.c media: cx231xx: remove redundant assignment to variable err 2020-07-04 12:01:44 +02:00
cx231xx-audio.c media: cx231xx: Use snd_card_free_when_closed() instead of snd_card_free(). 2020-11-17 07:12:45 +01:00
cx231xx-avcore.c media: cx231xx: Remove unneeded semicolon 2020-05-05 17:09:04 +02:00
cx231xx-cards.c media: cx231xx: convert to the vb2 framework 2019-10-01 17:23:44 -03:00
cx231xx-conf-reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
cx231xx-core.c media: cx231xx: Consolidate dmesg output 2020-11-16 10:31:10 +01:00
cx231xx-dif.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cx231xx-dvb.c media: cx231xx: constify copied structure 2020-02-24 15:23:48 +01:00
cx231xx-i2c.c media: cx231xx: replace BUG_ON with recovery code 2020-01-08 14:27:51 +01:00
cx231xx-input.c media: usb: cx231xx: convert to use i2c_new_client_device() 2020-04-14 11:31:32 +02:00
cx231xx-pcb-cfg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
cx231xx-pcb-cfg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
cx231xx-reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
cx231xx-vbi.c media: cx231xx: Consolidate dmesg output 2020-11-16 10:31:10 +01:00
cx231xx-vbi.h media: cx231xx: convert to the vb2 framework 2019-10-01 17:23:44 -03:00
cx231xx-video.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cx231xx.h media: cx231xx: convert to the vb2 framework 2019-10-01 17:23:44 -03:00
Kconfig Revert "media: Kconfig: better support hybrid TV devices" 2020-04-14 11:00:30 +02:00
Makefile media: prefix header search paths with $(srctree)/ 2019-05-18 11:49:56 +09:00