• Stanislaw Gruszka's avatar
    xen/acpi-processor: fix enabling interrupts on syscore_resume · cd979883
    Stanislaw Gruszka authored
    syscore->resume() callback is expected to do not enable interrupts,
    it generates warning like below otherwise:
    
    [ 9386.365390] WARNING: CPU: 0 PID: 6733 at drivers/base/syscore.c:104 syscore_resume+0x9a/0xe0()
    [ 9386.365403] Interrupts enabled after xen_acpi_processor_resume+0x0/0x34 [xen_acpi_processor]
    ...
    [ 9386.365429] Call Trace:
    [ 9386.365434]  [<ffffffff81667a8b>] dump_stack+0x45/0x56
    [ 9386.365437]  [<ffffffff8106921d>] warn_slowpath_common+0x7d/0xa0
    [ 9386.365439]  [<ffffffff8106928c>] warn_slowpath_fmt+0x4c/0x50
    [ 9386.365442]  [<ffffffffa0261bb0>] ? xen_upload_processor_pm_data+0x300/0x300 [xen_acpi_processor]
    [ 9386.365443]  [<ffffffff814055fa>] syscore_resume+0x9a/0xe0
    [ 9386.365445]  [<ffffffff810aef42>] suspend_devices_and_enter+0x402/0x470
    [ 9386.365447]  [<ffffffff810af128>] pm_suspend+0x178/0x260
    
    On xen_acpi_processor_resume() we call various procedures, which are
    non atomic and can enable interrupts. To prevent the issue introduce
    separate resume notify called after we enable interrupts on resume
    and before we call other drivers resume callbacks.
    Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    cd979883
xen-acpi-processor.c 16.9 KB