[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20260114085125.859740-1-coderlogicwei@gmail.com>
Date: Wed, 14 Jan 2026 16:51:25 +0800
From: weipeng <coderlogicwei@...il.com>
To: oneukum@...e.com,
linux-i2c@...r.kernel.org
Cc: anna-maria@...utronix.de,
coderlogicwei@...il.com,
frederic@...nel.org,
linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org,
syzkaller-bugs@...glegroups.com,
tglx@...utronix.de
Subject: Re: [syzbot] [usb?] INFO: task hung in i2c_tiny_usb_disconnect
Hi,
i2c_del_adapter in i2c-core-base.c:
> void i2c_del_adapter(struct i2c_adapter *adap)
> {
> ...
> /* wait until all references to the device are gone
> *
> * FIXME: This is old code and should ideally be replaced by an
> * alternative which results in decoupling the lifetime of the struct
> * device from the i2c_adapter, like spi or netdev do. Any solution
> * should be thoroughly tested with DEBUG_KOBJECT_RELEASE enabled!
> */
> init_completion(&adap->dev_released);
> device_unregister(&adap->dev);
> wait_for_completion(&adap->dev_released);
> ...
> }
This issue looks like caused by i2c_del_adapter(). It waits for too long so
it may cause the hung.
Thanks,
weipeng
Powered by blists - more mailing lists