mirror of
https://github.com/qemu/qemu.git
synced 2024-11-30 07:13:38 +08:00
xen-bus: check whether the frontend is active during device reset...
...not the backend Commitcb323146
"xen-bus: Fix backend state transition on device reset" contained a subtle mistake. The hunk @@ -539,11 +556,11 @@ static void xen_device_backend_changed(void *opaque) /* * If the toolstack (or unplug request callback) has set the backend - * state to Closing, but there is no active frontend (i.e. the - * state is not Connected) then set the backend state to Closed. + * state to Closing, but there is no active frontend then set the + * backend state to Closed. */ if (xendev->backend_state == XenbusStateClosing && - xendev->frontend_state != XenbusStateConnected) { + !xen_device_state_is_active(state)) { xen_device_backend_set_state(xendev, XenbusStateClosed); } mistakenly replaced the check of 'xendev->frontend_state' with a check (now in a helper function) of 'state', which actually equates to 'xendev->backend_state'. This patch fixes the mistake. Fixes:cb32314607
Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Message-Id: <20190910171753.3775-1-paul.durrant@citrix.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
parent
2f93a3ecdd
commit
df6180bb56
@ -560,7 +560,7 @@ static void xen_device_backend_changed(void *opaque)
|
|||||||
* backend state to Closed.
|
* backend state to Closed.
|
||||||
*/
|
*/
|
||||||
if (xendev->backend_state == XenbusStateClosing &&
|
if (xendev->backend_state == XenbusStateClosing &&
|
||||||
!xen_device_state_is_active(state)) {
|
!xen_device_state_is_active(xendev->frontend_state)) {
|
||||||
xen_device_backend_set_state(xendev, XenbusStateClosed);
|
xen_device_backend_set_state(xendev, XenbusStateClosed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user