All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: [linux-next:master 5610/6048] drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock'.
Date: Thu, 11 Feb 2021 11:51:21 +0000	[thread overview]
Message-ID: <20210211115121.GI2696@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5237 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   59fa6a163ffabc1bf25c5e0e33899e268a96d3cc
commit: afd0187163980ca729a0cbafe1b664ea23e8fea6 [5610/6048] hwmon: Add AHT10 Temperature and Humidity Sensor Driver
config: x86_64-randconfig-m001-20210210 (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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock'.

vim +172 drivers/hwmon/aht10.c

afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  130) static int aht10_read_values(struct aht10_data *data)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  131) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  132) 	const u8 cmd_meas[] = {AHT10_CMD_MEAS, 0x33, 0x00};
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  133) 	u32 temp, hum;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  134) 	int res;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  135) 	u8 raw_data[AHT10_MEAS_SIZE];
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  136) 	struct i2c_client *client = data->client;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  137) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  138) 	mutex_lock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  139) 	if (aht10_polltime_expired(data)) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  140) 		res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas));
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  141) 		if (res < 0)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  142) 			return res;

Unlock on error before returning.

afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  143) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  144) 		usleep_range(AHT10_MEAS_DELAY,
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  145) 			     AHT10_MEAS_DELAY + AHT10_DELAY_EXTRA);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  146) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  147) 		res = i2c_master_recv(client, raw_data, AHT10_MEAS_SIZE);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  148) 		if (res != AHT10_MEAS_SIZE) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  149) 			mutex_unlock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  150) 			if (res >= 0)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  151) 				return -ENODATA;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  152) 			else
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  153) 				return res;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  154) 		}
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  155) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  156) 		hum =   ((u32)raw_data[1] << 12u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  157) 			((u32)raw_data[2] << 4u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  158) 			((raw_data[3] & 0xF0u) >> 4u);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  159) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  160) 		temp =  ((u32)(raw_data[3] & 0x0Fu) << 16u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  161) 			((u32)raw_data[4] << 8u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  162) 			raw_data[5];
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  163) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  164) 		temp = ((temp * 625) >> 15u) * 10;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  165) 		hum = ((hum * 625) >> 16u) * 10;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  166) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  167) 		data->temperature = (int)temp - 50000;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  168) 		data->humidity = hum;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  169) 		data->previous_poll_time = ktime_get_boottime();
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  170) 	}
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  171) 	mutex_unlock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07 @172) 	return 0;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  173) }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40293 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [linux-next:master 5610/6048] drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock'.
Date: Thu, 11 Feb 2021 11:51:21 +0000	[thread overview]
Message-ID: <20210211115121.GI2696@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5237 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   59fa6a163ffabc1bf25c5e0e33899e268a96d3cc
commit: afd0187163980ca729a0cbafe1b664ea23e8fea6 [5610/6048] hwmon: Add AHT10 Temperature and Humidity Sensor Driver
config: x86_64-randconfig-m001-20210210 (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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock'.

vim +172 drivers/hwmon/aht10.c

afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  130) static int aht10_read_values(struct aht10_data *data)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  131) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  132) 	const u8 cmd_meas[] = {AHT10_CMD_MEAS, 0x33, 0x00};
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  133) 	u32 temp, hum;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  134) 	int res;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  135) 	u8 raw_data[AHT10_MEAS_SIZE];
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  136) 	struct i2c_client *client = data->client;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  137) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  138) 	mutex_lock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  139) 	if (aht10_polltime_expired(data)) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  140) 		res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas));
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  141) 		if (res < 0)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  142) 			return res;

Unlock on error before returning.

afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  143) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  144) 		usleep_range(AHT10_MEAS_DELAY,
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  145) 			     AHT10_MEAS_DELAY + AHT10_DELAY_EXTRA);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  146) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  147) 		res = i2c_master_recv(client, raw_data, AHT10_MEAS_SIZE);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  148) 		if (res != AHT10_MEAS_SIZE) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  149) 			mutex_unlock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  150) 			if (res >= 0)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  151) 				return -ENODATA;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  152) 			else
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  153) 				return res;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  154) 		}
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  155) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  156) 		hum =   ((u32)raw_data[1] << 12u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  157) 			((u32)raw_data[2] << 4u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  158) 			((raw_data[3] & 0xF0u) >> 4u);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  159) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  160) 		temp =  ((u32)(raw_data[3] & 0x0Fu) << 16u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  161) 			((u32)raw_data[4] << 8u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  162) 			raw_data[5];
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  163) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  164) 		temp = ((temp * 625) >> 15u) * 10;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  165) 		hum = ((hum * 625) >> 16u) * 10;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  166) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  167) 		data->temperature = (int)temp - 50000;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  168) 		data->humidity = hum;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  169) 		data->previous_poll_time = ktime_get_boottime();
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  170) 	}
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  171) 	mutex_unlock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07 @172) 	return 0;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  173) }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40293 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org,
	"Johannes Cornelis Draaijer (datdenkikniet)" <jcdra1@gmail.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
	Linux Memory Management List <linux-mm@kvack.org>,
	Guenter Roeck <linux@roeck-us.net>
Subject: [linux-next:master 5610/6048] drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock'.
Date: Thu, 11 Feb 2021 11:51:21 +0000 (UTC)	[thread overview]
Message-ID: <20210211115121.GI2696@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 5169 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   59fa6a163ffabc1bf25c5e0e33899e268a96d3cc
commit: afd0187163980ca729a0cbafe1b664ea23e8fea6 [5610/6048] hwmon: Add AHT10 Temperature and Humidity Sensor Driver
config: x86_64-randconfig-m001-20210210 (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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock'.

vim +172 drivers/hwmon/aht10.c

afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  130) static int aht10_read_values(struct aht10_data *data)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  131) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  132) 	const u8 cmd_meas[] = {AHT10_CMD_MEAS, 0x33, 0x00};
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  133) 	u32 temp, hum;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  134) 	int res;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  135) 	u8 raw_data[AHT10_MEAS_SIZE];
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  136) 	struct i2c_client *client = data->client;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  137) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  138) 	mutex_lock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  139) 	if (aht10_polltime_expired(data)) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  140) 		res = i2c_master_send(client, cmd_meas, sizeof(cmd_meas));
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  141) 		if (res < 0)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  142) 			return res;

Unlock on error before returning.

afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  143) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  144) 		usleep_range(AHT10_MEAS_DELAY,
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  145) 			     AHT10_MEAS_DELAY + AHT10_DELAY_EXTRA);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  146) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  147) 		res = i2c_master_recv(client, raw_data, AHT10_MEAS_SIZE);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  148) 		if (res != AHT10_MEAS_SIZE) {
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  149) 			mutex_unlock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  150) 			if (res >= 0)
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  151) 				return -ENODATA;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  152) 			else
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  153) 				return res;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  154) 		}
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  155) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  156) 		hum =   ((u32)raw_data[1] << 12u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  157) 			((u32)raw_data[2] << 4u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  158) 			((raw_data[3] & 0xF0u) >> 4u);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  159) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  160) 		temp =  ((u32)(raw_data[3] & 0x0Fu) << 16u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  161) 			((u32)raw_data[4] << 8u) |
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  162) 			raw_data[5];
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  163) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  164) 		temp = ((temp * 625) >> 15u) * 10;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  165) 		hum = ((hum * 625) >> 16u) * 10;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  166) 
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  167) 		data->temperature = (int)temp - 50000;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  168) 		data->humidity = hum;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  169) 		data->previous_poll_time = ktime_get_boottime();
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  170) 	}
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  171) 	mutex_unlock(&data->lock);
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07 @172) 	return 0;
afd0187163980c Johannes Cornelis Draaijer (datdenkikniet  2021-01-07  173) }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40293 bytes --]

             reply	other threads:[~2021-02-11 11:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-11 11:51 Dan Carpenter [this message]
2021-02-11 11:51 ` [linux-next:master 5610/6048] drivers/hwmon/aht10.c:172 aht10_read_values() warn: inconsistent returns 'data->lock' Dan Carpenter
2021-02-11 11:51 ` Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2021-02-11  3:51 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210211115121.GI2696@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.