Web lists-archives.com

RE: [PATCH 06/18] thunderbolt: Wait a bit longer for ICM to authenticate the active NVM




> -----Original Message-----
> From: Mika Westerberg [mailto:mika.westerberg@xxxxxxxxxxxxxxx]
> Sent: Tuesday, February 13, 2018 11:00 AM
> To: linux-kernel@xxxxxxxxxxxxxxx
> Cc: Andreas Noever <andreas.noever@xxxxxxxxx>; Michael Jamet
> <michael.jamet@xxxxxxxxx>; Yehezkel Bernat <yehezkel.bernat@xxxxxxxxx>; Bjorn
> Helgaas <bhelgaas@xxxxxxxxxx>; Limonciello, Mario
> <Mario_Limonciello@xxxxxxxx>; Radion Mirchevsky
> <radion.mirchevsky@xxxxxxxxx>; Mika Westerberg
> <mika.westerberg@xxxxxxxxxxxxxxx>
> Subject: [PATCH 06/18] thunderbolt: Wait a bit longer for ICM to authenticate the
> active NVM
> 
> Sometimes during cold boot ICM has not yet authenticated the active NVM
> image leading to timeout and failing the driver probe. Allow ICM to take
> some more time and increase the timeout to 3 seconds before we give up.
> 
> While there fix icm_firmware_init() to return the real error code
> without overwriting it with -ENODEV.
> 
> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> ---
>  drivers/thunderbolt/icm.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
> index 1183321586c5..611d28e8e5f2 100644
> --- a/drivers/thunderbolt/icm.c
> +++ b/drivers/thunderbolt/icm.c
> @@ -736,14 +736,14 @@ static bool icm_ar_is_supported(struct tb *tb)
>  static int icm_ar_get_mode(struct tb *tb)
>  {
>  	struct tb_nhi *nhi = tb->nhi;
> -	int retries = 5;
> +	int retries = 60;
>  	u32 val;
> 
>  	do {
>  		val = ioread32(nhi->iobase + REG_FW_STS);
>  		if (val & REG_FW_STS_NVM_AUTH_DONE)
>  			break;
> -		msleep(30);
> +		msleep(50);
>  	} while (--retries);
> 
>  	if (!retries) {
> @@ -1063,6 +1063,9 @@ static int icm_firmware_init(struct tb *tb)
>  			break;
> 
>  		default:
> +			if (ret < 0)
> +				return ret;
> +
>  			tb_err(tb, "ICM firmware is in wrong mode: %u\n", ret);
>  			return -ENODEV;
>  		}
> --
> 2.15.1

Mika,

Some of your patches in this series already have the stable tag, but I think 
especially this one is probably a good candidate to add to @stable.