xen-netback: Don't destroy the netdev until the vif is shut down
authorPaul Durrant <Paul.Durrant@citrix.com>
Tue, 17 Sep 2013 16:46:08 +0000 (17:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Sep 2013 18:03:51 +0000 (14:03 -0400)
commit279f438e36c0a70b23b86d2090aeec50155034a9
tree2321278098da43c72508e97edbf8a76f2ee63683
parentbd784a140712fd06674f2240eecfc4ccae421129
xen-netback: Don't destroy the netdev until the vif is shut down

Without this patch, if a frontend cycles through states Closing
and Closed (which Windows frontends need to do) then the netdev
will be destroyed and requires re-invocation of hotplug scripts
to restore state before the frontend can move to Connected. Thus
when udev is not in use the backend gets stuck in InitWait.

With this patch, the netdev is left alone whilst the backend is
still online and is only de-registered and freed just prior to
destroying the vif (which is also nicely symmetrical with the
netdev allocation and registration being done during probe) so
no re-invocation of hotplug scripts is required.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/common.h
drivers/net/xen-netback/interface.c
drivers/net/xen-netback/xenbus.c