Re: [PATCH v2 2/3] Bluetooth: hci_qca: Set up Qualcomm WCN399x for Android BQR commands

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Joseph,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on bluetooth-next/master]
[also build test ERROR on next-20210908]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Joseph-Hwang/Bluetooth-btandroid-Support-Android-Bluetooth-Quality-Report/20210908-192118
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: i386-randconfig-f003-20200320 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/0d4d42904b8f0e73fef4d95c76688c57fc7ed7d0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Joseph-Hwang/Bluetooth-btandroid-Support-Android-Bluetooth-Quality-Report/20210908-192118
        git checkout 0d4d42904b8f0e73fef4d95c76688c57fc7ed7d0
        # save the attached .config to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   ld: drivers/bluetooth/hci_qca.o: in function `qca_setup':
>> drivers/bluetooth/hci_qca.c:1734: undefined reference to `btandroid_set_quality_report'


vim +1734 drivers/bluetooth/hci_qca.c

  1693	
  1694	static int qca_setup(struct hci_uart *hu)
  1695	{
  1696		struct hci_dev *hdev = hu->hdev;
  1697		struct qca_data *qca = hu->priv;
  1698		unsigned int speed, qca_baudrate = QCA_BAUDRATE_115200;
  1699		unsigned int retries = 0;
  1700		enum qca_btsoc_type soc_type = qca_soc_type(hu);
  1701		const char *firmware_name = qca_get_firmware_name(hu);
  1702		int ret;
  1703		struct qca_btsoc_version ver;
  1704	
  1705		ret = qca_check_speeds(hu);
  1706		if (ret)
  1707			return ret;
  1708	
  1709		clear_bit(QCA_ROM_FW, &qca->flags);
  1710		/* Patch downloading has to be done without IBS mode */
  1711		set_bit(QCA_IBS_DISABLED, &qca->flags);
  1712	
  1713		/* Enable controller to do both LE scan and BR/EDR inquiry
  1714		 * simultaneously.
  1715		 */
  1716		set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
  1717	
  1718		bt_dev_info(hdev, "setting up %s",
  1719			qca_is_wcn399x(soc_type) ? "wcn399x" :
  1720			(soc_type == QCA_WCN6750) ? "wcn6750" : "ROME/QCA6390");
  1721	
  1722		qca->memdump_state = QCA_MEMDUMP_IDLE;
  1723	
  1724	retry:
  1725		ret = qca_power_on(hdev);
  1726		if (ret)
  1727			goto out;
  1728	
  1729		clear_bit(QCA_SSR_TRIGGERED, &qca->flags);
  1730	
  1731		if (qca_is_wcn399x(soc_type) ||
  1732		    qca_is_wcn6750(soc_type)) {
  1733			set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
> 1734			hdev->set_quality_report = btandroid_set_quality_report;
  1735	
  1736			ret = qca_read_soc_version(hdev, &ver, soc_type);
  1737			if (ret)
  1738				goto out;
  1739		} else {
  1740			qca_set_speed(hu, QCA_INIT_SPEED);
  1741		}
  1742	
  1743		/* Setup user speed if needed */
  1744		speed = qca_get_speed(hu, QCA_OPER_SPEED);
  1745		if (speed) {
  1746			ret = qca_set_speed(hu, QCA_OPER_SPEED);
  1747			if (ret)
  1748				goto out;
  1749	
  1750			qca_baudrate = qca_get_baudrate_value(speed);
  1751		}
  1752	
  1753		if (!(qca_is_wcn399x(soc_type) ||
  1754		     qca_is_wcn6750(soc_type))) {
  1755			/* Get QCA version information */
  1756			ret = qca_read_soc_version(hdev, &ver, soc_type);
  1757			if (ret)
  1758				goto out;
  1759		}
  1760	
  1761		/* Setup patch / NVM configurations */
  1762		ret = qca_uart_setup(hdev, qca_baudrate, soc_type, ver,
  1763				firmware_name);
  1764		if (!ret) {
  1765			clear_bit(QCA_IBS_DISABLED, &qca->flags);
  1766			qca_debugfs_init(hdev);
  1767			hu->hdev->hw_error = qca_hw_error;
  1768			hu->hdev->cmd_timeout = qca_cmd_timeout;
  1769			hu->hdev->prevent_wake = qca_prevent_wake;
  1770		} else if (ret == -ENOENT) {
  1771			/* No patch/nvm-config found, run with original fw/config */
  1772			set_bit(QCA_ROM_FW, &qca->flags);
  1773			ret = 0;
  1774		} else if (ret == -EAGAIN) {
  1775			/*
  1776			 * Userspace firmware loader will return -EAGAIN in case no
  1777			 * patch/nvm-config is found, so run with original fw/config.
  1778			 */
  1779			set_bit(QCA_ROM_FW, &qca->flags);
  1780			ret = 0;
  1781		}
  1782	
  1783	out:
  1784		if (ret && retries < MAX_INIT_RETRIES) {
  1785			bt_dev_warn(hdev, "Retry BT power ON:%d", retries);
  1786			qca_power_shutdown(hu);
  1787			if (hu->serdev) {
  1788				serdev_device_close(hu->serdev);
  1789				ret = serdev_device_open(hu->serdev);
  1790				if (ret) {
  1791					bt_dev_err(hdev, "failed to open port");
  1792					return ret;
  1793				}
  1794			}
  1795			retries++;
  1796			goto retry;
  1797		}
  1798	
  1799		/* Setup bdaddr */
  1800		if (soc_type == QCA_ROME)
  1801			hu->hdev->set_bdaddr = qca_set_bdaddr_rome;
  1802		else
  1803			hu->hdev->set_bdaddr = qca_set_bdaddr;
  1804	
  1805		return ret;
  1806	}
  1807	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux