Linux-Bluetooth Archive on lore.kernel.org
 help / color / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Rocky Liao <rjliao@codeaurora.org>
Cc: kbuild-all@lists.01.org, marcel@holtmann.org,
	johan.hedberg@gmail.com, linux-kernel@vger.kernel.org,
	linux-bluetooth@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	Rocky Liao <rjliao@codeaurora.org>
Subject: Re: [PATCH v1 4/4] Bluetooth: hci_qca: Add HCI command timeout handling
Date: Thu, 26 Dec 2019 11:04:23 +0800
Message-ID: <201912261030.mn4fqtjt%lkp@intel.com> (raw)
In-Reply-To: <20191225060317.5258-4-rjliao@codeaurora.org>

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

Hi Rocky,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on bluetooth-next/master]
[also build test ERROR on linux/master linus/master v5.5-rc3 next-20191220]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Rocky-Liao/Bluetooth-hci_qca-Add-QCA-Rome-power-off-support-to-the-qca_power_off/20191226-050217
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=9.2.0 make.cross ARCH=nds32 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/bluetooth/hci_qca.c: In function 'qca_setup':
>> drivers/bluetooth/hci_qca.c:1346:21: error: assignment to 'void (*)(struct hci_dev *)' from incompatible pointer type 'void (*)(struct hci_uart *)' [-Werror=incompatible-pointer-types]
    1346 |   hdev->cmd_timeout = qca_cmd_timeout;
         |                     ^
   drivers/bluetooth/hci_qca.c:1347:6: error: 'struct qca_data' has no member named 'cmd_timeout_cnt'
    1347 |   qca->cmd_timeout_cnt = 0;
         |      ^~
   In file included from drivers/bluetooth/hci_qca.c:33:
   drivers/bluetooth/hci_qca.c: In function 'qca_cmd_timeout':
   drivers/bluetooth/hci_qca.c:1504:54: error: 'struct qca_data' has no member named 'cmd_timeout_cnt'
    1504 |  BT_ERR("hu %p hci cmd timeout count=0x%x", hu, ++qca->cmd_timeout_cnt);
         |                                                      ^~
   include/net/bluetooth/bluetooth.h:138:45: note: in definition of macro 'BT_ERR'
     138 | #define BT_ERR(fmt, ...) bt_err(fmt "\n", ##__VA_ARGS__)
         |                                             ^~~~~~~~~~~
   drivers/bluetooth/hci_qca.c:1506:9: error: 'struct qca_data' has no member named 'cmd_timeout_cnt'
    1506 |  if (qca->cmd_timeout_cnt >= QCA_MAX_CMD_TIMEOUT_COUNT)
         |         ^~
   cc1: some warnings being treated as errors

vim +1346 drivers/bluetooth/hci_qca.c

  1264	
  1265	static int qca_setup(struct hci_uart *hu)
  1266	{
  1267		struct hci_dev *hdev = hu->hdev;
  1268		struct qca_data *qca = hu->priv;
  1269		struct qca_serdev *qcadev;
  1270		unsigned int speed, qca_baudrate = QCA_BAUDRATE_115200;
  1271		unsigned int init_retry_count = 0;
  1272		enum qca_btsoc_type soc_type = qca_soc_type(hu);
  1273		const char *firmware_name = qca_get_firmware_name(hu);
  1274		int ret;
  1275		int soc_ver = 0;
  1276	
  1277		ret = qca_check_speeds(hu);
  1278		if (ret)
  1279			return ret;
  1280	
  1281		/* Patch downloading has to be done without IBS mode */
  1282		clear_bit(QCA_IBS_ENABLED, &qca->flags);
  1283	
  1284		/* Enable controller to do both LE scan and BR/EDR inquiry
  1285		 * simultaneously.
  1286		 */
  1287		set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
  1288	
  1289	retry:
  1290		if (qca_is_wcn399x(soc_type)) {
  1291			bt_dev_info(hdev, "setting up wcn3990");
  1292	
  1293			/* Enable NON_PERSISTENT_SETUP QUIRK to ensure to execute
  1294			 * setup for every hci up.
  1295			 */
  1296			set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
  1297			set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
  1298			hu->hdev->shutdown = qca_power_off;
  1299			ret = qca_wcn3990_init(hu);
  1300			if (ret)
  1301				return ret;
  1302	
  1303			ret = qca_read_soc_version(hdev, &soc_ver, soc_type);
  1304			if (ret)
  1305				return ret;
  1306		} else {
  1307			bt_dev_info(hdev, "ROME setup");
  1308			if (hu->serdev) {
  1309				/* Enable NON_PERSISTENT_SETUP QUIRK to ensure to
  1310				 * execute setup for every hci up.
  1311				 */
  1312				set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
  1313				hu->hdev->shutdown = qca_power_off;
  1314				qcadev = serdev_device_get_drvdata(hu->serdev);
  1315				gpiod_set_value_cansleep(qcadev->bt_en, 1);
  1316				/* Controller needs time to bootup. */
  1317				msleep(150);
  1318			}
  1319			qca_set_speed(hu, QCA_INIT_SPEED);
  1320		}
  1321	
  1322		/* Setup user speed if needed */
  1323		speed = qca_get_speed(hu, QCA_OPER_SPEED);
  1324		if (speed) {
  1325			ret = qca_set_speed(hu, QCA_OPER_SPEED);
  1326			if (ret)
  1327				return ret;
  1328	
  1329			qca_baudrate = qca_get_baudrate_value(speed);
  1330		}
  1331	
  1332		if (!qca_is_wcn399x(soc_type)) {
  1333			/* Get QCA version information */
  1334			ret = qca_read_soc_version(hdev, &soc_ver, soc_type);
  1335			if (ret)
  1336				return ret;
  1337		}
  1338	
  1339		bt_dev_info(hdev, "QCA controller version 0x%08x", soc_ver);
  1340		/* Setup patch / NVM configurations */
  1341		ret = qca_uart_setup(hdev, qca_baudrate, soc_type, soc_ver,
  1342				firmware_name);
  1343		if (!ret) {
  1344			set_bit(QCA_IBS_ENABLED, &qca->flags);
  1345			qca_debugfs_init(hdev);
> 1346			hdev->cmd_timeout = qca_cmd_timeout;
  1347			qca->cmd_timeout_cnt = 0;
  1348		} else if (ret == -ENOENT) {
  1349			/* No patch/nvm-config found, run with original fw/config */
  1350			ret = 0;
  1351		} else if (ret == -EAGAIN) {
  1352			/*
  1353			 * Userspace firmware loader will return -EAGAIN in case no
  1354			 * patch/nvm-config is found, so run with original fw/config.
  1355			 */
  1356			ret = 0;
  1357		} else {
  1358			if (init_retry_count < QCA_MAX_INIT_RETRY_COUNT) {
  1359				qca_power_off(hdev);
  1360				if (hu->serdev) {
  1361					serdev_device_close(hu->serdev);
  1362					ret = serdev_device_open(hu->serdev);
  1363					if (ret) {
  1364						bt_dev_err(hu->hdev, "open port fail");
  1365						return ret;
  1366					}
  1367				}
  1368				init_retry_count++;
  1369				goto retry;
  1370			}
  1371		}
  1372	
  1373		/* Setup bdaddr */
  1374		if (qca_is_wcn399x(soc_type))
  1375			hu->hdev->set_bdaddr = qca_set_bdaddr;
  1376		else
  1377			hu->hdev->set_bdaddr = qca_set_bdaddr_rome;
  1378	
  1379		return ret;
  1380	}
  1381	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation

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

  reply index

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-25  6:03 [PATCH v1 1/4] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_off() Rocky Liao
2019-12-25  6:03 ` [PATCH v1 2/4] Bluetooth: hci_qca: Retry btsoc initialize when it fails Rocky Liao
2019-12-25  6:03 ` [PATCH v1 3/4] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome Rocky Liao
2019-12-25  6:03 ` [PATCH v1 4/4] Bluetooth: hci_qca: Add HCI command timeout handling Rocky Liao
2019-12-26  3:04   ` kbuild test robot [this message]
2019-12-26  7:46   ` kbuild test robot
2019-12-26 23:33   ` kbuild test robot
2019-12-26  6:45 ` [PATCH v2 1/4] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_off() Rocky Liao
2019-12-26  6:45   ` [PATCH v2 2/4] Bluetooth: hci_qca: Retry btsoc initialize when it fails Rocky Liao
2019-12-26  6:45   ` [PATCH v2 3/4] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome Rocky Liao
2019-12-26 20:30     ` Marcel Holtmann
2019-12-26  6:45   ` [PATCH v2 4/4] Bluetooth: hci_qca: Add HCI command timeout handling Rocky Liao
2019-12-26 20:29     ` Marcel Holtmann
2019-12-27  7:21 ` [PATCH v3 1/4] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_off() Rocky Liao
2019-12-27  7:21   ` [PATCH v3 2/4] Bluetooth: hci_qca: Retry btsoc initialize when it fails Rocky Liao
2020-01-02 18:41     ` Matthias Kaehlcke
2020-01-03  6:31       ` rjliao
2020-01-03 16:27         ` Matthias Kaehlcke
2020-01-07  5:34           ` Rocky Liao
2019-12-27  7:21   ` [PATCH v3 3/4] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome Rocky Liao
2019-12-27  7:21   ` [PATCH v3 4/4] Bluetooth: hci_qca: Add HCI command timeout handling Rocky Liao
2020-01-02 19:07     ` Matthias Kaehlcke
2020-01-03  6:33       ` rjliao
2020-01-03  9:02         ` Rocky Liao
2020-01-15  8:55 ` [PATCH v4 1/3] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown() Rocky Liao
2020-01-15  8:55   ` [PATCH v4 2/3] Bluetooth: hci_qca: Retry btsoc initialize when it fails Rocky Liao
2020-01-15 17:33     ` Matthias Kaehlcke
2020-01-15 21:37     ` Marcel Holtmann
2020-01-15  8:55   ` [PATCH v4 3/3] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome Rocky Liao
2020-01-15 18:02     ` Matthias Kaehlcke
2020-01-15 17:26   ` [PATCH v4 1/3] Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown() Matthias Kaehlcke
2020-01-15 21:37   ` Marcel Holtmann
2020-01-16  3:22 ` [PATCH v5] Bluetooth: hci_qca: Enable power off/on support during hci down/up for QCA Rome Rocky Liao
2020-01-16  5:31   ` Marcel Holtmann

Reply instructions:

You may reply publically 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=201912261030.mn4fqtjt%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=johan.hedberg@gmail.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=rjliao@codeaurora.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

Linux-Bluetooth Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-bluetooth/0 linux-bluetooth/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-bluetooth linux-bluetooth/ https://lore.kernel.org/linux-bluetooth \
		linux-bluetooth@vger.kernel.org
	public-inbox-index linux-bluetooth

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-bluetooth


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git