On Thu, 10 Jan 2019 13:02:28 +0100 Johan Hovold wrote: > On Sun, Dec 09, 2018 at 08:51:46PM +0100, Andreas Kemnade wrote: > > The api forbids writing data there otherwise. Prepare for the > > serdev_open()/close() being a part of runtime pm. > > > > Signed-off-by: Andreas Kemnade > > --- > > Changes in v2: > > add locking > > > > drivers/gnss/sirf.c | 28 +++++++++++++++++++++++++++- > > 1 file changed, 27 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gnss/sirf.c b/drivers/gnss/sirf.c > > index 2c22836d3ffd..ba663de1db49 100644 > > --- a/drivers/gnss/sirf.c > > +++ b/drivers/gnss/sirf.c > > @@ -35,6 +35,12 @@ struct sirf_data { > > struct gpio_desc *wakeup; > > int irq; > > bool active; > > + /* > > + * There might be races between returning data and closing the gnss > > + * device. > > + */ > > Please drop this comment, which is too verbose. The mutex protects the > opened flag, and that could be indicated using a new line above the > mutex and below the flag, or using a short comment before the mutex. > > > + struct mutex gdev_mutex; > > Please rename "mutex". We should be able to reuse this for the serdev > open count as well, right? No. we cannot. The problem here is that we would take the same mutex in a serdev callback and around a serdev call. Then we have things like that: [ 36.700408] ====================================================== [ 36.706970] WARNING: possible circular locking dependency detected [ 36.713531] 5.0.0-rc1-00008-g29801984a0fa #1 Not tainted [ 36.719177] ------------------------------------------------------ [ 36.725708] kworker/u2:1/16 is trying to acquire lock: [ 36.731170] (ptrval) (&data->mutex){+.+.}, at: sirf_receive_buf+0x50/0x80 [g] [ 36.739532] [ 36.739532] but task is already holding lock: [ 36.745727] (ptrval) (&buf->lock){+.+.}, at: flush_to_ldisc+0x1c/0xcc [ 36.752593] [ 36.752593] which lock already depends on the new lock. [ 36.752593] [ 36.761230] [ 36.761230] the existing dependency chain (in reverse order) is: [ 36.769165] [ 36.769165] -> #3 (&buf->lock){+.+.}: [ 36.774658] mutex_lock_nested+0x18/0x20 [ 36.779388] tty_buffer_flush+0x3c/0xb4 [ 36.783996] tty_ldisc_flush+0x1c/0x30 [ 36.788543] tty_port_close_start+0x17c/0x18c [ 36.793731] tty_port_close+0x10/0x58 [ 36.798187] ttyport_close+0x40/0x58 [ 36.802581] sirf_set_active+0x1c4/0x2dc [gnss_sirf] [ 36.808410] sirf_runtime_resume+0x54/0x58 [gnss_sirf] [ 36.814422] __rpm_callback+0x30/0x194 [ 36.818969] rpm_callback+0x70/0x80 [ 36.823242] rpm_resume+0x58c/0x66c [ 36.827514] __pm_runtime_resume+0x78/0x94 [ 36.832458] sirf_probe+0x170/0x278 [gnss_sirf] [ 36.837799] serdev_drv_probe+0x28/0x44 [ 36.842437] really_probe+0x1f0/0x2c0 [ 36.846893] driver_probe_device+0x140/0x15c [ 36.851989] __driver_attach+0x94/0xd0 [ 36.856536] bus_for_each_dev+0x64/0xa0 [ 36.861175] async_run_entry_fn+0x44/0xfc [ 36.865997] process_one_work+0x384/0x710 [ 36.870819] worker_thread+0x290/0x3e4 [ 36.875366] kthread+0x13c/0x158 [ 36.879364] ret_from_fork+0x14/0x20 [ 36.883697] (null) [ 36.886688] [ 36.886688] -> #2 (&tty->ldisc_sem){++++}: [ 36.892608] tty_ldisc_lock+0x50/0x74 [ 36.897094] tty_init_dev+0xc0/0x194 [ 36.901458] tty_open+0x308/0x334 [ 36.905517] chrdev_open+0x150/0x184 [ 36.909912] do_dentry_open+0x214/0x37c [ 36.914520] path_openat+0xdf8/0xfe8 [ 36.918884] do_filp_open+0x3c/0x9c [ 36.923156] do_sys_open+0xf4/0x1e4 [ 36.927429] kernel_init_freeable+0x370/0x4ac [ 36.932617] kernel_init+0x8/0x10c [ 36.936798] ret_from_fork+0x14/0x20 [ 36.941131] (null) [ 36.944122] [ 36.944122] -> #1 (&tty->legacy_mutex){+.+.}: [ 36.950347] mutex_lock_nested+0x18/0x20 [ 36.955047] tty_init_dev+0x38/0x194 [ 36.959411] ttyport_open+0x28/0x140 [ 36.963775] serdev_device_open+0x28/0xa8 [ 36.968627] sirf_serdev_open.part.0+0x10/0x40 [gnss_sirf] [ 36.975006] sirf_set_active+0x6c/0x2dc [gnss_sirf] [ 36.980743] sirf_runtime_resume+0x54/0x58 [gnss_sirf] [ 36.986755] __rpm_callback+0x30/0x194 [ 36.991302] rpm_callback+0x70/0x80 [ 36.995574] rpm_resume+0x58c/0x66c [ 36.999847] __pm_runtime_resume+0x78/0x94 [ 37.004791] sirf_probe+0x170/0x278 [gnss_sirf] [ 37.010131] serdev_drv_probe+0x28/0x44 [ 37.014770] really_probe+0x1f0/0x2c0 [ 37.019226] driver_probe_device+0x140/0x15c [ 37.024322] __driver_attach+0x94/0xd0 [ 37.028869] bus_for_each_dev+0x64/0xa0 [ 37.033508] async_run_entry_fn+0x44/0xfc [ 37.038330] process_one_work+0x384/0x710 [ 37.043151] worker_thread+0x290/0x3e4 [ 37.047698] kthread+0x13c/0x158 [ 37.051666] ret_from_fork+0x14/0x20 [ 37.056030] (null) [ 37.058990] [ 37.058990] -> #0 (&data->mutex){+.+.}: [ 37.064666] __mutex_lock+0x74/0x9c0 [ 37.069030] mutex_lock_nested+0x18/0x20 [ 37.073760] sirf_receive_buf+0x50/0x80 [gnss_sirf] [ 37.079498] ttyport_receive_buf+0x58/0xd0 [ 37.084411] flush_to_ldisc+0x94/0xcc [ 37.088867] process_one_work+0x384/0x710 [ 37.093688] worker_thread+0x290/0x3e4 [ 37.098236] kthread+0x13c/0x158 [ 37.102203] ret_from_fork+0x14/0x20 [ 37.106567] (null) [ 37.109527] [ 37.109527] other info that might help us debug this: [ 37.109527] [ 37.118011] Chain exists of: [ 37.118011] &data->mutex --> &tty->ldisc_sem --> &buf->lock [ 37.118011] [ 37.128723] Possible unsafe locking scenario: [ 37.128723] [ 37.134979] CPU0 CPU1 [ 37.139801] ---- ---- [ 37.144592] lock(&buf->lock); [ 37.147949] lock(&tty->ldisc_sem); [ 37.154418] lock(&buf->lock); [ 37.160400] lock(&data->mutex); [ 37.163940] [ 37.163940] *** DEADLOCK *** [ 37.163940] [ 37.170227] 3 locks held by kworker/u2:1/16: [ 37.174743] #0: (ptrval) ((wq_completion)"events_unbound"){+.+.}, at: proce0 [ 37.184356] #1: (ptrval) ((work_completion)(&buf->work)){+.+.}, at: process0 [ 37.193786] #2: (ptrval) (&buf->lock){+.+.}, at: flush_to_ldisc+0x1c/0xcc [ 37.201110] [ 37.201110] stack backtrace: [ 37.205749] CPU: 0 PID: 16 Comm: kworker/u2:1 Not tainted 5.0.0-rc1-00008-g21 [ 37.214508] Hardware name: Generic OMAP36xx (Flattened Device Tree) [ 37.221160] Workqueue: events_unbound flush_to_ldisc [ 37.226501] [] (unwind_backtrace) from [] (show_stack+0x) [ 37.234710] [] (show_stack) from [] (dump_stack+0x90/0xc) [ 37.242401] [] (dump_stack) from [] (print_circular_bug.) [ 37.252197] [] (print_circular_bug.constprop.17) from []) [ 37.262451] [] (__lock_acquire) from [] (lock_acquire+0x) [ 37.270843] [] (lock_acquire) from [] (__mutex_lock+0x74) [ 37.278991] [] (__mutex_lock) from [] (mutex_lock_nested) [ 37.287506] [] (mutex_lock_nested) from [] (sirf_receive) [ 37.297485] [] (sirf_receive_buf [gnss_sirf]) from [] (t) [ 37.307647] [] (ttyport_receive_buf) from [] (flush_to_l) [ 37.316497] [] (flush_to_ldisc) from [] (process_one_wor) [ 37.325286] [] (process_one_work) from [] (worker_thread) [ 37.333984] [] (worker_thread) from [] (kthread+0x13c/0x) [ 37.341827] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 37.349487] Exception stack(0xeea17fb0 to 0xeea17ff8) [ 37.354858] 7fa0: 00000000 00000000 00000 [ 37.363525] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 37.372192] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 000000�[ 62.887756] random: crng init done M_FCLK��00 DLES[ 248.800109] INFO: task kworker/u2:1:16 blocked for more than 120 sec. [ 248.807495] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 248.814575] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 248.823333] kworker/u2:1 D 0 16 2 0x00000000 [ 248.831909] Workqueue: events_unbound flush_to_ldisc [ 248.837310] [] (__schedule) from [] (schedule+0x98/0xb0) [ 248.844909] [] (schedule) from [] (schedule_preempt_disa) [ 248.853912] [] (schedule_preempt_disabled) from [] (__mu) [ 248.863433] [] (__mutex_lock) from [] (mutex_lock_nested) [ 248.872070] [] (mutex_lock_nested) from [] (sirf_receive) [ 248.882202] [] (sirf_receive_buf [gnss_sirf]) from [] (t) [ 248.892425] [] (ttyport_receive_buf) from [] (flush_to_l) [ 248.901428] [] (flush_to_ldisc) from [] (process_one_wor) [ 248.910308] [] (process_one_work) from [] (worker_thread) [ 248.919128] [] (worker_thread) from [] (kthread+0x13c/0x) [ 248.927032] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 248.934844] Exception stack(0xeea17fb0 to 0xeea17ff8) [ 248.940368] 7fa0: 00000000 00000000 00000 [ 248.949188] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 248.957916] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 248.965118] INFO: task kworker/u2:2:35 blocked for more than 120 seconds. [ 248.972473] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 248.978820] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 248.987091] kworker/u2:2 D 0 35 2 0x00000000 [ 248.993011] Workqueue: events_unbound async_run_entry_fn [ 248.998809] [] (__schedule) from [] (schedule+0x98/0xb0) [ 249.006256] [] (schedule) from [] (schedule_preempt_disa) [ 249.015167] [] (schedule_preempt_disabled) from [] (__mu) [ 249.024658] [] (__mutex_lock) from [] (mutex_lock_nested) [ 249.033264] [] (mutex_lock_nested) from [] (tty_buffer_f) [ 249.042236] [] (tty_buffer_flush) from [] (tty_ldisc_flu) [ 249.050994] [] (tty_ldisc_flush) from [] (tty_port_close) [ 249.060333] [] (tty_port_close_start) from [] (tty_port_) [ 249.069366] [] (tty_port_close) from [] (ttyport_close+0) [ 249.077758] [] (ttyport_close) from [] (sirf_set_active+) [ 249.087554] [] (sirf_set_active [gnss_sirf]) from [] (si) [ 249.098785] [] (sirf_runtime_resume [gnss_sirf]) from []) [ 249.108947] [] (__rpm_callback) from [] (rpm_callback+0x) [ 249.117187] [] (rpm_callback) from [] (rpm_resume+0x58c/) [ 249.125366] [] (rpm_resume) from [] (__pm_runtime_resume) [ 249.133972] [] (__pm_runtime_resume) from [] (sirf_probe) [ 249.143829] [] (sirf_probe [gnss_sirf]) from [] (serdev_) [ 249.153228] [] (serdev_drv_probe) from [] (really_probe+) [ 249.161926] [] (really_probe) from [] (driver_probe_devi) [ 249.170867] [] (driver_probe_device) from [] (__driver_a) [ 249.179931] [] (__driver_attach) from [] (bus_for_each_d) [ 249.188659] [] (bus_for_each_dev) from [] (async_run_ent) [ 249.197692] [] (async_run_entry_fn) from [] (process_one) [ 249.206939] [] (process_one_work) from [] (worker_thread) [ 249.215728] [] (worker_thread) from [] (kthread+0x13c/0x) [ 249.223663] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 249.231414] Exception stack(0xeea7ffb0 to 0xeea7fff8) [ 249.236846] ffa0: 00000000 00000000 00000 [ 249.245635] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 249.254394] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 249.261566] INFO: task modprobe:1100 blocked for more than 120 seconds. [ 249.268646] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 249.274963] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 249.283386] modprobe D 0 1100 1090 0x00000000 [ 249.289337] [] (__schedule) from [] (schedule+0x98/0xb0) [ 249.296874] [] (schedule) from [] (async_synchronize_coo) [ 249.306488] [] (async_synchronize_cookie_domain) from []) [ 249.316619] [] (do_init_module) from [] (load_module+0x1) [ 249.325225] [] (load_module) from [] (sys_finit_module+0) [ 249.333648] [] (sys_finit_module) from [] (ret_fast_sysc) [ 249.342407] Exception stack(0xedc6bfa8 to 0xedc6bff0) [ 249.347839] bfa0: 00497b00 004aabb0 00000004 00496e80 00000 [ 249.356628] bfc0: 00497b00 004aabb0 14840a00 0000017b 00040000 00000000 00000 [ 249.365386] bfe0: be9fea48 be9fea38 0048d6c3 b6f3aa42 [ 249.370849] INFO: lockdep is turned off. [ 371.680145] INFO: task kworker/u2:1:16 blocked for more than 120 seconds. [ 371.687530] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 371.694854] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 371.703643] kworker/u2:1 D 0 16 2 0x00000000 [ 371.712249] Workqueue: events_unbound flush_to_ldisc [ 371.717620] [] (__schedule) from [] (schedule+0x98/0xb0) [ 371.725250] [] (schedule) from [] (schedule_preempt_disa) [ 371.734252] [] (schedule_preempt_disabled) from [] (__mu) [ 371.743743] [] (__mutex_lock) from [] (mutex_lock_nested) [ 371.752349] [] (mutex_lock_nested) from [] (sirf_receive) [ 371.762420] [] (sirf_receive_buf [gnss_sirf]) from [] (t) [ 371.772674] [] (ttyport_receive_buf) from [] (flush_to_l) [ 371.781616] [] (flush_to_ldisc) from [] (process_one_wor) [ 371.790496] [] (process_one_work) from [] (worker_thread) [ 371.799285] [] (worker_thread) from [] (kthread+0x13c/0x) [ 371.807159] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 371.814941] Exception stack(0xeea17fb0 to 0xeea17ff8) [ 371.820434] 7fa0: 00000000 00000000 00000 [ 371.829193] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 371.837921] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 371.845062] INFO: task kworker/u2:2:35 blocked for more than 120 seconds. [ 371.852416] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 371.858642] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 371.867065] kworker/u2:2 D 0 35 2 0x00000000 [ 371.873077] Workqueue: events_unbound async_run_entry_fn [ 371.878814] [] (__schedule) from [] (schedule+0x98/0xb0) [ 371.886230] [] (schedule) from [] (schedule_preempt_disa) [ 371.895141] [] (schedule_preempt_disabled) from [] (__mu) [ 371.904693] [] (__mutex_lock) from [] (mutex_lock_nested) [ 371.913299] [] (mutex_lock_nested) from [] (tty_buffer_f) [ 371.922271] [] (tty_buffer_flush) from [] (tty_ldisc_flu) [ 371.931091] [] (tty_ldisc_flush) from [] (tty_port_close) [ 371.940429] [] (tty_port_close_start) from [] (tty_port_) [ 371.949523] [] (tty_port_close) from [] (ttyport_close+0) [ 371.957946] [] (ttyport_close) from [] (sirf_set_active+) [ 371.967773] [] (sirf_set_active [gnss_sirf]) from [] (si) [ 371.979064] [] (sirf_runtime_resume [gnss_sirf]) from []) [ 371.989257] [] (__rpm_callback) from [] (rpm_callback+0x) [ 371.997589] [] (rpm_callback) from [] (rpm_resume+0x58c/) [ 372.005737] [] (rpm_resume) from [] (__pm_runtime_resume) [ 372.014373] [] (__pm_runtime_resume) from [] (sirf_probe) [ 372.024291] [] (sirf_probe [gnss_sirf]) from [] (serdev_) [ 372.033752] [] (serdev_drv_probe) from [] (really_probe+) [ 372.042480] [] (really_probe) from [] (driver_probe_devi) [ 372.051452] [] (driver_probe_device) from [] (__driver_a) [ 372.060516] [] (__driver_attach) from [] (bus_for_each_d) [ 372.069335] [] (bus_for_each_dev) from [] (async_run_ent) [ 372.078369] [] (async_run_entry_fn) from [] (process_one) [ 372.087615] [] (process_one_work) from [] (worker_thread) [ 372.096405] [] (worker_thread) from [] (kthread+0x13c/0x) [ 372.104370] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 372.112152] Exception stack(0xeea7ffb0 to 0xeea7fff8) [ 372.117645] ffa0: 00000000 00000000 00000 [ 372.126434] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 372.135223] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 372.142395] INFO: task modprobe:1100 blocked for more than 120 seconds. [ 372.149566] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 372.155853] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 372.164276] modprobe D 0 1100 1090 0x00000000 [ 372.170257] [] (__schedule) from [] (schedule+0x98/0xb0) [ 372.177825] [] (schedule) from [] (async_synchronize_coo) [ 372.187469] [] (async_synchronize_cookie_domain) from []) [ 372.197631] [] (do_init_module) from [] (load_module+0x1) [ 372.206237] [] (load_module) from [] (sys_finit_module+0) [ 372.214660] [] (sys_finit_module) from [] (ret_fast_sysc) [ 372.223449] Exception stack(0xedc6bfa8 to 0xedc6bff0) [ 372.229003] bfa0: 00497b00 004aabb0 00000004 00496e80 00000 [ 372.237701] bfc0: 00497b00 004aabb0 14840a00 0000017b 00040000 00000000 00000 [ 372.246490] bfe0: be9fea48 be9fea38 0048d6c3 b6f3aa42 [ 372.251983] INFO: lockdep is turned off. [ 494.560119] INFO: task kworker/u2:1:16 blocked for more than 120 seconds. [ 494.567535] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 494.574859] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 494.583618] kworker/u2:1 D 0 16 2 0x00000000 [ 494.592224] Workqueue: events_unbound flush_to_ldisc [ 494.597625] [] (__schedule) from [] (schedule+0x98/0xb0) [ 494.605255] [] (schedule) from [] (schedule_preempt_disa) [ 494.614227] [] (schedule_preempt_disabled) from [] (__mu) [ 494.623718] [] (__mutex_lock) from [] (mutex_lock_nested) [ 494.632324] [] (mutex_lock_nested) from [] (sirf_receive) [ 494.642395] [] (sirf_receive_buf [gnss_sirf]) from [] (t) [ 494.652618] [] (ttyport_receive_buf) from [] (flush_to_l) [ 494.661621] [] (flush_to_ldisc) from [] (process_one_wor) [ 494.670471] [] (process_one_work) from [] (worker_thread) [ 494.679260] [] (worker_thread) from [] (kthread+0x13c/0x) [ 494.687133] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 494.694915] Exception stack(0xeea17fb0 to 0xeea17ff8) [ 494.700439] 7fa0: 00000000 00000000 00000 [ 494.709228] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 494.717956] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 494.725097] INFO: task kworker/u2:2:35 blocked for more than 120 seconds. [ 494.732391] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 494.738647] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 494.747039] kworker/u2:2 D 0 35 2 0x00000000 [ 494.753021] Workqueue: events_unbound async_run_entry_fn [ 494.758819] [] (__schedule) from [] (schedule+0x98/0xb0) [ 494.766265] [] (schedule) from [] (schedule_preempt_disa) [ 494.775177] [] (schedule_preempt_disabled) from [] (__mu) [ 494.784698] [] (__mutex_lock) from [] (mutex_lock_nested) [ 494.793304] [] (mutex_lock_nested) from [] (tty_buffer_f) [ 494.802276] [] (tty_buffer_flush) from [] (tty_ldisc_flu) [ 494.811065] [] (tty_ldisc_flush) from [] (tty_port_close) [ 494.820373] [] (tty_port_close_start) from [] (tty_port_) [ 494.829437] [] (tty_port_close) from [] (ttyport_close+0) [ 494.837799] [] (ttyport_close) from [] (sirf_set_active+) [ 494.847595] [] (sirf_set_active [gnss_sirf]) from [] (si) [ 494.858825] [] (sirf_runtime_resume [gnss_sirf]) from []) [ 494.869018] [] (__rpm_callback) from [] (rpm_callback+0x) [ 494.877288] [] (rpm_callback) from [] (rpm_resume+0x58c/) [ 494.885437] [] (rpm_resume) from [] (__pm_runtime_resume) [ 494.894073] [] (__pm_runtime_resume) from [] (sirf_probe) [ 494.903961] [] (sirf_probe [gnss_sirf]) from [] (serdev_) [ 494.913391] [] (serdev_drv_probe) from [] (really_probe+) [ 494.922119] [] (really_probe) from [] (driver_probe_devi) [ 494.931121] [] (driver_probe_device) from [] (__driver_a) [ 494.940185] [] (__driver_attach) from [] (bus_for_each_d) [ 494.948974] [] (bus_for_each_dev) from [] (async_run_ent) [ 494.958007] [] (async_run_entry_fn) from [] (process_one) [ 494.967254] [] (process_one_work) from [] (worker_thread) [ 494.976104] [] (worker_thread) from [] (kthread+0x13c/0x) [ 494.984069] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 494.991851] Exception stack(0xeea7ffb0 to 0xeea7fff8) [ 494.997314] ffa0: 00000000 00000000 00000 [ 495.006134] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 495.014892] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 495.022064] INFO: task modprobe:1100 blocked for more than 120 seconds. [ 495.029174] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 495.035430] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 495.043853] modprobe D 0 1100 1090 0x00000000 [ 495.049835] [] (__schedule) from [] (schedule+0x98/0xb0) [ 495.057342] [] (schedule) from [] (async_synchronize_coo) [ 495.066955] [] (async_synchronize_cookie_domain) from []) [ 495.077117] [] (do_init_module) from [] (load_module+0x1) [ 495.085693] [] (load_module) from [] (sys_finit_module+0) [ 495.094116] [] (sys_finit_module) from [] (ret_fast_sysc) [ 495.102874] Exception stack(0xedc6bfa8 to 0xedc6bff0) [ 495.108306] bfa0: 00497b00 004aabb0 00000004 00496e80 00000 [ 495.117095] bfc0: 00497b00 004aabb0 14840a00 0000017b 00040000 00000000 00000 [ 495.125885] bfe0: be9fea48 be9fea38 0048d6c3 b6f3aa42 [ 495.131378] INFO: lockdep is turned off. [ 617.440093] INFO: task kworker/u2:1:16 blocked for more than 120 seconds. [ 617.447479] Not tainted 5.0.0-rc1-00008-g29801984a0fa #1 [ 617.454589] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this. [ 617.463348] kworker/u2:1 D 0 16 2 0x00000000 [ 617.471923] Workqueue: events_unbound flush_to_ldisc [ 617.477325] [] (__schedule) from [] (schedule+0x98/0xb0) [ 617.484954] [] (schedule) from [] (schedule_preempt_disa) [ 617.493927] [] (schedule_preempt_disabled) from [] (__mu) [ 617.503448] [] (__mutex_lock) from [] (mutex_lock_nested) [ 617.512054] [] (mutex_lock_nested) from [] (sirf_receive) [ 617.522155] [] (sirf_receive_buf [gnss_sirf]) from [] (t) [ 617.532409] [] (ttyport_receive_buf) from [] (flush_to_l) [ 617.541381] [] (flush_to_ldisc) from [] (process_one_wor) [ 617.550262] [] (process_one_work) from [] (worker_thread) [ 617.559020] [] (worker_thread) from [] (kthread+0x13c/0x) [ 617.566925] [] (kthread) from [] (ret_from_fork+0x14/0x2) [ 617.574707] Exception stack(0xeea17fb0 to 0xeea17ff8) [ 617.580230] 7fa0: 00000000 00000000 00000 [ 617.588989] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000 [ 617.597686] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 617.604858] INFO: lockdep is turned off. Regards, Andreas