Re: [PATCH] firmware: fix a double abort case with fw_load_sysfs_fallback

From: Luis Chamberlain
Date: Fri Feb 28 2020 - 08:07:42 EST


On Fri, Feb 28, 2020 at 03:56:33PM +0800, Junyong Sun wrote:
> fw_sysfs_wait_timeout may return err with -ENOENT
> at fw_load_sysfs_fallback and firmware is already
> in abort status, no need to abort again, so skip it.

What exactly is caused by this issue though? Are you seeing
a kernel panic, some extra messages in the kernel log? This
informationw ould be useful for the kernel commit log.

> Signed-off-by: Junyong Sun <sunjunyong@xxxxxxxxxx>
> ---
> drivers/base/firmware_loader/fallback.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/firmware_loader/fallback.c b/drivers/base/firmware_loader/fallback.c
> index 8704e1b..1e9c96e 100644
> --- a/drivers/base/firmware_loader/fallback.c
> +++ b/drivers/base/firmware_loader/fallback.c
> @@ -525,7 +525,7 @@ static int fw_load_sysfs_fallback(struct fw_sysfs *fw_sysfs,
> }
>
> retval = fw_sysfs_wait_timeout(fw_priv, timeout);
> - if (retval < 0) {
> + if (retval < 0 && retval != -ENOENT) {
> mutex_lock(&fw_lock);
> fw_load_abort(fw_sysfs);
> mutex_unlock(&fw_lock);
> --
> 2.7.4
>