[<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