Message ID | 1350554618-14582-5-git-send-email-david.vrabel@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Oct 18, 2012 at 11:03:38AM +0100, David Vrabel wrote: > From: David Vrabel <david.vrabel@citrix.com> > > Backend drivers shouldn't transistion to CLOSED unless the frontend is > CLOSED. If a backend does transition to CLOSED too soon then the > frontend may not see the CLOSING state and will not properly shutdown. > > So, treat an unexpected backend CLOSED state the same as CLOSING. > > Signed-off-by: David Vrabel <david.vrabel@citrix.com> > Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > --- > Cc: linux-input@vger.kernel.org > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Hey Dmitry, Should I prep a git pull for you for this or are you OK giving an Ack for me to put this patch in my git pull for Linus? Thx. > --- > drivers/input/misc/xen-kbdfront.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c > index 02ca868..6f7d990 100644 > --- a/drivers/input/misc/xen-kbdfront.c > +++ b/drivers/input/misc/xen-kbdfront.c > @@ -311,7 +311,6 @@ static void xenkbd_backend_changed(struct xenbus_device *dev, > case XenbusStateReconfiguring: > case XenbusStateReconfigured: > case XenbusStateUnknown: > - case XenbusStateClosed: > break; > > case XenbusStateInitWait: > @@ -350,6 +349,10 @@ InitWait: > > break; > > + case XenbusStateClosed: > + if (dev->state == XenbusStateClosed) > + break; > + /* Missed the backend's CLOSING state -- fallthrough */ > case XenbusStateClosing: > xenbus_frontend_closed(dev); > break; > -- > 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Oct 19, 2012 at 09:00:59AM -0400, Konrad Rzeszutek Wilk wrote: > On Thu, Oct 18, 2012 at 11:03:38AM +0100, David Vrabel wrote: > > From: David Vrabel <david.vrabel@citrix.com> > > > > Backend drivers shouldn't transistion to CLOSED unless the frontend is > > CLOSED. If a backend does transition to CLOSED too soon then the > > frontend may not see the CLOSING state and will not properly shutdown. > > > > So, treat an unexpected backend CLOSED state the same as CLOSING. > > > > Signed-off-by: David Vrabel <david.vrabel@citrix.com> > > Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > > --- > > Cc: linux-input@vger.kernel.org > > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> > > Hey Dmitry, > > Should I prep a git pull for you for this or are you OK giving > an Ack for me to put this patch in my git pull for Linus? Sure, please merge with the rest through your tree. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Thanks! > > Thx. > > --- > > drivers/input/misc/xen-kbdfront.c | 5 ++++- > > 1 files changed, 4 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c > > index 02ca868..6f7d990 100644 > > --- a/drivers/input/misc/xen-kbdfront.c > > +++ b/drivers/input/misc/xen-kbdfront.c > > @@ -311,7 +311,6 @@ static void xenkbd_backend_changed(struct xenbus_device *dev, > > case XenbusStateReconfiguring: > > case XenbusStateReconfigured: > > case XenbusStateUnknown: > > - case XenbusStateClosed: > > break; > > > > case XenbusStateInitWait: > > @@ -350,6 +349,10 @@ InitWait: > > > > break; > > > > + case XenbusStateClosed: > > + if (dev->state == XenbusStateClosed) > > + break; > > + /* Missed the backend's CLOSING state -- fallthrough */ > > case XenbusStateClosing: > > xenbus_frontend_closed(dev); > > break; > > -- > > 1.7.2.5
diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c index 02ca868..6f7d990 100644 --- a/drivers/input/misc/xen-kbdfront.c +++ b/drivers/input/misc/xen-kbdfront.c @@ -311,7 +311,6 @@ static void xenkbd_backend_changed(struct xenbus_device *dev, case XenbusStateReconfiguring: case XenbusStateReconfigured: case XenbusStateUnknown: - case XenbusStateClosed: break; case XenbusStateInitWait: @@ -350,6 +349,10 @@ InitWait: break; + case XenbusStateClosed: + if (dev->state == XenbusStateClosed) + break; + /* Missed the backend's CLOSING state -- fallthrough */ case XenbusStateClosing: xenbus_frontend_closed(dev); break;