bq27x00_battery: Do not report nominal available capaciy if battery is not calibrated
[kernel-power] / kernel-power-2.6.28 / debian / patches / bq27x00-fix-nac.diff
1 diff --git a/drivers/power/bq27x00_battery.c b/drivers/power/bq27x00_battery.c
2 index 5860d4d..41b3328 100644
3 --- a/drivers/power/bq27x00_battery.c
4 +++ b/drivers/power/bq27x00_battery.c
5 @@ -230,6 +230,13 @@ static int bq27x00_battery_read_charge(struct bq27x00_device_info *di, u8 reg)
6   */
7  static inline int bq27x00_battery_read_nac(struct bq27x00_device_info *di)
8  {
9 +       int flags;
10 +       bool is_bq27500 = di->chip == BQ27500;
11 +
12 +       flags = bq27x00_read(di, BQ27x00_REG_FLAGS, !is_bq27500);
13 +       if (flags >= 0 && !is_bq27500 && (flags & BQ27000_FLAG_CI))
14 +               return -ENODATA;
15 +
16         return bq27x00_battery_read_charge(di, BQ27x00_REG_NAC);
17  }
18  
19 -- 
20 1.7.10.4
21