Subject: Re: [PATCH v2 09/17] drivers/firmware/sdei: Remove while loop in sdei_event_unregister()

From: Jonathan Cameron <[email-masked]>
Date: Thu, 23 Jul 2020 16:51:07 +0100

On Wed, 22 Jul 2020 19:57:32 +1000
Gavin Shan <[email-masked]> wrote:

> This removes the unnecessary while loop in sdei_event_unregister().
> This shouldn't cause any functional changes.
> 
> Signed-off-by: Gavin Shan <[email-masked]>
> ---
> v2: Derived from "drivers/firmware/sdei: Drop unnecessary while loop"
> ---
>  drivers/firmware/arm_sdei.c | 30 ++++++++++++++----------------
>  1 file changed, 14 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
> index ab1088fbdd37..d03371161aaf 100644
> --- a/drivers/firmware/arm_sdei.c
> +++ b/drivers/firmware/arm_sdei.c
> @@ -491,26 +491,24 @@ int sdei_event_unregister(u32 event_num)
>  
>  	mutex_lock(&sdei_events_lock);
>  	event = sdei_event_find(event_num);
> -	do {
> -		if (!event) {
> -			pr_warn("Event %u not registered\n", event_num);
> -			err = -ENOENT;
> -			break;
> -		}
> +	if (!event) {
> +		pr_warn("Event %u not registered\n", event_num);
> +		err = -ENOENT;
> +		goto out;
> +	}
>  
> -		spin_lock(&sdei_list_lock);
> -		event->reregister = false;
> -		event->reenable = false;
> -		spin_unlock(&sdei_list_lock);
> +	spin_lock(&sdei_list_lock);
> +	event->reregister = false;
> +	event->reenable = false;
> +	spin_unlock(&sdei_list_lock);
>  
> -		err = _sdei_event_unregister(event);
> -		if (err)
> -			break;
> +	err = _sdei_event_unregister(event);
> +	if (err)
> +		goto out;
>  
> -		sdei_event_destroy(event);
> -	} while (0);
> +	sdei_event_destroy(event);
> +out:
As in previous I'd give the label a name to indicate there is still work
to be done.

>  	mutex_unlock(&sdei_events_lock);
> -
That whitespace is arguably slightly useful from a readability point of view.
I would leave it here.

>  	return err;
>  }

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel