lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202602100332.6QKGVLHq-lkp@intel.com>
Date: Tue, 10 Feb 2026 03:11:18 +0800
From: kernel test robot <lkp@...el.com>
To: Vivek Sahu <vivek.sahu@....qualcomm.com>,
	Marcel Holtmann <marcel@...tmann.org>,
	Luiz Augusto von Dentz <luiz.dentz@...il.com>,
	Rob Herring <robh@...nel.org>,
	Krzysztof Kozlowski <krzk@...nel.org>,
	Conor Dooley <conor+dt@...nel.org>,
	Bartosz Golaszewski <brgl@...nel.org>,
	Balakrishna Godavarthi <quic_bgodavar@...cinc.com>,
	Rocky Liao <quic_rjliao@...cinc.com>
Cc: oe-kbuild-all@...ts.linux.dev, quic_mohamull@...cinc.com,
	quic_hbandi@...cinc.com, linux-bluetooth@...r.kernel.org,
	devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-arm-msm@...r.kernel.org,
	Vivek Sahu <vivek.sahu@....qualcomm.com>
Subject: Re: [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support

Hi Vivek,

kernel test robot noticed the following build warnings:

[auto build test WARNING on bluetooth/master]
[also build test WARNING on robh/for-next linus/master v6.19]
[cannot apply to bluetooth-next/master next-20260205]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Vivek-Sahu/Bluetooth-qca-add-QCC2072-support/20260209-150905
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
patch link:    https://lore.kernel.org/r/20260209070356.187301-2-vivek.sahu%40oss.qualcomm.com
patch subject: [PATCH v2 2/2] Bluetooth: qca: add QCC2072 support
config: alpha-allmodconfig (https://download.01.org/0day-ci/archive/20260210/202602100332.6QKGVLHq-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260210/202602100332.6QKGVLHq-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602100332.6QKGVLHq-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/bluetooth/btqca.c: In function 'qca_uart_setup':
>> drivers/bluetooth/btqca.c:828:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
     828 |                         snprintf(config.fwname, sizeof(config.fwname),
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     829 |                                  "qca/ornbtfw%02x.tlv", rom_ver);
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/bluetooth/btqca.c:830:17: note: here
     830 |                 case QCA_WCN3950:
         |                 ^~~~


vim +828 drivers/bluetooth/btqca.c

   782	
   783	int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
   784			   enum qca_btsoc_type soc_type, struct qca_btsoc_version ver,
   785			   const char *firmware_name, const char *rampatch_name)
   786	{
   787		struct qca_fw_config config = {};
   788		const char *variant = "";
   789		int err;
   790		u8 rom_ver = 0;
   791		u32 soc_ver;
   792		u16 boardid = 0;
   793	
   794		bt_dev_dbg(hdev, "QCA setup on UART");
   795	
   796		soc_ver = get_soc_ver(ver.soc_id, ver.rom_ver);
   797	
   798		bt_dev_info(hdev, "QCA controller version 0x%08x", soc_ver);
   799	
   800		config.user_baud_rate = baudrate;
   801	
   802		/* Firmware files to download are based on ROM version.
   803		 * ROM version is derived from last two bytes of soc_ver.
   804		 */
   805		if (soc_type == QCA_WCN3988)
   806			rom_ver = ((soc_ver & 0x00000f00) >> 0x05) | (soc_ver & 0x0000000f);
   807		else
   808			rom_ver = ((soc_ver & 0x00000f00) >> 0x04) | (soc_ver & 0x0000000f);
   809	
   810		if (soc_type == QCA_WCN6750)
   811			qca_send_patch_config_cmd(hdev);
   812	
   813		/* Download rampatch file */
   814		config.type = TLV_TYPE_PATCH;
   815		if (rampatch_name) {
   816			snprintf(config.fwname, sizeof(config.fwname), "qca/%s", rampatch_name);
   817		} else {
   818			switch (soc_type) {
   819			case QCA_QCA2066:
   820				snprintf(config.fwname, sizeof(config.fwname),
   821					 "qca/hpbtfw%02x.tlv", rom_ver);
   822				break;
   823			case QCA_QCA6390:
   824				snprintf(config.fwname, sizeof(config.fwname),
   825					 "qca/htbtfw%02x.tlv", rom_ver);
   826				break;
   827			case QCA_QCC2072:
 > 828				snprintf(config.fwname, sizeof(config.fwname),
   829					 "qca/ornbtfw%02x.tlv", rom_ver);
   830			case QCA_WCN3950:
   831				snprintf(config.fwname, sizeof(config.fwname),
   832					 "qca/cmbtfw%02x.tlv", rom_ver);
   833				break;
   834			case QCA_WCN3990:
   835			case QCA_WCN3991:
   836			case QCA_WCN3998:
   837				snprintf(config.fwname, sizeof(config.fwname),
   838					 "qca/crbtfw%02x.tlv", rom_ver);
   839				break;
   840			case QCA_WCN3988:
   841				snprintf(config.fwname, sizeof(config.fwname),
   842					 "qca/apbtfw%02x.tlv", rom_ver);
   843				break;
   844			case QCA_WCN6750:
   845				/* Choose mbn file by default.If mbn file is not found
   846				 * then choose tlv file
   847				 */
   848				config.type = ELF_TYPE_PATCH;
   849				snprintf(config.fwname, sizeof(config.fwname),
   850					 "qca/msbtfw%02x.mbn", rom_ver);
   851				break;
   852			case QCA_WCN6855:
   853				snprintf(config.fwname, sizeof(config.fwname),
   854					 "qca/hpbtfw%02x.tlv", rom_ver);
   855				break;
   856			case QCA_WCN7850:
   857				snprintf(config.fwname, sizeof(config.fwname),
   858					 "qca/hmtbtfw%02x.tlv", rom_ver);
   859				break;
   860			default:
   861				snprintf(config.fwname, sizeof(config.fwname),
   862					 "qca/rampatch_%08x.bin", soc_ver);
   863			}
   864		}
   865	
   866		err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
   867		if (err < 0) {
   868			bt_dev_err(hdev, "QCA Failed to download patch (%d)", err);
   869			return err;
   870		}
   871	
   872		/* Give the controller some time to get ready to receive the NVM */
   873		msleep(10);
   874	
   875		if (soc_type == QCA_QCA2066 || soc_type == QCA_WCN7850)
   876			qca_read_fw_board_id(hdev, &boardid);
   877	
   878		/* Download NVM configuration */
   879		config.type = TLV_TYPE_NVM;
   880		if (firmware_name) {
   881			/* The firmware name has an extension, use it directly */
   882			if (qca_filename_has_extension(firmware_name)) {
   883				snprintf(config.fwname, sizeof(config.fwname), "qca/%s", firmware_name);
   884			} else {
   885				qca_read_fw_board_id(hdev, &boardid);
   886				qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname),
   887					 firmware_name, soc_type, ver, 0, boardid);
   888			}
   889		} else {
   890			switch (soc_type) {
   891			case QCA_QCA2066:
   892				qca_get_nvm_name_by_board(config.fwname,
   893					sizeof(config.fwname), "hpnv", soc_type, ver,
   894					rom_ver, boardid);
   895				break;
   896			case QCA_QCA6390:
   897				snprintf(config.fwname, sizeof(config.fwname),
   898					 "qca/htnv%02x.bin", rom_ver);
   899				break;
   900			case QCA_QCC2072:
   901				snprintf(config.fwname, sizeof(config.fwname),
   902					 "qca/ornnv%02x.bin", rom_ver);
   903				break;
   904			case QCA_WCN3950:
   905				if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_T)
   906					variant = "t";
   907				else if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_S)
   908					variant = "s";
   909	
   910				snprintf(config.fwname, sizeof(config.fwname),
   911					 "qca/cmnv%02x%s.bin", rom_ver, variant);
   912				break;
   913			case QCA_WCN3990:
   914			case QCA_WCN3991:
   915			case QCA_WCN3998:
   916				if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID)
   917					variant = "u";
   918	
   919				snprintf(config.fwname, sizeof(config.fwname),
   920					 "qca/crnv%02x%s.bin", rom_ver, variant);
   921				break;
   922			case QCA_WCN3988:
   923				snprintf(config.fwname, sizeof(config.fwname),
   924					 "qca/apnv%02x.bin", rom_ver);
   925				break;
   926			case QCA_WCN6750:
   927				snprintf(config.fwname, sizeof(config.fwname),
   928					 "qca/msnv%02x.bin", rom_ver);
   929				break;
   930			case QCA_WCN6855:
   931				qca_read_fw_board_id(hdev, &boardid);
   932				qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname),
   933							  "hpnv", soc_type, ver, rom_ver, boardid);
   934				break;
   935			case QCA_WCN7850:
   936				qca_get_nvm_name_by_board(config.fwname, sizeof(config.fwname),
   937					 "hmtnv", soc_type, ver, rom_ver, boardid);
   938				break;
   939			default:
   940				snprintf(config.fwname, sizeof(config.fwname),
   941					 "qca/nvm_%08x.bin", soc_ver);
   942			}
   943		}
   944	
   945		err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
   946		if (err < 0) {
   947			bt_dev_err(hdev, "QCA Failed to download NVM (%d)", err);
   948			return err;
   949		}
   950	
   951		switch (soc_type) {
   952		case QCA_WCN3991:
   953		case QCA_QCA2066:
   954		case QCA_QCA6390:
   955		case QCA_WCN6750:
   956		case QCA_WCN6855:
   957		case QCA_WCN7850:
   958			err = qca_disable_soc_logging(hdev);
   959			if (err < 0)
   960				return err;
   961			break;
   962		default:
   963			break;
   964		}
   965	
   966		/* WCN399x and WCN6750 supports the Microsoft vendor extension with 0xFD70 as the
   967		 * VsMsftOpCode.
   968		 */
   969		switch (soc_type) {
   970		case QCA_WCN3950:
   971		case QCA_WCN3988:
   972		case QCA_WCN3990:
   973		case QCA_WCN3991:
   974		case QCA_WCN3998:
   975		case QCA_WCN6750:
   976			hci_set_msft_opcode(hdev, 0xFD70);
   977			break;
   978		default:
   979			break;
   980		}
   981	
   982		/* Perform HCI reset */
   983		err = qca_send_reset(hdev);
   984		if (err < 0) {
   985			bt_dev_err(hdev, "QCA Failed to run HCI_RESET (%d)", err);
   986			return err;
   987		}
   988	
   989		switch (soc_type) {
   990		case QCA_WCN3991:
   991		case QCA_WCN6750:
   992		case QCA_WCN6855:
   993		case QCA_WCN7850:
   994			/* get fw build info */
   995			err = qca_read_fw_build_info(hdev);
   996			if (err < 0)
   997				return err;
   998			break;
   999		default:
  1000			break;
  1001		}
  1002	
  1003		err = qca_check_bdaddr(hdev, &config);
  1004		if (err)
  1005			return err;
  1006	
  1007		bt_dev_info(hdev, "QCA setup on UART is completed");
  1008	
  1009		return 0;
  1010	}
  1011	EXPORT_SYMBOL_GPL(qca_uart_setup);
  1012	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ