diff options
author | Vitaly Kuznetsov <vkuznets@redhat.com> | 2016-01-28 09:29:35 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-08 08:34:12 +0300 |
commit | 415719160de3fae3bb9cbc617664649919cd00d0 (patch) | |
tree | bf877b7cbe41b2e137b52ab584310e3c1605597b /include/video/pmagb-b-fb.h | |
parent | 79fd8e706637a5c7c41f9498fe0fbfb437abfdc8 (diff) | |
download | linux-415719160de3fae3bb9cbc617664649919cd00d0.tar.xz |
Drivers: hv: vmbus: avoid scheduling in interrupt context in vmbus_initiate_unload()
We have to call vmbus_initiate_unload() on crash to make kdump work but
the crash can also be happening in interrupt (e.g. Sysrq + c results in
such) where we can't schedule or the following will happen:
[ 314.905786] bad: scheduling from the idle thread!
Just skipping the wait (and even adding some random wait here) won't help:
to make host-side magic working we're supposed to receive CHANNELMSG_UNLOAD
(and actually confirm the fact that we received it) but we can't use
interrupt-base path (vmbus_isr()-> vmbus_on_msg_dpc()). Implement a simple
busy wait ignoring all the other messages and use it if we're in an
interrupt context.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/video/pmagb-b-fb.h')
0 files changed, 0 insertions, 0 deletions