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.

Reply via email to