[PATCH linux dev-4.10] drivers/fsi: Remove scan from master registration

Eddie James eajames at linux.vnet.ibm.com
Sat Jul 29 00:57:23 AEST 2017

On 07/27/2017 09:07 PM, Jeremy Kerr wrote:
> Hi Chris,
>> Scanning during master registration is problematic because the gpio fsi
>> master will be registered during boot if it is present in device-tree
>> (it's a platform device). That means that the whole fsi scan occurs
>> during boot, which can cause problems.
> What kind of problems?

Two main problems.

1) The SBEFIFO and it's client driver probes can hang if the SBE is not 
initialized. Basically, we wait forever for a response from the SBE and 
never get it. Not a problem with manual scan because a) it can be 
interrupted and b) in scanning manually, the SBEFIFO client driver 
probes are designed to fail during the scan. For some reason, the device 
registration doesn't immediately probe the driver if the scan happens at 
boot, so this workaround doesn't work. So the boot can hang.

2) FSI operations while the host is booting can cause FSI failures. 
Since we don't know the state of the host while booting the BMC, it's 
generally not safe to do FSI ops as we may disrupt the host.


> This sounds a bit awkward to me - it's fairly reasonable to expect the
> master to probe immediately. Requiring manual scan adds some unusual
> dependencies to the bus initialisation process.
> Cheers,
> Jeremy

More information about the openbmc mailing list