Re: [PATCH] xen, fbfront: fix connecting to backend

From: Juergen Gross
Date: Wed Apr 05 2017 - 04:19:56 EST


On 23/03/17 13:52, Juergen Gross wrote:
> Connecting to the backend isn't working reliably in xen-fbfront: in
> case XenbusStateInitWait of the backend has been missed the backend
> transition to XenbusStateConnected will trigger the connected state
> only without doing the actions required when the backend has
> connected.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>

Bartlomiej, any comments? Can you please take this patch or should I
carry it through the Xen tree?


Juergen

> ---
> drivers/video/fbdev/xen-fbfront.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
> index d0115a7..3ee309c 100644
> --- a/drivers/video/fbdev/xen-fbfront.c
> +++ b/drivers/video/fbdev/xen-fbfront.c
> @@ -643,7 +643,6 @@ static void xenfb_backend_changed(struct xenbus_device *dev,
> break;
>
> case XenbusStateInitWait:
> -InitWait:
> xenbus_switch_state(dev, XenbusStateConnected);
> break;
>
> @@ -654,7 +653,8 @@ static void xenfb_backend_changed(struct xenbus_device *dev,
> * get Connected twice here.
> */
> if (dev->state != XenbusStateConnected)
> - goto InitWait; /* no InitWait seen yet, fudge it */
> + /* no InitWait seen yet, fudge it */
> + xenbus_switch_state(dev, XenbusStateConnected);
>
> if (xenbus_read_unsigned(info->xbdev->otherend,
> "request-update", 0))
>