aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/ec.c
diff options
context:
space:
mode:
authorVladimir Lebedev <vladimir.p.lebedev@intel.com>2006-06-20 16:46:00 -0400
committerLen Brown <len.brown@intel.com>2006-06-28 12:44:45 -0400
commit49fee981fa98f3c0a21f3d6c8193eddcc15e84e9 (patch)
tree203ebb3fb41dbb14ffdf2ed49f96938535e32b94 /drivers/acpi/ec.c
parent95b38b3f453c16de0f8cddcde3e71050bbfb37b9 (diff)
ACPI: fix battery on HP NX6125
EC problem was cause of both battery and AC issues. http://bugzilla.kernel.org/show_bug.cgi?id=6455 Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r--drivers/acpi/ec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 874f912962c4..8c5d7df7d343 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -213,7 +213,7 @@ static int acpi_ec_intr_wait(union acpi_ec *ec, unsigned int event)
213 213
214 switch (event) { 214 switch (event) {
215 case ACPI_EC_EVENT_IBE: 215 case ACPI_EC_EVENT_IBE:
216 if (~acpi_ec_read_status(ec) & event) { 216 if (~acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) {
217 ec->intr.expect_event = 0; 217 ec->intr.expect_event = 0;
218 return 0; 218 return 0;
219 } 219 }
@@ -782,12 +782,15 @@ static u32 acpi_ec_gpe_intr_handler(void *data)
782 case ACPI_EC_EVENT_OBF: 782 case ACPI_EC_EVENT_OBF:
783 if (!(value & ACPI_EC_FLAG_OBF)) 783 if (!(value & ACPI_EC_FLAG_OBF))
784 break; 784 break;
785 ec->intr.expect_event = 0;
786 wake_up(&ec->intr.wait);
787 break;
785 case ACPI_EC_EVENT_IBE: 788 case ACPI_EC_EVENT_IBE:
786 if ((value & ACPI_EC_FLAG_IBF)) 789 if ((value & ACPI_EC_FLAG_IBF))
787 break; 790 break;
788 ec->intr.expect_event = 0; 791 ec->intr.expect_event = 0;
789 wake_up(&ec->intr.wait); 792 wake_up(&ec->intr.wait);
790 return ACPI_INTERRUPT_HANDLED; 793 break;
791 default: 794 default:
792 break; 795 break;
793 } 796 }