ca4d8344a7
In current design, when the tcpm port is unregisterd, the kthread_worker
will be destroyed in the last step. Inside the kthread_destroy_worker(),
the worker will flush all the works and wait for them to end. However, if
one of the works calls hrtimer_start(), this hrtimer will be pending until
timeout even though tcpm port is removed. Once the hrtimer timeout, many
strange kernel dumps appear.
Thus, we can first complete kthread_destroy_worker(), then cancel all the
hrtimers. This will guarantee that no hrtimer is pending at the end.
Fixes:
|
||
---|---|---|
.. | ||
altmodes | ||
mux | ||
tcpm | ||
tipd | ||
ucsi | ||
Kconfig | ||
Makefile | ||
bus.c | ||
bus.h | ||
class.c | ||
class.h | ||
hd3ss3220.c | ||
mux.c | ||
mux.h | ||
port-mapper.c | ||
qcom-pmic-typec.c | ||
stusb160x.c |