Thank you Vasily for the explanation. Is this a known bug or i have possibly introduced it while patching the kernel?
On Wednesday, January 8, 2020 at 9:51:03 PM UTC-3, Vasily Khoruzhick wrote: > > The issue is that sun4i_pwm_apply() calls sun4i_pwm_calculate() which > calls clk_get_rate() while holding a spinlock and clk_get_rate() may > sleep. > > It's a bug in pwm-sun4i driver. > > On Wed, Jan 8, 2020 at 4:19 PM @lex <alex....@gmail.com <javascript:>> > wrote: > > > > I am doing some experiments with LCD7" with the kernel 5.4.8 and > occasionally i get this crash. > > Can someone explain or give some directions on how to find the offending > error based on the crash log? Any idea what could be causing this? > > > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.681388] BUG: scheduling while > atomic: gsd-backlight-h/3978/0x00000002 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688221] Modules linked in: > fuse rfkill dw_hdmi_i2s_audio snd_soc_hdmi_codec > panel_feiyang_fy07024di26a30d sunxi_cedrus(C) v4l2_mem2mem crct10dif_ce > sun8i_drm_hdmi videobuf2_dma_contig snd_soc_spdif_tx dw_hdmi > videobuf2_memops axp20x_adc cec videobuf2_v4l2 snd_soc_simple_card > sunxi_cir axp20x_usb_power axp20x_ac_power snd_soc_simple_card_utils > pinctrl_axp209 axp20x_battery phy_sun6i_mipi_dphy rc_core videobuf2_common > mali(O) sun6i_mipi_dsi sun50i_codec_analog videodev sun8i_adda_pr_regmap > crc_ccitt goodix sun8i_codec sun4i_i2s mc sun4i_drm sun4i_frontend > sun4i_tcon sun8i_mixer sun8i_tcon_top pwm_bl ip_tables x_tables ipv6 > nf_defrag_ipv6 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688331] CPU: 3 PID: 3978 > Comm: gsd-backlight-h Tainted: G C O 5.4.8 #1 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688334] Hardware name: > Pine64+ (DT) > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688339] Call trace: > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688357] > dump_backtrace+0x0/0x150 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688364] show_stack+0x14/0x20 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688374] dump_stack+0xb4/0xd8 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688384] > __schedule_bug+0x50/0x70 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688392] > __schedule+0x4bc/0x510 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688397] schedule+0x40/0xd0 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688403] > schedule_preempt_disabled+0x20/0x38 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688410] > __mutex_lock.isra.10+0x150/0x568 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688416] > __mutex_lock_slowpath+0x10/0x18 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688422] mutex_lock+0x38/0x40 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688430] > clk_prepare_lock+0x40/0xa0 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688437] > clk_get_rate+0x1c/0x70 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688446] > sun4i_pwm_apply+0xb4/0x450 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688453] > pwm_apply_state+0x64/0x1e8 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688464] > pwm_backlight_update_status+0xb8/0x198 [pwm_bl] > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688473] > backlight_device_set_brightness+0x64/0xb8 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688480] > brightness_store+0x78/0x90 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688488] > dev_attr_store+0x14/0x28 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688496] > sysfs_kf_write+0x3c/0x50 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688501] > kernfs_fop_write+0x144/0x230 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688511] > __vfs_write+0x18/0x38 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688517] vfs_write+0xb4/0x1e0 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688524] ksys_write+0x68/0xf8 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688530] > __arm64_sys_write+0x18/0x20 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688540] > el0_svc_common.constprop.2+0x64/0x160 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688547] > el0_svc_handler+0x20/0x80 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688552] el0_svc+0x8/0xc > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.688694] BUG: scheduling while > atomic: gsd-backlight-h/3978/0x00000000 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695480] Modules linked in: > fuse rfkill dw_hdmi_i2s_audio snd_soc_hdmi_codec > panel_feiyang_fy07024di26a30d sunxi_cedrus(C) v4l2_mem2mem crct10dif_ce > sun8i_drm_hdmi videobuf2_dma_contig snd_soc_spdif_tx dw_hdmi > videobuf2_memops axp20x_adc cec videobuf2_v4l2 snd_soc_simple_card > sunxi_cir axp20x_usb_power axp20x_ac_power snd_soc_simple_card_utils > pinctrl_axp209 axp20x_battery phy_sun6i_mipi_dphy rc_core videobuf2_common > mali(O) sun6i_mipi_dsi sun50i_codec_analog videodev sun8i_adda_pr_regmap > crc_ccitt goodix sun8i_codec sun4i_i2s mc sun4i_drm sun4i_frontend > sun4i_tcon sun8i_mixer sun8i_tcon_top pwm_bl ip_tables x_tables ipv6 > nf_defrag_ipv6 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695558] CPU: 3 PID: 3978 > Comm: gsd-backlight-h Tainted: G WC O 5.4.8 #1 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695561] Hardware name: > Pine64+ (DT) > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695564] Call trace: > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695579] > dump_backtrace+0x0/0x150 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695583] show_stack+0x14/0x20 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695591] dump_stack+0xb4/0xd8 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695600] > __schedule_bug+0x50/0x70 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695605] > __schedule+0x4bc/0x510 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695610] schedule+0x40/0xd0 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695615] > do_notify_resume+0x1e0/0x398 > > Jan 8 23:49:43 pine64-plus kernel: [ 5144.695620] > work_pending+0x8/0x10 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.894318] BUG: scheduling while > atomic: gsd-backlight-h/3987/0x00000002 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901147] Modules linked in: > fuse rfkill dw_hdmi_i2s_audio snd_soc_hdmi_codec > panel_feiyang_fy07024di26a30d sunxi_cedrus(C) v4l2_mem2mem crct10dif_ce > sun8i_drm_hdmi videobuf2_dma_contig snd_soc_spdif_tx dw_hdmi > videobuf2_memops axp20x_adc cec videobuf2_v4l2 snd_soc_simple_card > sunxi_cir axp20x_usb_power axp20x_ac_power snd_soc_simple_card_utils > pinctrl_axp209 axp20x_battery phy_sun6i_mipi_dphy rc_core videobuf2_common > mali(O) sun6i_mipi_dsi sun50i_codec_analog videodev sun8i_adda_pr_regmap > crc_ccitt goodix sun8i_codec sun4i_i2s mc sun4i_drm sun4i_frontend > sun4i_tcon sun8i_mixer sun8i_tcon_top pwm_bl ip_tables x_tables ipv6 > nf_defrag_ipv6 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901246] CPU: 0 PID: 3987 > Comm: gsd-backlight-h Tainted: G WC O 5.4.8 #1 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901250] Hardware name: > Pine64+ (DT) > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901254] Call trace: > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901271] > dump_backtrace+0x0/0x150 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901277] show_stack+0x14/0x20 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901286] dump_stack+0xb4/0xd8 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901296] > __schedule_bug+0x50/0x70 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901303] > __schedule+0x4bc/0x510 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901307] schedule+0x40/0xd0 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901313] > schedule_preempt_disabled+0x20/0x38 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901319] > __mutex_lock.isra.10+0x150/0x568 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901324] > __mutex_lock_slowpath+0x10/0x18 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901330] mutex_lock+0x38/0x40 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901337] > clk_prepare_lock+0x40/0xa0 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901343] > clk_get_rate+0x1c/0x70 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901352] > sun4i_pwm_apply+0xb4/0x450 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901357] > pwm_apply_state+0x64/0x1e8 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901368] > pwm_backlight_update_status+0xb8/0x198 [pwm_bl] > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901375] > backlight_device_set_brightness+0x64/0xb8 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901381] > brightness_store+0x78/0x90 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901389] > dev_attr_store+0x14/0x28 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901396] > sysfs_kf_write+0x3c/0x50 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901401] > kernfs_fop_write+0x144/0x230 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901409] > __vfs_write+0x18/0x38 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901415] vfs_write+0xb4/0x1e0 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901421] ksys_write+0x68/0xf8 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901427] > __arm64_sys_write+0x18/0x20 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901435] > el0_svc_common.constprop.2+0x64/0x160 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901441] > el0_svc_handler+0x20/0x80 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901446] el0_svc+0x8/0xc > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.901612] BUG: scheduling while > atomic: gsd-backlight-h/3987/0x00000000 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908388] Modules linked in: > fuse rfkill dw_hdmi_i2s_audio snd_soc_hdmi_codec > panel_feiyang_fy07024di26a30d sunxi_cedrus(C) v4l2_mem2mem crct10dif_ce > sun8i_drm_hdmi videobuf2_dma_contig snd_soc_spdif_tx dw_hdmi > videobuf2_memops axp20x_adc cec videobuf2_v4l2 snd_soc_simple_card > sunxi_cir axp20x_usb_power axp20x_ac_power snd_soc_simple_card_utils > pinctrl_axp209 axp20x_battery phy_sun6i_mipi_dphy rc_core videobuf2_common > mali(O) sun6i_mipi_dsi sun50i_codec_analog videodev sun8i_adda_pr_regmap > crc_ccitt goodix sun8i_codec sun4i_i2s mc sun4i_drm sun4i_frontend > sun4i_tcon sun8i_mixer sun8i_tcon_top pwm_bl ip_tables x_tables ipv6 > nf_defrag_ipv6 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908479] CPU: 0 PID: 3987 > Comm: gsd-backlight-h Tainted: G WC O 5.4.8 #1 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908482] Hardware name: > Pine64+ (DT) > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908486] Call trace: > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908500] > dump_backtrace+0x0/0x150 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908507] show_stack+0x14/0x20 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908517] dump_stack+0xb4/0xd8 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908526] > __schedule_bug+0x50/0x70 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908533] > __schedule+0x4bc/0x510 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908538] schedule+0x40/0xd0 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908545] > do_notify_resume+0x1e0/0x398 > > Jan 8 23:49:45 pine64-plus kernel: [ 5146.908551] > work_pending+0x8/0x10 > > > > > > > > B.R > > > > -- > > You received this message because you are subscribed to the Google > Groups "linux-sunxi" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to linux...@googlegroups.com <javascript:>. > > To view this discussion on the web, visit > https://groups.google.com/d/msgid/linux-sunxi/91a0725f-5ce3-4244-ba98-88c1ea7e7574%40googlegroups.com. > > > -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/5f6f93b3-cedf-4f92-a255-1e88f1024f1e%40googlegroups.com.