mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
f57715b5aa02a8c6392113c6dd567bd27d055d13
In the function drm_gem_fb_init_with_funcs, the framebuffer (fb) and its corresponding object ID have already been registered. So we need to do cleanup the drm framebuffer if the subsequent execution of drm_gem_fb_afbc_init fails. Or we will meet list_del corruption like bellow when userspace call drm_mode_rmfb to remove all the previous created fb: [ 202.019304] list_del corruption. prev->next should be ffffff817eba4608, but was 0000000000000000. (prev=ffffff817eba5f08) [ 202.019340] kernel BUG at lib/list_debug.c:61! [ 202.019346] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [ 202.021421] Modules linked in: bcmdhd(O) r8168 [ 202.021884] CPU: 7 PID: 395 Comm: binder:339_3 Tainted: G W O 6.1.118 #59 [ 202.022648] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT) [ 202.023249] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 202.023925] pc : __list_del_entry_valid+0xbc/0xd0 [ 202.024409] lr : __list_del_entry_valid+0xbc/0xd0 [ 202.024889] sp : ffffffc00dd8bb40 [ 202.025248] x29: ffffffc00dd8bb40 x28: 00000000000000af x27:ffffff81088ab600 [ 202.025936] x26: 0000000000000004 x25: ffffff810880eac0 x24:ffffffc00962bc98 [ 202.026623] x23: 0000000000000000 x22: ffffff81002be000 x21:ffffff817eba4608 [ 202.027310] x20: ffffff817eba4600 x19: ffffff81002be218 x18:ffffffc00dbc5080 [ 202.027998] x17: 20747562202c3830 x16: ffffffffffffffff x15:0000000000000004 [ 202.028684] x14: ffffffc00a06c980 x13: 0000000000001d5a x12:0000000000000003 [ 202.029372] x11: 000000010000dd5a x10: c00000010000dd5a x9 :02c01f0f68978400 [ 202.030059] x8 : 02c01f0f68978400 x7 : 205b5d3430333931 x6 :302e32303220205b [ 202.030747] x5 : ffffffc00a493617 x4 : ffffffc00dd8b897 x3 :0000000000000000 [ 202.031434] x2 : 0000000000000000 x1 : ffffffc00dd8b900 x0 :000000000000006d [ 202.032121] Call trace: [ 202.032395] __list_del_entry_valid+0xbc/0xd0 [ 202.032843] drm_framebuffer_cleanup+0x34/0x80 [ 202.033305] __rockchip_drm_fb_destroy+0x18/0x1ec [ 202.033789] rockchip_drm_fb_destroy+0x18/0x40 [ 202.034247] drm_framebuffer_free+0x30/0x40 [ 202.034674] drm_mode_object_put+0x60/0xac [ 202.035100] drm_mode_rmfb+0x170/0x1a4 [ 202.035493] drm_mode_rmfb_ioctl+0x14/0x20 [ 202.035920] drm_ioctl_kernel+0x80/0xf8 [ 202.036324] drm_ioctl+0x2d4/0x554 Change-Id: I191e2b2a1b8229da1642ac58a6adc8fc3a3d71ea Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
…
…
…
…
…
…
…
…
…
…
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%