[Skiboot] [PATCH/UNTESTED] Add xscom_ok() and lpc_ok() to check XSCOM and LPC usability
Jeremy Kerr
jk at ozlabs.org
Tue Apr 28 01:03:31 AEST 2015
Hi Ben,
> This primarily checks whether the caller already holds the corresponding
> locks to avoid re-entrancy in some of the deep error path such as when
> XSCOM itself triggers an error log. It will be extended in the case of
> LPC to also handle known HW error states.
>
> We use them to avoid queuing/polling in the BT driver and to discard
> characters in the UART driver.
>
> Note: This will not normally involve a loss of log to the UART as the
> UART driver is also protected by the console suspend mechanism. So
> this is a safety mechanism only.
>
> This aims at fixing issues where the generation of error logs inside
> the LPC or XSCOM drivers could cause a re-entrancy (via the BT interface)
> causing deadlocks. Now, the error logs IPMI messages will be queued up
> and delivered later on the next poll handler.
This resolves a system lockup when we get a SCOM failure for me.
Acked-by: Jeremy Kerr <jk at ozlabs.org>
Cheers,
Jeremy
More information about the Skiboot
mailing list