CC: [email protected] TO: Lubomir Rintel <[email protected]> tree: git://git.kernel.org/pub/scm/linux/kernel/git/lkundrak/linux-mmp.git lr/mmp3-thermal-v1 head: 5954b46ee7b1de0c8e187643c8e4907da8f41f35 commit: 5954b46ee7b1de0c8e187643c8e4907da8f41f35 [2/2] thermal driver :::::: branch date: 2 days ago :::::: commit date: 2 days ago config: i386-randconfig-m021-20201022 (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]> New smatch warnings: drivers/thermal/mmp3_thermal.c:80 read_temperature_sensor() warn: this loop depends on readl() succeeding Old smatch warnings: drivers/thermal/mmp3_thermal.c:78 read_temperature_sensor() warn: this loop depends on readl() succeeding vim +80 drivers/thermal/mmp3_thermal.c 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 52 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 53 static unsigned long read_temperature_sensor(struct mmp3_thermal *priv, int range, int index) 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 54 { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 55 int i, j, gray; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 56 unsigned long temp; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 57 u32 val; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 58 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 59 mutex_lock(&mmp3_thermal_sensor_mutex); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 60 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 61 val = readl(priv->regs + index); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 62 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 63 if (val & TEMP_EN_WDOG) { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 64 if ((range == HIRANGE) == ((val & TEMP_LOWRANGE) == 0)) 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 65 return 0; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 66 } 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 67 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 68 if (range == HIRANGE) { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 69 val &= ~TEMP_LOWRANGE; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 70 } else { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 71 val |= TEMP_LOWRANGE; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 72 } 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 73 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 74 val &= ~TEMP_START; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 75 writel(val, priv->regs + index); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 76 usleep_range(300, 1000); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 77 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 78 for (i = 0; i < 10; i++) { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 79 writel(val | TEMP_START, priv->regs + index); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 @80 for (j = 0; j < 10; j++) { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 81 usleep_range(300, 1000); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 82 if (readl(priv->regs + index) & TEMP_STATUS) 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 83 goto done; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 84 } 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 85 usleep_range(300, 1000); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 86 writel(val, priv->regs + index); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 87 } 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 88 done: 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 89 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 90 if (i == 10) { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 91 printk(KERN_ERR "mmp3_thermal: timeout reading sensor %d, range %d\n", 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 92 index, range); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 93 writel(val, priv->regs + index); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 94 temp = 0; // filtering may fix this 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 95 } else { 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 96 gray = readl(priv->regs + index) & TEMP_TEMP_VALUE_MASK; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 97 temp = gray_to_temp[range][gray]; 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 98 } 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 99 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 100 mutex_unlock(&mmp3_thermal_sensor_mutex); 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 101 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 102 return temp; // return value is tenths, C 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 103 } 5954b46ee7b1de0 Lubomir Rintel 2019-08-12 104 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
