='cgit v1.2.3-54-g00ecf'/>
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipe Manco <filipe.manco@neclab.eu>2016-09-15 17:10:46 +0200
committerDavid S. Miller <davem@davemloft.net>2016-09-17 09:56:02 -0400
commitcce94483e47e8e3d74cf4475dea33f9fd4b6ad9f (patch)
tree319883b04cf525b1ab41a6dd6d3f1f5df97443ec
parent4253ef8f6f81405e65304eef5a5b182c32dec915 (diff)
xen-netback: fix error handling on netback_probe()
In case of error during netback_probe() (e.g. an entry missing on the xenstore) netback_remove() is called on the new device, which will set the device backend state to XenbusStateClosed by calling set_backend_state(). However, the backend state wasn't initialized by netback_probe() at this point, which will cause and invalid transaction and set_backend_state() to BUG(). Initialize the backend state at the beginning of netback_probe() to XenbusStateInitialising, and create two new valid state transitions on set_backend_state(), from XenbusStateInitialising to XenbusStateClosed, and from XenbusStateInitialising to XenbusStateInitWait. Signed-off-by: Filipe Manco <filipe.manco@neclab.eu> Acked-by: Wei Liu <wei.liu2@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net>