Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:charlesa:openSUSE11.3
xen
22915-x86-hpet-msi-s3.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 22915-x86-hpet-msi-s3.patch of Package xen
# HG changeset patch # User Wei Gang <gang.wei@intel.com> # Date 1297680072 0 # Node ID af84691a6cf9423a445f471af02b36b76ddf5314 # Parent 218b5fa834aa91b83e83d18d4b88e53b9788c2e3 x86: Fix S3 resume for HPET MSI IRQ case Jan Beulich found that for S3 resume on platforms without ARAT feature but with MSI capable HPET, request_irq() will be called in hpet_setup_msi_irq() for irq already setup(no release_irq() called during S3 suspend), so that always falling back to using legacy_hpet_event. Fix it by conditional calling request_irq() for 4.1. Planned to split the S3 resume path from booting path post 4.1, as Jan suggested. Signed-off-by: Wei Gang <gang.wei@intel.com> Acked-by: Jan Beulich <jbeulich@novell.com> Index: xen-4.0.2-testing/xen/arch/x86/hpet.c =================================================================== --- xen-4.0.2-testing.orig/xen/arch/x86/hpet.c +++ xen-4.0.2-testing/xen/arch/x86/hpet.c @@ -339,12 +339,20 @@ static int hpet_setup_msi_irq(unsigned i int ret; struct msi_msg msg; struct hpet_event_channel *ch = &hpet_events[irq_to_channel(irq)]; + irq_desc_t *desc = irq_to_desc(irq); - irq_desc[irq].handler = &hpet_msi_type; - ret = request_irq(irq, hpet_interrupt_handler, - 0, "HPET", ch); - if ( ret < 0 ) - return ret; + if ( desc->handler == &no_irq_type ) + { + desc->handler = &hpet_msi_type; + ret = request_irq(irq, hpet_interrupt_handler, + 0, "HPET", ch); + if ( ret < 0 ) + return ret; + } + else if ( desc->handler != &hpet_msi_type ) + { + return -EINVAL; + } msi_compose_msg(NULL, irq, &msg); hpet_msi_write(irq, &msg);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor