diff options
author | Filipe Manco <filipe.manco@neclab.eu> | 2016-09-15 18:10:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-09-17 16:56:02 +0300 |
commit | cce94483e47e8e3d74cf4475dea33f9fd4b6ad9f (patch) | |
tree | 319883b04cf525b1ab41a6dd6d3f1f5df97443ec /net/ipv4 | |
parent | 4253ef8f6f81405e65304eef5a5b182c32dec915 (diff) | |
download | linux-cce94483e47e8e3d74cf4475dea33f9fd4b6ad9f.tar.xz |
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>
Diffstat (limited to 'net/ipv4')
0 files changed, 0 insertions, 0 deletions