Re: [PATCH] xen/pvcalls: use WARN_ON(1) instead of __WARN()

From: Stefano Stabellini
Date: Fri Jul 21 2017 - 15:26:17 EST


On Fri, 21 Jul 2017, Arnd Bergmann wrote:
> __WARN() is an internal helper that is only available on
> some architectures, but causes a build error e.g. on ARM64
> in some configurations:
>
> drivers/xen/pvcalls-back.c: In function 'set_backend_state':
> drivers/xen/pvcalls-back.c:1097:5: error: implicit declaration of function '__WARN' [-Werror=implicit-function-declaration]
>
> Unfortunately, there is no equivalent of BUG() that takes no
> arguments, but WARN_ON(1) is commonly used in other drivers
> and works on all configurations.
>
> Fixes: 7160378206b2 ("xen/pvcalls: xenbus state handling")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> ---
> drivers/xen/pvcalls-back.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
> index d6c4c4aecb41..00c1a2344330 100644
> --- a/drivers/xen/pvcalls-back.c
> +++ b/drivers/xen/pvcalls-back.c
> @@ -1094,7 +1094,7 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosing);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> case XenbusStateInitWait:
> @@ -1109,7 +1109,7 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosing);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> case XenbusStateConnected:
> @@ -1123,7 +1123,7 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosing);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> case XenbusStateClosing:
> @@ -1134,11 +1134,11 @@ static void set_backend_state(struct xenbus_device *dev,
> xenbus_switch_state(dev, XenbusStateClosed);
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> break;
> default:
> - __WARN();
> + WARN_ON(1);
> }
> }
> }
> --
> 2.9.0
>