Re: [PATCH v2 2/9] platform/x86/intel/ifs: Refactor image loading code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 22 Sep 2023, Jithu Joseph wrote:

> IFS image loading flow is slightly different for newer IFS generations.
> 
> In preparation for adding support for newer IFS generations, refactor
> portions of existing image loading code for reuse.
> 
> Signed-off-by: Jithu Joseph <jithu.joseph@xxxxxxxxx>
> Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
> Tested-by: Pengfei Xu <pengfei.xu@xxxxxxxxx>
> ---
>  drivers/platform/x86/intel/ifs/load.c | 31 ++++++++++++++++-----------
>  1 file changed, 19 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel/ifs/load.c b/drivers/platform/x86/intel/ifs/load.c
> index cefd0d886cfd..851c97cc6a6b 100644
> --- a/drivers/platform/x86/intel/ifs/load.c
> +++ b/drivers/platform/x86/intel/ifs/load.c
> @@ -80,6 +80,23 @@ static struct metadata_header *find_meta_data(void *ucode, unsigned int meta_typ
>  	return NULL;
>  }
>  
> +static void hashcopy_err_message(struct device *dev, u32 err_code)
> +{
> +	if (err_code >= ARRAY_SIZE(scan_hash_status))
> +		dev_err(dev, "invalid error code 0x%x for hash copy\n", err_code);
> +	else
> +		dev_err(dev, "Hash copy error : %s\n", scan_hash_status[err_code]);
> +}
> +
> +static void auth_err_message(struct device *dev, u32 err_code)
> +{
> +	if (err_code >= ARRAY_SIZE(scan_authentication_status))
> +		dev_err(dev, "invalid error code 0x%x for authentication\n", err_code);
> +	else
> +		dev_err(dev, "Chunk authentication error : %s\n",
> +			scan_authentication_status[err_code]);
> +}
> +
>  /*
>   * To copy scan hashes and authenticate test chunks, the initiating cpu must point
>   * to the EDX:EAX to the test image in linear address.
> @@ -109,11 +126,7 @@ static void copy_hashes_authenticate_chunks(struct work_struct *work)
>  
>  	if (!hashes_status.valid) {
>  		ifsd->loading_error = true;
> -		if (err_code >= ARRAY_SIZE(scan_hash_status)) {
> -			dev_err(dev, "invalid error code 0x%x for hash copy\n", err_code);
> -			goto done;
> -		}
> -		dev_err(dev, "Hash copy error : %s", scan_hash_status[err_code]);
> +		hashcopy_err_message(dev, err_code);
>  		goto done;
>  	}
>  
> @@ -133,13 +146,7 @@ static void copy_hashes_authenticate_chunks(struct work_struct *work)
>  
>  		if (err_code) {
>  			ifsd->loading_error = true;
> -			if (err_code >= ARRAY_SIZE(scan_authentication_status)) {
> -				dev_err(dev,
> -					"invalid error code 0x%x for authentication\n", err_code);
> -				goto done;
> -			}
> -			dev_err(dev, "Chunk authentication error %s\n",
> -				scan_authentication_status[err_code]);
> +			auth_err_message(dev, err_code);
>  			goto done;
>  		}
>  	}
> 

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

-- 
 i.

[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux