http://bugzilla.kernel.org/show_bug.cgi?id=13109





--- Comment #33 from Tiago <[email protected]>  2009-06-02 23:32:00 ---
Created an attachment (id=21718)
 --> (http://bugzilla.kernel.org/attachment.cgi?id=21718)
dmesg with 21711

Ok, this patch seems to solve all but the charger notification. Low latency on
the /sys interface, and touchapad working as well as expected. Please note that
this is the first boot, I need further testing before making a final assessment
as I found some discrepancies between reboots earlier.


The dmesg of this boot is attached. Earlier I did not attach in line because
the files, even compressed were over 1M. I was trying to supply as much
information as possilbe, much of it were repeated lines, but hidden among them
I was hopping for a clue to the solution. If that happens again, I will
truncate or split the file to avoid loosing data on external (crappy) sites!



I believe the problem is that throttled events may never be noticed.

on smbus_alarm() you have:

        if (alarm_is_pending ||
            time_before(jiffies, alarm_time + msecs_to_jiffies(1000)))
                goto unlock;

witch means we may skip some interrupts. But on the callback you have:

        u8 saved_charger_state = sbs->charger_present;
        u8 saved_battery_state;
        /* check if some parallel SBS access is going on */
        mutex_lock(&sbs->lock);
        acpi_ac_get_present(sbs);
        if (sbs->charger_present != saved_charger_state) {

You save the charger_state on the beginning of the _current event_ handler,
read the current state, and compare it with the saved state.

Can the sbs->charger_present be updated by anything other than the
acpi_ac_get_present(sbs) call? if so, when you get the mutex, the state of
sbs->charger_present may already have been updated.

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to