]> git.karo-electronics.de Git - karo-tx-linux.git/commit
xenbus: delay xenbus frontend resume if xenstored is not running
authorAurelien Chartier <aurelien.chartier@citrix.com>
Tue, 28 May 2013 17:09:56 +0000 (18:09 +0100)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 28 May 2013 17:44:03 +0000 (13:44 -0400)
commitdc0b3538eaf37cdc7cc93d56022e47b0629082d1
treefb0e375779fe5c7b0d6f9566e8f88ca9dff88d6c
parent95310429f452a23abb2049ee0ceacbab30e48f0d
xenbus: delay xenbus frontend resume if xenstored is not running

If the xenbus frontend is located in a domain running xenstored, the device
resume is hanging because it is happening before the process resume. This
patch adds extra logic to the resume code to check if we are the domain
running xenstored and delay the resume if needed.

Signed-off-by: Aurelien Chartier <aurelien.chartier@citrix.com>
Changes in v2:
- Instead of bypassing the resume, process it in a workqueue
Changes in v3:
- Add a struct work in xenbus_device to avoid dynamic allocation
- Several small code fixes
Changes in v4:
- Use a dedicated workqueue
Changes in v5:
- Move create_workqueue error handling to xenbus_frontend_dev_resume
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/xenbus/xenbus_probe_frontend.c
include/xen/xenbus.h