HomeFreeBSD

Mark i2c slave devices busy while they own the bus.

Description

Mark i2c slave devices busy while they own the bus.

Many i2c slave drivers are in modules that can be unloaded. If they detach
while IO is in progress the bus would be hung forever. Conversely,
lower-layer drivers (iicbus and the hardware driver) also live in modules
and other kinds of bad things happen if they get detached while IO is in
progress. Because device_busy() propagates up to parents, marking the slave
device busy while it owns the bus solves both kinds of problems that come
with detaching i2c devices while IO is in progress.

Details

Provenance
ianAuthored on
Parents
rS348163: MFC r347698:
Branches
Unknown
Tags
Unknown