Error handling when vmalloc is too small

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

Error handling seems to be broken when allocating a framebuffer fails
(see below). Observed on a Apalis TK1 (Tegra K1 with 2GB RAM, seems to
allocate 240 MB for vmalloc) using Linux 4.15.0-rc7 connected to a 4K
TV:

[    5.632659] [drm:drm_setup_crtcs]
[    5.636227] [drm:drm_helper_probe_single_connector_modes]
[CONNECTOR:46:HDMI-A-1]
[    5.643811] [drm:drm_helper_probe_single_connector_modes]
[CONNECTOR:46:HDMI-A-1] status updated from unknown to connected
[    5.655003] [drm:drm_sysfs_hotplug_event] generating hotplug event
[    5.919028] [drm:drm_add_display_info] non_desktop set to 0
[    5.924664] [drm:drm_add_display_info] HDMI: DVI dual 0, max TMDS
clock 300000 kHz
[    5.932232] [drm:drm_add_display_info] HDMI-A-1: HDMI sink does deep
color 30.
[    5.939483] [drm:drm_add_display_info] HDMI-A-1: HDMI sink does deep
color 36.
[    5.946736] [drm:drm_add_display_info] HDMI-A-1: Assigning HDMI sink
color depth as 12 bpc.
[    5.955114] [drm:drm_add_display_info] HDMI-A-1: HDMI sink does
YCRCB444 in deep color.
[    5.963147] [drm:drm_add_display_info] HF-VSDB: max TMDS clock 600000
kHz
[    5.969954] [drm:drm_add_display_info] non_desktop set to 0
[    5.975561] [drm:drm_add_display_info] HDMI: DVI dual 0, max TMDS
clock 300000 kHz
[    5.983158] [drm:drm_add_display_info] HDMI-A-1: HDMI sink does deep
color 30.
[    5.990376] [drm:drm_add_display_info] HDMI-A-1: HDMI sink does deep
color 36.
[    5.997626] [drm:drm_add_display_info] HDMI-A-1: Assigning HDMI sink
color depth as 12 bpc.
[    6.006003] [drm:drm_add_display_info] HDMI-A-1: HDMI sink does
YCRCB444 in deep color.
[    6.014035] [drm:drm_add_display_info] HF-VSDB: max TMDS clock 600000
kHz
[    6.021749] [drm:drm_edid_to_eld] ELD monitor LG TV
[    6.026668] [drm:drm_edid_to_eld] HDMI: latency present 0 0, video
latency 0 1, audio latency 128 2
[    6.035740] [drm:drm_edid_to_eld] ELD size 40, SAD count 4
[    6.041893] [drm:drm_mode_debug_printmodeline] Modeline
49:"3840x2160" 60 594000 3840 4016 4104 4400 2160 2168 2178 2250 0x48
0x5
[    6.053568] [drm:drm_mode_prune_invalid] Not using 3840x2160 mode:
NOCLOCK
[    6.060454] [drm:drm_mode_debug_printmodeline] Modeline
62:"3840x2160" 0 594000 3840 4896 4984 5280 2160 2168 2178 2250 0x40 0x5
[    6.072038] [drm:drm_mode_prune_invalid] Not using 3840x2160 mode:
NOCLOCK
[    6.078955] [drm:drm_mode_debug_printmodeline] Modeline
65:"4096x2160" 0 594000 4096 4184 4272 4400 2160 2168 2178 2250 0x40 0x5
[    6.090687] [drm:drm_mode_prune_invalid] Not using 4096x2160 mode:
NOCLOCK
[    6.097607] [drm:drm_mode_debug_printmodeline] Modeline
66:"4096x2160" 0 594000 4096 5064 5152 5280 2160 2168 2178 2250 0x40 0x5
[    6.109192] [drm:drm_mode_prune_invalid] Not using 4096x2160 mode:
NOCLOCK
[    6.116108] [drm:drm_mode_debug_printmodeline] Modeline
69:"1920x1080i" 0 74250 1920 2008 2052 2200 1080 1084 1094 1125 0x40
0x15
[    6.127780] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode:
NO_INTERLACE
[    6.135216] [drm:drm_mode_debug_printmodeline] Modeline
70:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x40
0x15
[    6.146887] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode:
NO_INTERLACE
[    6.154323] [drm:drm_mode_debug_printmodeline] Modeline 77:"720x576i"
0 13500 720 732 795 864 576 580 586 625 0x40 0x101a
[    6.165301] [drm:drm_mode_prune_invalid] Not using 720x576i mode:
NO_INTERLACE
[    6.172534] [drm:drm_mode_debug_printmodeline] Modeline
91:"3840x2160" 60 593407 3840 4016 4104 4400 2160 2168 2178 2250 0x40
0x5
[    6.184205] [drm:drm_mode_prune_invalid] Not using 3840x2160 mode:
NOCLOCK
[    6.191089] [drm:drm_mode_debug_printmodeline] Modeline
97:"4096x2160" 60 593407 4096 4184 4272 4400 2160 2168 2178 2250 0x40
0x5
[    6.202761] [drm:drm_mode_prune_invalid] Not using 4096x2160 mode:
NOCLOCK
[    6.209676] [drm:drm_mode_debug_printmodeline] Modeline
99:"1920x1080i" 60 74176 1920 2008 2052 2200 1080 1084 1094 1125 0x40
0x15
[    6.221433] [drm:drm_mode_prune_invalid] Not using 1920x1080i mode:
NO_INTERLACE
[    6.228882] [drm:drm_helper_probe_single_connector_modes]
[CONNECTOR:46:HDMI-A-1] probed modes :
[    6.237701] [drm:drm_mode_debug_printmodeline] Modeline
84:"4096x2160" 30 297000 4096 4184 4272 4400 2160 2168 2178 2250 0x40
0x5
[    6.249379] [drm:drm_mode_debug_printmodeline] Modeline
108:"4096x2160" 30 296703 4096 4184 4272 4400 2160 2168 2178 2250 0x40
0x5
[    6.261143] [drm:drm_mode_debug_printmodeline] Modeline
83:"4096x2160" 25 297000 4096 5064 5152 5280 2160 2168 2178 2250 0x40
0x5
[    6.272822] [drm:drm_mode_debug_printmodeline] Modeline
82:"4096x2160" 24 297000 4096 5116 5204 5500 2160 2168 2178 2250 0x40
0x5
[    6.284500] [drm:drm_mode_debug_printmodeline] Modeline
107:"4096x2160" 24 296703 4096 5116 5204 5500 2160 2168 2178 2250 0x40
0x5
[    6.296265] [drm:drm_mode_debug_printmodeline] Modeline
81:"3840x2160" 30 297000 3840 4016 4104 4400 2160 2168 2178 2250 0x40
0x5
[    6.307944] [drm:drm_mode_debug_printmodeline] Modeline
106:"3840x2160" 30 296703 3840 4016 4104 4400 2160 2168 2178 2250 0x40
0x5
[    6.319708] [drm:drm_mode_debug_printmodeline] Modeline
80:"3840x2160" 25 297000 3840 4896 4984 5280 2160 2168 2178 2250 0x40
0x5
[    6.331385] [drm:drm_mode_debug_printmodeline] Modeline
79:"3840x2160" 24 297000 3840 5116 5204 5500 2160 2168 2178 2250 0x40
0x5
[    6.343062] [drm:drm_mode_debug_printmodeline] Modeline
105:"3840x2160" 24 296703 3840 5116 5204 5500 2160 2168 2178 2250 0x40
0x5
[    6.354826] [drm:drm_mode_debug_printmodeline] Modeline
85:"1920x1080" 120 297000 1920 2008 2052 2200 1080 1084 1089 1125 0x40
0x5
[    6.366590] [drm:drm_mode_debug_printmodeline] Modeline
109:"1920x1080" 120 296703 1920 2008 2052 2200 1080 1084 1089 1125 0x40
0x5
[    6.378439] [drm:drm_mode_debug_printmodeline] Modeline
86:"1920x1080" 100 297000 1920 2448 2492 2640 1080 1084 1089 1125 0x40
0x5
[    6.390202] [drm:drm_mode_debug_printmodeline] Modeline
50:"1920x1080" 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x40
0x5
[    6.401879] [drm:drm_mode_debug_printmodeline] Modeline
92:"1920x1080" 60 148352 1920 2008 2052 2200 1080 1084 1089 1125 0x40
0x5
[    6.413557] [drm:drm_mode_debug_printmodeline] Modeline
64:"1920x1080" 50 148500 1920 2448 2492 2640 1080 1084 1089 1125 0x40
0x5
[    6.425234] [drm:drm_mode_debug_printmodeline] Modeline
76:"1920x1080" 30 74250 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[    6.436825] [drm:drm_mode_debug_printmodeline] Modeline
103:"1920x1080" 30 74176 1920 2008 2052 2200 1080 1084 1089 1125 0x40
0x5
[    6.448502] [drm:drm_mode_debug_printmodeline] Modeline
75:"1920x1080" 25 74250 1920 2448 2492 2640 1080 1084 1089 1125 0x40 0x5
[    6.460092] [drm:drm_mode_debug_printmodeline] Modeline
74:"1920x1080" 24 74250 1920 2558 2602 2750 1080 1084 1089 1125 0x40 0x5
[    6.471682] [drm:drm_mode_debug_printmodeline] Modeline
102:"1920x1080" 24 74176 1920 2558 2602 2750 1080 1084 1089 1125 0x40
0x5
[    6.483359] [drm:drm_mode_debug_printmodeline] Modeline
56:"1280x1024" 60 108000 1280 1328 1440 1688 1024 1025 1028 1066 0x40
0x5
[    6.495035] [drm:drm_mode_debug_printmodeline] Modeline 51:"1360x768"
60 85500 1360 1424 1536 1792 768 771 777 795 0x40 0x5
[    6.506192] [drm:drm_mode_debug_printmodeline] Modeline 55:"1152x864"
60 81579 1152 1216 1336 1520 864 865 868 895 0x0 0x6
[    6.517262] [drm:drm_mode_debug_printmodeline] Modeline 67:"1280x720"
60 74250 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[    6.528419] [drm:drm_mode_debug_printmodeline] Modeline 98:"1280x720"
60 74176 1280 1390 1430 1650 720 725 730 750 0x40 0x5
[    6.539577] [drm:drm_mode_debug_printmodeline] Modeline 68:"1280x720"
50 74250 1280 1720 1760 1980 720 725 730 750 0x40 0x5
[    6.550734] [drm:drm_mode_debug_printmodeline] Modeline 54:"1024x768"
60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[    6.561892] [drm:drm_mode_debug_printmodeline] Modeline 53:"800x600"
60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[    6.572702] [drm:drm_mode_debug_printmodeline] Modeline 73:"720x576"
50 27000 720 732 796 864 576 581 586 625 0x40 0xa
[    6.583426] [drm:drm_mode_debug_printmodeline] Modeline 100:"720x480"
60 27027 720 736 798 858 480 489 495 525 0x40 0xa
[    6.594236] [drm:drm_mode_debug_printmodeline] Modeline 71:"720x480"
60 27000 720 736 798 858 480 489 495 525 0x40 0xa
[    6.604960] [drm:drm_mode_debug_printmodeline] Modeline 93:"640x480"
60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[    6.615684] [drm:drm_mode_debug_printmodeline] Modeline 52:"640x480"
60 25175 640 656 752 800 480 490 492 525 0x40 0xa
[    6.626407] [drm:drm_mode_debug_printmodeline] Modeline 59:"720x400"
70 28320 720 738 846 900 400 412 414 449 0x40 0x6
[    6.637127] [drm:drm_setup_crtcs] connector 46 enabled? yes
[    6.642701] [drm:drm_setup_crtcs] looking for cmdline mode on
connector 46
[    6.649606] [drm:drm_setup_crtcs] looking for preferred mode on
connector 46 0
[    6.656855] [drm:drm_setup_crtcs] found mode 4096x2160
[    6.661995] [drm:drm_setup_crtcs] picking CRTCs for 4096x4096 config
[    6.668389] [drm:drm_setup_crtcs] desired mode 4096x2160 set on crtc
32 (0,0)
[    6.675563] [drm:drm_mode_object_get] OBJ ID: 46 (2)
[    7.898152] vmap allocation for size 353898496 failed: use
vmalloc=<size> to increase size
[    7.906540] drm drm: failed to vmap() framebuffer
[    7.911257] [drm:drm_mode_object_put.part.0] OBJ ID: 57 (1)
[    8.195039] [drm:drm_fb_helper_hotplug_event.part.9]
[    8.200096] [drm:drm_setup_crtcs]
[    8.203558] drm drm: failed to set initial configuration: -12
[    8.203677] ------------[ cut here ]------------
[    8.203695] WARNING: CPU: 0 PID: 16 at
kernel/locking/mutex-debug.c:103 mutex_destroy+0x74/0x78
[    8.203700] DEBUG_LOCKS_WARN_ON(mutex_is_locked(lock))
[    8.203705] Modules linked in:
[    8.203719] CPU: 0 PID: 16 Comm: kworker/0:1 Not tainted
4.15.0-rc7-00008-g7c35d04354b7 #37
[    8.203725] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
[    8.203738] Workqueue: events deferred_probe_work_func
[    8.203760] [<c0110ff4>] (unwind_backtrace) from [<c010c898>]
(show_stack+0x10/0x14)
[    8.203774] [<c010c898>] (show_stack) from [<c098b790>]
(dump_stack+0x8c/0xa0)
[    8.203787] [<c098b790>] (dump_stack) from [<c01222a4>]
(__warn+0xe0/0xf8)
[    8.203797] [<c01222a4>] (__warn) from [<c01222f4>]
(warn_slowpath_fmt+0x38/0x48)
[    8.203810] [<c01222f4>] (warn_slowpath_fmt) from [<c017850c>]
(mutex_destroy+0x74/0x78)
[    8.203823] [<c017850c>] (mutex_destroy) from [<c04e3484>]
(drm_fb_helper_fini+0xbc/0xec)
[    8.203835] [<c04e3484>] (drm_fb_helper_fini) from [<c050f738>]
(tegra_drm_fb_init+0x74/0xb0)
[    8.203846] [<c050f738>] (tegra_drm_fb_init) from [<c050d72c>]
(tegra_drm_load+0x2a4/0x32c)
[    8.203859] [<c050d72c>] (tegra_drm_load) from [<c04ebc00>]
(drm_dev_register+0x13c/0x1d4)
[    8.203870] [<c04ebc00>] (drm_dev_register) from [<c050d1fc>]
(host1x_drm_probe+0x34/0x58)
[    8.203882] [<c050d1fc>] (host1x_drm_probe) from [<c05769a8>]
(driver_probe_device+0x254/0x32c)
[    8.203896] [<c05769a8>] (driver_probe_device) from [<c0574d48>]
(bus_for_each_drv+0x44/0x94)
[    8.203909] [<c0574d48>] (bus_for_each_drv) from [<c0576674>]
(__device_attach+0xb4/0x118)
[    8.203922] [<c0576674>] (__device_attach) from [<c0575be0>]
(bus_probe_device+0x88/0x90)
[    8.203935] [<c0575be0>] (bus_probe_device) from [<c0573fa0>]
(device_add+0x394/0x598)
[    8.203950] [<c0573fa0>] (device_add) from [<c04c35b8>]
(host1x_subdev_register+0xf0/0x118)
[    8.203964] [<c04c35b8>] (host1x_subdev_register) from [<c04c3b2c>]
(host1x_client_register+0x130/0x14c)
[    8.203978] [<c04c3b2c>] (host1x_client_register) from [<c054170c>]
(tegra_hdmi_probe+0x1e4/0x2d0)
[    8.203990] [<c054170c>] (tegra_hdmi_probe) from [<c0578754>]
(platform_drv_probe+0x50/0xac)
[    8.204001] [<c0578754>] (platform_drv_probe) from [<c05769a8>]
(driver_probe_device+0x254/0x32c)
[    8.204014] [<c05769a8>] (driver_probe_device) from [<c0574d48>]
(bus_for_each_drv+0x44/0x94)
[    8.204027] [<c0574d48>] (bus_for_each_drv) from [<c0576674>]
(__device_attach+0xb4/0x118)
[    8.204040] [<c0576674>] (__device_attach) from [<c0575be0>]
(bus_probe_device+0x88/0x90)
[    8.204053] [<c0575be0>] (bus_probe_device) from [<c0575fe8>]
(deferred_probe_work_func+0x54/0x160)
[    8.204066] [<c0575fe8>] (deferred_probe_work_func) from [<c013db40>]
(process_one_work+0x288/0x6f4)
[    8.204077] [<c013db40>] (process_one_work) from [<c013ef5c>]
(worker_thread+0x234/0x548)
[    8.204089] [<c013ef5c>] (worker_thread) from [<c0144034>]
(kthread+0x160/0x168)
[    8.204103] [<c0144034>] (kthread) from [<c0107d28>]
(ret_from_fork+0x14/0x2c)
[    8.204109] ---[ end trace 819e9d4700a61904 ]---
[    8.204120] [drm:drm_mode_object_put.part.0] OBJ ID: 46 (3)
[    8.204130] [drm:drm_mode_object_put.part.0] OBJ ID: 46 (2)
[    8.498149] Unable to handle kernel paging request at virtual address
6b6b6b6b
[    8.505390] pgd = 8cebd0aa
[    8.508098] [6b6b6b6b] *pgd=00000000
[    8.511685] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[    8.516994] Modules linked in:
[    8.520059] CPU: 0 PID: 3 Comm: kworker/0:0 Tainted: G        W      
 4.15.0-rc7-00008-g7c35d04354b7 #37
[    8.529614] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
[    8.535880] Workqueue: events output_poll_execute
[    8.540591] PC is at drm_setup_crtcs+0x130/0xd90
[    8.545205] LR is at 0x0
[    8.547740] pc : [<c04e3748>]    lr : [<00000000>]    psr: 20000113
[    8.554000] sp : ee8b3e00  ip : ee8b2000  fp : c2ddee00
[    8.559220] r10: c2db8600  r9 : c0f560e4  r8 : 00000001
[    8.564440] r7 : 6b6b6b6b  r6 : 6b6b6b6b  r5 : 00000000  r4 :
00000001
[    8.570961] r3 : 6b6b6b6b  r2 : 6b6b6b6b  r1 : 6b6b6b6b  r0 :
00000000
[    8.577484] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM 
Segment none
[    8.584612] Control: 10c5387d  Table: 8000406a  DAC: 00000051
[    8.590352] Process kworker/0:0 (pid: 3, stack limit = 0x59b66d66)
[    8.596526] Stack: (0xee8b3e00 to 0xee8b4000)
[    8.600888] 3e00: 00000000 00000000 c14b147a 00000029 00000000
c2dded80 c2dde8c0 c2dded40
[    8.609061] 3e20: 00000004 6b6b6b6b 6b6b6b6b c0c055a0 c04e48d4
eef89d40 c2dd9000 00000001
[    8.617234] 3e40: c2dd9254 c0f08468 00000001 c0185dc4 c0c35600
ee8b3e74 00000001 c0186924
[    8.625405] 3e60: 00000001 ee8b3e74 00000000 c04eb2d0 c0c35600
c0c055a0 c04e48d4 c0c08ac4
[    8.633578] 3e80: ee8b3e90 c0f08468 00000001 c2db8600 c2db86d0
eef89d40 00000000 00000001
[    8.641750] 3ea0: c2dd9254 c0f08468 00000001 c04e48e8 c2dd943c
c2dd9000 eef89d40 c04d4bf4
[    8.649922] 3ec0: c013da40 00000000 00000000 ee8b13e0 eef89d40
c017ba90 00000000 00000000
[    8.658093] 3ee0: eef89d40 c2dd943c ee886900 eef89d40 eef8d100
ee8b3f20 c0fbc134 c0f08468
[    8.666265] 3f00: 00000001 c013db40 00000001 00000000 c013da40
c14b0f7c 00000000 00000000
[    8.674437] 3f20: c14e88b0 c1210b3c 00000000 c0c32ba4 ffffe000
ee886900 eef89d40 ee886918
[    8.682609] 3f40: c0f05900 eef89d74 ffffe000 00000008 eef89d40
c013ed68 c0fbbbe4 00000000
[    8.690781] 3f60: ffffe000 ee886880 ee83db80 00000000 ee8b2000
ee886900 c013ed28 ee8abebc
[    8.698952] 3f80: ee8868b8 c0144034 00000000 ee83db80 c0143ed4
00000000 00000000 00000000
[    8.707124] 3fa0: 00000000 00000000 00000000 c0107d28 00000000
00000000 00000000 00000000
[    8.715294] 3fc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[    8.723466] 3fe0: 00000000 00000000 00000000 00000000 00000013
00000000 ffffffff 00000008
[    8.731640] [<c04e3748>] (drm_setup_crtcs) from [<c04e48e8>]
(drm_fb_helper_hotplug_event.part.9+0x94/0xb4)
[    8.741374] [<c04e48e8>] (drm_fb_helper_hotplug_event.part.9) from
[<c04d4bf4>] (output_poll_execute+0x8c/0x1a8)
[    8.751540] [<c04d4bf4>] (output_poll_execute) from [<c013db40>]
(process_one_work+0x288/0x6f4)
[    8.760232] [<c013db40>] (process_one_work) from [<c013ed68>]
(worker_thread+0x40/0x548)
[    8.768319] [<c013ed68>] (worker_thread) from [<c0144034>]
(kthread+0x160/0x168)
[    8.775715] [<c0144034>] (kthread) from [<c0107d28>]
(ret_from_fork+0x14/0x2c)
[    8.782936] Code: e1a02007 e1a01006 e7933104 e2844001 (e5930000)
[    8.789063] ---[ end trace 819e9d4700a61905 ]---
[

--
Stefan
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux