xen-netback: Handle backend state transitions in a more robust way
authorPaul Durrant <Paul.Durrant@citrix.com>
Thu, 26 Sep 2013 11:09:52 +0000 (12:09 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Nov 2013 20:27:46 +0000 (12:27 -0800)
commit7ab12337112dce7669c2481f6077b1ebfb048ddc
treeca51d45f13bce4bdb1a1111827bdea35b080b934
parent5bf906573cbe62fb4b4bb61db5086e62c62d9b2a
xen-netback: Handle backend state transitions in a more robust way

[ Upstream commit ea732dff5cfa10789007bf4a5b935388a0bb2a8f ]

When the frontend state changes netback now specifies its desired state to
a new function, set_backend_state(), which transitions through any
necessary intermediate states.
This fixes an issue observed with some old Windows frontend drivers where
they failed to transition through the Closing state and netback would not
behave correctly.

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