Closed Bug 826366 Opened 12 years ago Closed 12 years ago

"gecko" wakelock asserted while in a call w/ display off

Categories

(Firefox OS Graveyard :: Gaia::System, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-basecamp:+)

RESOLVED FIXED
B2G C4 (2jan on)
blocking-basecamp +

People

(Reporter: m1, Assigned: timdream)

References

Details

Attachments

(1 file, 1 obsolete file)

We see that the "gecko" wakelock continues to be asserted while in a call w/ the display turned off. This is causing excessive power usage.
All we need to do is rip the _cpuWakeLock logic out of screen_manager.js.
Component: Gaia::Dialer → Gaia::System
Tim, can you fix or reassign, thanks!
Assignee: nobody → timdream+bugs
blocking-basecamp: ? → +
Target Milestone: --- → B2G C4 (2jan on)
Marco, I need you help on this since the _cpuWakeLock is implemented in bug 753842. Do we have other better way to protect the proximity sensors?
Depends on: 753842
Hum, Marco is on vacation. Re-read the bug again, I think to get rid of the wake lock, the proper fix would have to live in Gecko, where we patch nsDeviceSensor.cpp and send the proximity sensor events even if the window is marked "background". See bug 753842 comment 40. Chris, what do you think?
Flags: needinfo?(jones.chris.g)
Hm yes, proximity events. Ignore comment 1 ;). So what I see us doing is *always* holding the wakelock in order to receive proximity events. Even if the screen times out and turns off, proximity events will turn it back on. That's kind of a weird behavior. This differs from android, which does the following (saner) - while the screen is on, responds to proximity events, turning screen on/off - after the screen times out and turns off, stops responding to proximity events What I'm not sure about is whether we're testing the first case above or the second. Before we spend a lot of time worrying about efficient proximity events, -> CAF for a clarification ;).
Flags: needinfo?(jones.chris.g) → needinfo?(mvines)
I like the /saner/ approach. Proximity events aren't been taking into consideration in this power measurement. STR: 1. Make a call 2. Put the phone down and let the display time out 3. Start measuring after a little while
Flags: needinfo?(mvines)
Tim, so what we need to do here is release the cpu wake lock that's being held for proximity events when the display times out on its own. Android has a special kind of wake lock for this. If we don't have what we need to implement this in gaia, then we can look at fixing this in gecko.
(In reply to Chris Jones [:cjones] [:warhammer] from comment #7) > Tim, so what we need to do here is release the cpu wake lock that's being > held for proximity events when the display times out on its own. Android > has a special kind of wake lock for this. If we don't have what we need to > implement this in gaia, then we can look at fixing this in gecko. I could do it in Gaia with what comment 5 described.
Attached file WIP (obsolete) —
WIP ... let me run some manual tests first.
Attachment #697860 - Flags: review?(etienne) → review+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: