mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-13 05:54:23 +08:00
deb29e9022
When ivtv PCM device is accessed at the state where no firmware is loaded, it oopses like: BUG: unable to handle kernel NULL pointer dereference at 0000000000000050 IP: [<ffffffffa049a881>] try_mailbox.isra.0+0x11/0x50 [ivtv] Call Trace: [<ffffffffa049aa20>] ivtv_api_call+0x160/0x6b0 [ivtv] [<ffffffffa049af86>] ivtv_api+0x16/0x40 [ivtv] [<ffffffffa049b10c>] ivtv_vapi+0xac/0xc0 [ivtv] [<ffffffffa049d40d>] ivtv_start_v4l2_encode_stream+0x19d/0x630 [ivtv] [<ffffffffa0530653>] snd_ivtv_pcm_capture_open+0x173/0x1c0 [ivtv_alsa] [<ffffffffa04526f1>] snd_pcm_open_substream+0x51/0x100 [snd_pcm] [<ffffffffa0452853>] snd_pcm_open+0xb3/0x260 [snd_pcm] [<ffffffffa0452a37>] snd_pcm_capture_open+0x37/0x50 [snd_pcm] [<ffffffffa033f557>] snd_open+0xa7/0x1e0 [snd] [<ffffffff8118a628>] chrdev_open+0x88/0x1d0 [<ffffffff811840be>] do_dentry_open+0x1de/0x270 [<ffffffff81193a73>] do_last+0x1c3/0xec0 [<ffffffff81194826>] path_openat+0xb6/0x670 [<ffffffff81195b65>] do_filp_open+0x35/0x80 [<ffffffff81185449>] do_sys_open+0x129/0x210 [<ffffffff815b782d>] system_call_fastpath+0x1a/0x1f This patch adds the check of firmware at PCM open callback like other open callbacks of this driver. Bugzilla: https://apibugzilla.novell.com/show_bug.cgi?id=875440 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> |
||
---|---|---|
.. | ||
ivtv-alsa-main.c | ||
ivtv-alsa-mixer.c | ||
ivtv-alsa-mixer.h | ||
ivtv-alsa-pcm.c | ||
ivtv-alsa-pcm.h | ||
ivtv-alsa.h | ||
ivtv-cards.c | ||
ivtv-cards.h | ||
ivtv-controls.c | ||
ivtv-controls.h | ||
ivtv-driver.c | ||
ivtv-driver.h | ||
ivtv-fileops.c | ||
ivtv-fileops.h | ||
ivtv-firmware.c | ||
ivtv-firmware.h | ||
ivtv-gpio.c | ||
ivtv-gpio.h | ||
ivtv-i2c.c | ||
ivtv-i2c.h | ||
ivtv-ioctl.c | ||
ivtv-ioctl.h | ||
ivtv-irq.c | ||
ivtv-irq.h | ||
ivtv-mailbox.c | ||
ivtv-mailbox.h | ||
ivtv-queue.c | ||
ivtv-queue.h | ||
ivtv-routing.c | ||
ivtv-routing.h | ||
ivtv-streams.c | ||
ivtv-streams.h | ||
ivtv-udma.c | ||
ivtv-udma.h | ||
ivtv-vbi.c | ||
ivtv-vbi.h | ||
ivtv-version.h | ||
ivtv-yuv.c | ||
ivtv-yuv.h | ||
ivtvfb.c | ||
Kconfig | ||
Makefile |