Page MenuHomeFreeBSD

Mark i2c slave devices busy while they own the bus
AbandonedPublic

Authored by ian on Feb 18 2018, 5:10 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 23 2023, 2:53 AM
Unknown Object (File)
May 14 2023, 6:21 AM
Unknown Object (File)
Apr 25 2023, 9:30 AM
Subscribers

Details

Reviewers
None
Summary

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.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 15130