diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-06 22:11:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-06 22:11:24 -0400 |
commit | 6e6c5b960644125b6f2fc2cd04e62bff0771923e (patch) | |
tree | 6d839565616684904fd17f1207c8294b30cb162c /drivers/xen/manage.c | |
parent | c136b84393d4e340e1b53fc7f737dd5827b19ee5 (diff) | |
parent | c54590cac51db8ab5fd30156bdaba34af915e629 (diff) |
Merge tag 'for-linus-4.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull xen updates from Juergen Gross:
"Other than fixes and cleanups it contains:
- support > 32 VCPUs at domain restore
- support for new sysfs nodes related to Xen
- some performance tuning for Linux running as Xen guest"
* tag 'for-linus-4.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
x86/xen: allow userspace access during hypercalls
x86: xen: remove unnecessary variable in xen_foreach_remap_area()
xen: allocate page for shared info page from low memory
xen: avoid deadlock in xenbus driver
xen: add sysfs node for hypervisor build id
xen: sync include/xen/interface/version.h
xen: add sysfs node for guest type
doc,xen: document hypervisor sysfs nodes for xen
xen/vcpu: Handle xen_vcpu_setup() failure at boot
xen/vcpu: Handle xen_vcpu_setup() failure in hotplug
xen/pv: Fix OOPS on restore for a PV, !SMP domain
xen/pvh*: Support > 32 VCPUs at domain restore
xen/vcpu: Simplify xen_vcpu related code
xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online VCPU
xen: avoid type warning in xchg_xen_ulong
xen: fix HYPERVISOR_dm_op() prototype
xen: don't print error message in case of missing Xenstore entry
arm/xen: Adjust one function call together with a variable assignment
arm/xen: Delete an error message for a failed memory allocation in __set_phys_to_machine_multi()
arm/xen: Improve a size determination in __set_phys_to_machine_multi()
Diffstat (limited to 'drivers/xen/manage.c')
-rw-r--r-- | drivers/xen/manage.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c index 9e35032351a0..c425d03d37d2 100644 --- a/drivers/xen/manage.c +++ b/drivers/xen/manage.c | |||
@@ -278,8 +278,16 @@ static void sysrq_handler(struct xenbus_watch *watch, const char *path, | |||
278 | err = xenbus_transaction_start(&xbt); | 278 | err = xenbus_transaction_start(&xbt); |
279 | if (err) | 279 | if (err) |
280 | return; | 280 | return; |
281 | if (xenbus_scanf(xbt, "control", "sysrq", "%c", &sysrq_key) < 0) { | 281 | err = xenbus_scanf(xbt, "control", "sysrq", "%c", &sysrq_key); |
282 | pr_err("Unable to read sysrq code in control/sysrq\n"); | 282 | if (err < 0) { |
283 | /* | ||
284 | * The Xenstore watch fires directly after registering it and | ||
285 | * after a suspend/resume cycle. So ENOENT is no error but | ||
286 | * might happen in those cases. | ||
287 | */ | ||
288 | if (err != -ENOENT) | ||
289 | pr_err("Error %d reading sysrq code in control/sysrq\n", | ||
290 | err); | ||
283 | xenbus_transaction_end(xbt, 1); | 291 | xenbus_transaction_end(xbt, 1); |
284 | return; | 292 | return; |
285 | } | 293 | } |