Re: [syzbot] [usb?] INFO: task hung in i2c_tiny_usb_disconnect

From: Oliver Neukum

Date: Wed Jan 14 2026 - 03:26:59 EST


Hi,

On 14.01.26 09:11, weipeng wrote:
I got it. It can be solved by using wait_for_completion in the module exit
function to wait for all the i2c_tiny_usb_release() to be done.

At that point the module unload would potentially take forever,
because you cannot control how long it takes to complete.

The i2c_del_adapter() will wait for all the users to put the reference of the adapter.

That seems reasonable.

It is not a good idea. We can't control the users. So the i2c_del_adapter() can wait
for any time.

Who exactly takes references? I think at this point you have a design issue
with the i2c layer and seems proper to include the linux-i2c list.

Regards
Oliver