MFD/Battery: Fix battery status setting logic for interrupt case
authorRamakrishna Pallala <ramakrishna.pallala@intel.com>
Fri, 22 Jun 2012 11:14:50 +0000 (16:44 +0530)
committerbuildbot <buildbot@intel.com>
Wed, 27 Jun 2012 13:39:16 +0000 (06:39 -0700)
BZ: 38168

Right we are setting the battery status to Not Chargring upon certain
interrutps without properly(really) checking the charger fault condition.

This patch will fix this issue by making sure that we check charger
fault case AND interrupt bits.

Change-Id: Ia41c5820dd616ca295a0421f8c3894828a173892
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
Reviewed-on: http://android.intel.com:8080/53736
Reviewed-by: Tc, Jenny <jenny.tc@intel.com>
Reviewed-by: Mukherjee, DevapriyaX <devapriyax.mukherjee@intel.com>
Reviewed-by: Jena, TapanX <tapanx.jena@intel.com>
Tested-by: Kallappa Manjanna, MadhukumarX <madhukumarx.kallappa.manjanna@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/power/intel_mdf_battery.c

index 5b8033a..8440d24 100644 (file)
@@ -2301,8 +2301,8 @@ static irqreturn_t msic_battery_thread_handler(int id, void *dev)
        }
 
        /* Check charger Status bits */
-       if ((data[0] & ~(MSIC_BATT_CHR_TIMEEXP_MASK)) ||
-               (data[1] & ~(MSIC_BATT_CHR_CHRCMPLT_MASK))
+       if (((data[0] & ~(MSIC_BATT_CHR_TIMEEXP_MASK)) ||
+               (data[1] & ~(MSIC_BATT_CHR_CHRCMPLT_MASK)))
                        && is_charger_fault()) {
                mutex_lock(&mbi->batt_lock);
                mbi->batt_props.status = POWER_SUPPLY_STATUS_NOT_CHARGING;