[Skiboot] [PATCH] capp: Fix the capp recovery timeout comparison
Andrew Donnellan
andrew.donnellan at au1.ibm.com
Wed Aug 15 09:57:20 AEST 2018
On 14/08/18 21:19, Vaibhav Jain wrote:
> The current capp recovery timeout control loop in
> do_capp_recovery_scoms() uses a wrong comparison for return value of
> tb_compare(). This may cause do_capp_recovery_scoms() to report an
> timeout earlier than the 168ms stipulated time.
>
> The patch fixes this by updating the loop timeout control branch in
> do_capp_recovery_scoms() to use the correct enum tb_cmpval.
>
> Cc: Stable #6.0+
> Fixes: 09b853cae0aa0("capi: Poll Err/Status register during CAPP
> recovery")
> Reported-by: Frederic Barrat <fbarrat at linux.vnet.ibm.com>
> Signed-off-by: Vaibhav Jain <vaibhav at linux.ibm.com>
Reviewed-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
> ---
> hw/phb4.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/phb4.c b/hw/phb4.c
> index 707ef2ee..56f89006 100644
> --- a/hw/phb4.c
> +++ b/hw/phb4.c
> @@ -3034,7 +3034,7 @@ static int do_capp_recovery_scoms(struct phb4 *p)
> time_wait_ms(5);
> xscom_read(p->chip_id, CAPP_ERR_STATUS_CTRL + offset, ®);
>
> - if (end && tb_compare(mftb(), end) != TB_AAFTERB) {
> + if (tb_compare(mftb(), end) != TB_ABEFOREB) {
> PHBERR(p, "CAPP: Capp recovery Timed-out.\n");
> end = 0;
> break;
>
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com IBM Australia Limited
More information about the Skiboot
mailing list