On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
> From: David Vrabel <david.vra...@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.vra...@citrix.com>
> Acked-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
> ---
> Cc: linux-...@vger.kernel.org
> Cc: Bjorn Helgaas <bhelg...@google.com>

Bjorn, do you want me to prep a git pull with this patch
or can I have your Ack to put it my tree and have it part of my
git pull to Linus?

Thx.
> ---
>  drivers/pci/xen-pcifront.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
> index 0aab85a..a0c7312 100644
> --- a/drivers/pci/xen-pcifront.c
> +++ b/drivers/pci/xen-pcifront.c
> @@ -1068,13 +1068,16 @@ static void __init_refok 
> pcifront_backend_changed(struct xenbus_device *xdev,
>       case XenbusStateInitialising:
>       case XenbusStateInitWait:
>       case XenbusStateInitialised:
> -     case XenbusStateClosed:
>               break;
>  
>       case XenbusStateConnected:
>               pcifront_try_connect(pdev);
>               break;
>  
> +     case XenbusStateClosed:
> +             if (xdev->state == XenbusStateClosed)
> +                     break;
> +             /* Missed the backend's CLOSING state -- fallthrough */
>       case XenbusStateClosing:
>               dev_warn(&xdev->dev, "backend going away!\n");
>               pcifront_try_disconnect(pdev);
> -- 
> 1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to