Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / macintosh / apm_emu.c
index 19d3e05..e5a2bbf 100644 (file)
@@ -430,8 +430,8 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length)
              -1: Unknown
           8) min = minutes; sec = seconds */
 
-       unsigned short  ac_line_status = 0xff;
-       unsigned short  battery_status = 0xff;
+       unsigned short  ac_line_status;
+       unsigned short  battery_status = 0;
        unsigned short  battery_flag   = 0xff;
        int             percentage     = -1;
        int             time_units     = -1;
@@ -446,6 +446,7 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length)
        ac_line_status = ((pmu_power_flags & PMU_PWR_AC_PRESENT) != 0);
        for (i=0; i<pmu_battery_count; i++) {
                if (pmu_batteries[i].flags & PMU_BATT_PRESENT) {
+                       battery_status++;
                        if (percentage < 0)
                                percentage = 0;
                        if (charge < 0)
@@ -461,6 +462,9 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length)
                                charging++;
                }
        }
+       if (0 == battery_status)
+               ac_line_status = 1;
+       battery_status = 0xff;
        if (real_count) {
                if (amperage < 0) {
                        if (btype == PMU_BATT_TYPE_SMART)