CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: "Ricardo Rivera-Matos" <[email protected]>
CC: Sebastian Reichel <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   52a0bcb60e40f30211cb5cbbb0f582ec4e91d896
commit: 32e4978bb920d047fe5de3ea42d176f267c01f63 [1548/11541] power: supply: 
bq256xx: Introduce the BQ256XX charger driver
:::::: branch date: 12 hours ago
:::::: commit date: 6 weeks ago
config: x86_64-randconfig-m001-20210215 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/power/supply/bq256xx_charger.c:1512 bq256xx_hw_init() error: buffer 
overflow 'bq256xx_watchdog_time' 8 <= 8

vim +/bq256xx_watchdog_time +1512 drivers/power/supply/bq256xx_charger.c

32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1502  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1503  static int 
bq256xx_hw_init(struct bq256xx_device *bq)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1504  {
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1505    struct 
power_supply_battery_info bat_info = { };
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1506    int wd_reg_val = 
BQ256XX_WATCHDOG_DIS;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1507    int ret = 0;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1508    int i;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1509  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1510    for (i = 0; i < 
BQ256XX_NUM_WD_VAL; i++) {
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1511            if 
(bq->watchdog_timer > bq256xx_watchdog_time[i] &&
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06 @1512                
bq->watchdog_timer < bq256xx_watchdog_time[i + 1])
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1513                    
wd_reg_val = i;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1514    }
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1515    ret = 
regmap_update_bits(bq->regmap, BQ256XX_CHARGER_CONTROL_1,
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1516                            
 BQ256XX_WATCHDOG_MASK, wd_reg_val <<
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1517                            
                BQ256XX_WDT_BIT_SHIFT);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1518  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1519    ret = 
power_supply_get_battery_info(bq->charger, &bat_info);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1520    if (ret) {
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1521            
dev_warn(bq->dev, "battery info missing, default values will be applied\n");
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1522  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1523            
bat_info.constant_charge_current_max_ua =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1524                            
bq->chip_info->bq256xx_def_ichg;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1525  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1526            
bat_info.constant_charge_voltage_max_uv =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1527                            
bq->chip_info->bq256xx_def_vbatreg;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1528  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1529            
bat_info.precharge_current_ua =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1530                            
bq->chip_info->bq256xx_def_iprechg;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1531  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1532            
bat_info.charge_term_current_ua =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1533                            
bq->chip_info->bq256xx_def_iterm;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1534  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1535            
bq->init_data.ichg_max =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1536                            
bq->chip_info->bq256xx_max_ichg;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1537  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1538            
bq->init_data.vbatreg_max =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1539                            
bq->chip_info->bq256xx_max_vbatreg;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1540    } else {
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1541            
bq->init_data.ichg_max =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1542                    
bat_info.constant_charge_current_max_ua;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1543  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1544            
bq->init_data.vbatreg_max =
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1545                    
bat_info.constant_charge_voltage_max_uv;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1546    }
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1547  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1548    ret = 
bq->chip_info->bq256xx_set_vindpm(bq, bq->init_data.vindpm);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1549    if (ret)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1550            return ret;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1551  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1552    ret = 
bq->chip_info->bq256xx_set_iindpm(bq, bq->init_data.iindpm);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1553    if (ret)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1554            return ret;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1555  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1556    ret = 
bq->chip_info->bq256xx_set_ichg(bq,
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1557                            
bat_info.constant_charge_current_max_ua);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1558    if (ret)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1559            return ret;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1560  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1561    ret = 
bq->chip_info->bq256xx_set_iprechg(bq,
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1562                            
bat_info.precharge_current_ua);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1563    if (ret)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1564            return ret;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1565  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1566    ret = 
bq->chip_info->bq256xx_set_vbatreg(bq,
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1567                            
bat_info.constant_charge_voltage_max_uv);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1568    if (ret)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1569            return ret;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1570  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1571    ret = 
bq->chip_info->bq256xx_set_iterm(bq,
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1572                            
bat_info.charge_term_current_ua);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1573    if (ret)
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1574            return ret;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1575  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1576    
power_supply_put_battery_info(bq->charger, &bat_info);
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1577  
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1578    return 0;
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1579  }
32e4978bb920d0 Ricardo Rivera-Matos 2021-01-06  1580  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to