diff options
author | Justin T. Gibbs <gibbs@FreeBSD.org> | 2011-09-20 23:44:34 +0000 |
---|---|---|
committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 2011-09-20 23:44:34 +0000 |
commit | 2ca7463bc7ac8a1c0ece154ee21aeab4cb394eec (patch) | |
tree | 6b8fcd349b3da3727d19a4671541e3c2563ca2d8 /sys/xen/xenbus/xenbusb_front.c | |
parent | b296414c6222eecb519ad4e784e6ff7ca7821452 (diff) | |
download | src-2ca7463bc7ac8a1c0ece154ee21aeab4cb394eec.tar.gz src-2ca7463bc7ac8a1c0ece154ee21aeab4cb394eec.zip |
Properly handle suspend/resume events in the Xen device
framework.
Sponsored by: BQ Internet
sys/xen/xenbus/xenbusb.c:
o In xenbusb_resume(), publish the state transition of the
resuming device into XenbusStateIntiailising so that the
remote peer can see it. Recording the state locally is
not sufficient to trigger a re-connect sequence.
o In xenbusb_resume(), defer new-bus resume processing until
after the remote peer's XenStore address has been updated.
The drivers may need to refer to this information during
resume processing.
sys/xen/xenbus/xenbusb_back.c:
sys/xen/xenbus/xenbusb_front.c:
Register xenbusb_resume() rather than bus_generic_resume()
as the handler for device_resume events.
sys/xen/xenstore/xenstore.c:
o Fix grammer in a comment.
o In xs_suspend(), pass suspend events on to the child
devices (e.g. xenbusb_front/back, that are attached
to the XenStore.
Approved by: re
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=225704
Diffstat (limited to 'sys/xen/xenbus/xenbusb_front.c')
-rw-r--r-- | sys/xen/xenbus/xenbusb_front.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/xen/xenbus/xenbusb_front.c b/sys/xen/xenbus/xenbusb_front.c index b4e470ed22af..818e7f0a2cc6 100644 --- a/sys/xen/xenbus/xenbusb_front.c +++ b/sys/xen/xenbus/xenbusb_front.c @@ -171,7 +171,7 @@ static device_method_t xenbusb_front_methods[] = { DEVMETHOD(device_detach, bus_generic_detach), DEVMETHOD(device_shutdown, bus_generic_shutdown), DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), + DEVMETHOD(device_resume, xenbusb_resume), /* Bus Interface */ DEVMETHOD(bus_print_child, xenbusb_print_child), |