Page MenuHomeFreeBSD

iicsmb: Request the bus recursively in bread()
ClosedPublic

Authored by allanjude on Feb 17 2021, 9:35 PM.
Tags
None
Referenced Files
F115859972: D28742.diff
Tue, Apr 29, 4:27 PM
Unknown Object (File)
Mon, Apr 21, 3:57 AM
Unknown Object (File)
Sun, Apr 20, 11:24 PM
Unknown Object (File)
Sun, Apr 20, 10:07 PM
Unknown Object (File)
Sun, Apr 20, 9:40 PM
Unknown Object (File)
Tue, Apr 15, 11:54 PM
Unknown Object (File)
Wed, Apr 9, 12:57 AM
Unknown Object (File)
Mar 6 2025, 8:09 PM
Subscribers

Details

Summary

ipmi_ssif will smbus_request_bus() to do multiple smbus requests
(which requests the iicbus), and then here in bread() we also need to
request the bus because bread() takes multiple transactions.
This causes deadlock as it's waiting for the bus it already has without
IIC_RECURSIVE.

Sponsored by: Ampere Computing LLC

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 37117
Build 34006: arc lint + arc unit