[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAErSpo7Vob9CiRxK+E2nV2V7G4FCss6zLCPO93PMSDj9G55ywg@mail.gmail.com>
Date: Fri, 30 Nov 2012 14:42:14 -0700
From: Bjorn Helgaas <bhelgaas@...gle.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Cc: David Vrabel <david.vrabel@...rix.com>, xen-devel@...ts.xen.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH 3/5] xen-pcifront: handle backend CLOSED without CLOSING
On Fri, Nov 30, 2012 at 11:41 AM, Bjorn Helgaas <bhelgaas@...gle.com> wrote:
> On Fri, Oct 19, 2012 at 6:59 AM, Konrad Rzeszutek Wilk
> <konrad.wilk@...cle.com> wrote:
>> On Thu, Oct 18, 2012 at 11:03:36AM +0100, David Vrabel wrote:
>>> From: David Vrabel <david.vrabel@...rix.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@...rix.com>
>>> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
>>> ---
>>> Cc: linux-pci@...r.kernel.org
>>> Cc: Bjorn Helgaas <bhelgaas@...gle.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?
>
> Sorry, I missed this. I can put it in my -next branch for the v3.8
> merge window. Would that work for you?
I put this in my -next branch, so we'll at least have a chance of
making a linux-next cycle before v3.7 pops.
>>> ---
>>> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists