[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