misc: rk628: Fix probability of WARNING when sleeping
The warning log is as follows: [ 2548.269614][ T7373] workqueue: WQ_MEM_RECLAIM rk628-monitor-wq:rk628_display_work is flushing !WQ_MEM_RECLAIM events:rk628_hdmirx_delayed_work_audio [ 2548.269661][ T7373] WARNING: CPU: 3 PID: 7373 at kernel/workqueue.c:2652 check_flush_dependency+0x11c/0x124 [ 2548.269696][ T7373] Modules linked in: wlan_mt7663_usb rtl8367vb btmtk_usb_unify [ 2548.269727][ T7373] CPU: 3 PID: 7373 Comm: kworker/u16:4 Not tainted 6.1.75 #3 [ 2548.269741][ T7373] Hardware name: LANGO RK3576 V10 Board (DT) [ 2548.269754][ T7373] Workqueue: rk628-monitor-wq rk628_display_work [ 2548.269768][ T7373] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 2548.269783][ T7373] pc : check_flush_dependency+0x11c/0x124 [ 2548.269796][ T7373] lr : check_flush_dependency+0x11c/0x124 [ 2548.269808][ T7373] sp : ffffffc0134dbbb0 [ 2548.269816][ T7373] x29: ffffffc0134dbbb0 x28: ffffff80c2a31108 x27: ffffffc008079110 [ 2548.269831][ T7373] x26: ffffffc0134dbc98 x25: ffffff8093d0c9c0 x24: ffffff8092141e80 [ 2548.269847][ T7373] x23: ffffff81f6d88d00 x22: ffffff8092141e80 x21: ffffff807cc366c0 [ 2548.269861][ T7373] x20: ffffff80c0008600 x19: ffffffc008a036ec x18: ffffffc00f3e3050 [ 2548.269876][ T7373] x17: 0000000000000069 x16: ffffffffffffffff x15: 0000000000000004 [ 2548.269891][ T7373] x14: ffffffc009fdd720 x13: 0000000000000a9e x12: 0000000000000003 [ 2548.269906][ T7373] x11: 0000000000000000 x10: 0000000000000027 x9 : 7313130eec8ea700 [ 2548.269920][ T7373] x8 : 7313130eec8ea700 x7 : 7f7f7f7f7f7f7f7f x6 : fefefefeff6e6863 [ 2548.269934][ T7373] x5 : 000000000000001c x4 : 0000000000000018 x3 : 0000000000000000 [ 2548.269948][ T7373] x2 : 0000000000000000 x1 : ffffffc0134db950 x0 : 0000000000000080 [ 2548.269964][ T7373] Call trace: [ 2548.269973][ T7373] check_flush_dependency+0x11c/0x124 [ 2548.269987][ T7373] __flush_work+0xc8/0x2ac [ 2548.270000][ T7373] __cancel_work_timer+0x128/0x1c8 [ 2548.270012][ T7373] cancel_delayed_work_sync+0x14/0x24 [ 2548.270025][ T7373] rk628_hdmirx_disable+0x40/0xc0 [ 2548.270038][ T7373] rk628_display_disable+0x54/0xbc [ 2548.270048][ T7373] rk628_display_work+0x7c/0xd8 [ 2548.270057][ T7373] process_one_work+0x1a8/0x3b8 [ 2548.270071][ T7373] worker_thread+0x25c/0x430 [ 2548.270083][ T7373] kthread+0xec/0x1b8 [ 2548.270101][ T7373] ret_from_fork+0x10/0x20 [ 2548.270116][ T7373] ... Type: Fix Redmine ID: #526169 Associated modifications: N/A Test: N/A Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com> Change-Id: I2d3a3be7e4696ccb2773e66d11e25ce49191e952
This commit is contained in:
parent
52f4ac49f4
commit
093fb7f0ce
1 changed files with 4 additions and 2 deletions
|
|
@ -363,7 +363,8 @@ static void rk628_hdmirx_delayed_work_audio(struct work_struct *work)
|
|||
}
|
||||
audio_state->pre_state = fifo_status;
|
||||
exit:
|
||||
schedule_delayed_work(&hdmirx->delayed_work_audio, msecs_to_jiffies(delay));
|
||||
queue_delayed_work(system_freezable_wq, &hdmirx->delayed_work_audio,
|
||||
msecs_to_jiffies(delay));
|
||||
}
|
||||
|
||||
static void rk628_hdmirx_audio_setup(struct rk628 *rk628)
|
||||
|
|
@ -417,7 +418,8 @@ static void rk628_hdmirx_audio_setup(struct rk628 *rk628)
|
|||
rk628_i2c_write(rk628, HDMI_RX_AUD_CHEXTR_CTRL, AUD_LAYOUT_CTRL(1));
|
||||
/* audio detect */
|
||||
rk628_i2c_write(rk628, HDMI_RX_PDEC_AUDIODET_CTRL, AUDIODET_THRESHOLD(0));
|
||||
schedule_delayed_work(&hdmirx->delayed_work_audio, msecs_to_jiffies(1000));
|
||||
queue_delayed_work(system_freezable_wq, &hdmirx->delayed_work_audio,
|
||||
msecs_to_jiffies(1000));
|
||||
}
|
||||
|
||||
static void rk628_hdmirx_ctrl_enable(struct rk628 *rk628)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue