mirror of https://gitee.com/openkylin/linux.git
7a0786c19d
The DVB binding schema at the DVB core assumes that the frontend is a separate driver. Faling to do that causes OOPS when the module is removed, as it tries to do a symbol_put_addr on an internal symbol, causing craches like: WARNING: CPU: 1 PID: 28102 at kernel/module.c:1108 module_put+0x57/0x70 Modules linked in: dvb_usb_gp8psk(-) dvb_usb dvb_core nvidia_drm(PO) nvidia_modeset(PO) snd_hda_codec_hdmi snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd soundcore nvidia(PO) [last unloaded: rc_core] CPU: 1 PID: 28102 Comm: rmmod Tainted: P WC O 4.8.4-build.1 #1 Hardware name: MSI MS-7309/MS-7309, BIOS V1.12 02/23/2009 Call Trace: dump_stack+0x44/0x64 __warn+0xfa/0x120 module_put+0x57/0x70 module_put+0x57/0x70 warn_slowpath_null+0x23/0x30 module_put+0x57/0x70 gp8psk_fe_set_frontend+0x460/0x460 [dvb_usb_gp8psk] symbol_put_addr+0x27/0x50 dvb_usb_adapter_frontend_exit+0x3a/0x70 [dvb_usb] From Derek's tests: "Attach bug is fixed, tuning works, module unloads without crashing. Everything seems ok!" Reported-by: Derek <user.vdr@gmail.com> Tested-by: Derek <user.vdr@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
a800.c | ||
af9005-fe.c | ||
af9005-remote.c | ||
af9005-script.h | ||
af9005.c | ||
af9005.h | ||
az6027.c | ||
az6027.h | ||
cinergyT2-core.c | ||
cinergyT2-fe.c | ||
cinergyT2.h | ||
cxusb.c | ||
cxusb.h | ||
dib07x0.h | ||
dib0700.h | ||
dib0700_core.c | ||
dib0700_devices.c | ||
dibusb-common.c | ||
dibusb-mb.c | ||
dibusb-mc-common.c | ||
dibusb-mc.c | ||
dibusb.h | ||
digitv.c | ||
digitv.h | ||
dtt200u-fe.c | ||
dtt200u.c | ||
dtt200u.h | ||
dtv5100.c | ||
dtv5100.h | ||
dvb-usb-common.h | ||
dvb-usb-dvb.c | ||
dvb-usb-firmware.c | ||
dvb-usb-i2c.c | ||
dvb-usb-init.c | ||
dvb-usb-remote.c | ||
dvb-usb-urb.c | ||
dvb-usb.h | ||
dw2102.c | ||
dw2102.h | ||
friio-fe.c | ||
friio.c | ||
friio.h | ||
gp8psk.c | ||
gp8psk.h | ||
m920x.c | ||
m920x.h | ||
nova-t-usb2.c | ||
opera1.c | ||
pctv452e.c | ||
technisat-usb2.c | ||
ttusb2.c | ||
ttusb2.h | ||
umt-010.c | ||
usb-urb.c | ||
vp702x-fe.c | ||
vp702x.c | ||
vp702x.h | ||
vp7045-fe.c | ||
vp7045.c | ||
vp7045.h |