I2c meet rt_mutex_trylock / i2c_adapter_trylock_bus, then it can't write anymore

Dear all,

when I meet rt_mutex_trylock / i2c_adapter_trylock_bus, 
then I2c can't write anymore, but just can read only.

How do i do unlock i2c bus to write ?

[ 146.114717] lt6911uxc 6-002b: lt6911 read reg=7f data=0 ok
[ 146.121170] lt6911uxc 6-002b: lt6911 write reg=ff data=80 ok
[ 146.127835] lt6911uxc 6-002b: lt6911 write reg=ee data=0 ok

[ 147.159522] ------------[ cut here ]------------
[ 147.164211] WARNING: CPU: 0 PID: 0 at kernel/locking/rtmutex.c:1570 rt_mutex_trylock+0xf0/0x100
[ 147.172910] Modules linked in: lt6911uxc lt6911uxc1 iwlmvm mac80211 bnep fuse xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack br_netfilter btusb btrtl btbcm btintel userspace_alert zram iwlwifi cfg80211 overlay nvgpu ip_tables x_tables

[ 147.173077] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.9.253-tegra #6
[ 147.173082] Hardware name: NVIDIA Jetson Nano Developer Kit (DT)
[ 147.173086] task: ffffff8009e713c0 task.stack: ffffff8009e60000
[ 147.173093] PC is at rt_mutex_trylock+0xf0/0x100
[ 147.173104] LR is at i2c_adapter_trylock_bus+0x20/0x30
[ 147.173109] pc : [] lr : [] pstate: 40400045
[ 147.173113] sp : ffffffc0fefbfb90
[ 147.173116] x29: ffffffc0fefbfb90 x28: 0000000000000000
[ 147.173126] x27: ffffff8009e650c8 x26: 0000000000000000
[ 147.173135] x25: ffffff800130c148 x24: ffffffc0b0e69941
[ 147.173144] x23: 00000000000000ff x22: 0000000000000001
[ 147.173153] x21: ffffffc0fefbfc40 x20: ffffff8009e713c0
[ 147.173161] x19: ffffffc0f9104850 x18: 0000000000000010
[ 147.173169] x17: 0000000000000000 x16: 0000000000000000
[ 147.173177] x15: ffffffffffffffff x14: ffffff808a14c5b7
[ 147.173185] x13: ffffff800a14c5c5 x12: 0000000000000000
[ 147.173193] x11: 0000000005f5e0ff x10: 00000000000003b5
[ 147.173201] x9 : 00000000ffffffd0 x8 : ffffff80083d6cf0
[ 147.173209] x7 : ffffff8009eb4468 x6 : ffffffc0fefc0bf0
[ 147.173217] x5 : ffffffc0b0e69940 x4 : ffffff80087a2f88
[ 147.173225] x3 : 000000000000002b x2 : ffffff8008ae3f70
[ 147.173233] x1 : 0000000000000001 x0 : ffffff800a09a000

[ 147.173245] —[ end trace b398c59503cc8655 ]—
[ 147.177856] Call trace:
[ 147.177867] [] rt_mutex_trylock+0xf0/0x100
[ 147.177878] [] i2c_adapter_trylock_bus+0x20/0x30
[ 147.177889] [] i2c_transfer+0x50/0x108
[ 147.177899] [] i2c_master_send+0x50/0x68
[ 147.177910] [] regmap_i2c_write+0x34/0x70
[ 147.177922] [] _regmap_raw_write+0x328/0x850
[ 147.177932] [] _regmap_bus_raw_write+0x70/0x88
[ 147.177941] [] _regmap_write+0x6c/0x168
[ 147.177950] [] regmap_write+0x50/0x78
[ 147.177967] [] lt6911_write_reg.isra.1+0x38/0x90 [lt6911uxc1]
[ 147.177978] [] timer_handle+0x70/0x248 [lt6911uxc1]
[ 147.177989] [] call_timer_fn+0x38/0x1e0
[ 147.177996] [] expire_timers+0x144/0x188
[ 147.178003] [] run_timer_softirq+0xbc/0x178
[ 147.178012] [] __do_softirq+0x13c/0x3b0
[ 147.178023] [] irq_exit+0xd0/0x118
[ 147.178032] [] __handle_domain_irq+0x6c/0xc0
[ 147.178039] [] gic_handle_irq+0x5c/0xb0
[ 147.178047] [] el1_irq+0xe8/0x194
[ 147.178059] [] cpuidle_enter_state+0xb8/0x380
[ 147.178069] [] cpuidle_enter+0x34/0x48
[ 147.178077] [] call_cpuidle+0x44/0x70
[ 147.178084] [] cpu_startup_entry+0x1b0/0x200
[ 147.178095] [] rest_init+0x84/0x90
[ 147.178107] [] start_kernel+0x374/0x38c
[ 147.178117] [] __primary_switched+0x80/0x94
[ 147.178222] lt6911uxc 6-002b: lt6911 write reg=ff data=80 error
[ 147.184630] lt6911uxc 6-002b: lt6911 write reg=ee data=1 error
[ 147.190490] lt6911uxc 6-002b: lt6911 write reg=ff data=86 error
[ 147.196440] lt6911uxc 6-002b: lt6911 read reg=80 data=0 ok
[ 147.201939] lt6911uxc 6-002b: lt6911 read reg=81 data=0 ok

Thanks a lot

I’m closing this topic due to there is no update from you for a period, assuming this issue was resolved.
If still need the support, please open a new topic. Thanks

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks