HomeFreeBSD

iicsmb: Request the bus recursively in bread()

Description

iicsmb: Request the bus recursively in bread()

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
Submitted by: Klara Inc.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D28742

Details

Provenance
allanjudeAuthored on Feb 23 2021, 8:06 PM
Reviewer
imp
Differential Revision
D28742: iicsmb: Request the bus recursively in bread()
Parents
rG6b7580f7b1b6: camcontrol: change hueristic for I/O-less devtype
Branches
Unknown
Tags
Unknown