[PATCH v1] Bluetooth: btintel_pcie:Support Product level reset.

Thorsten Leemhuis linux at leemhuis.info
Wed Apr 15 17:05:52 AEST 2026


On 3/31/26 01:39, kernel test robot wrote:
> Hi Chandrashekar,
> 
> kernel test robot noticed the following build errors:

FWIW, a newer version of this patch hit -next yesterday and caused a
similar build error for me, but only on ppc64le (on Fedora, using the
rawhide config):

"""
> drivers/bluetooth/btintel_pcie.c: In function ‘btintel_pcie_acpi_reset_method’:
> drivers/bluetooth/btintel_pcie.c:2309:14: error: implicit declaration of function ‘acpi_has_method’; did you mean ‘acpi_has_watchdog’? [-Wimplicit-function-declaration]
>  2309 |         if (!acpi_has_method(handle, "_PRR")) {
>       |              ^~~~~~~~~~~~~~~
>       |              acpi_has_watchdog
> make[4]: *** [scripts/Makefile.build:289: drivers/bluetooth/btintel_pcie.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[3]: *** [scripts/Makefile.build:548: drivers/bluetooth] Error 2
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [scripts/Makefile.build:548: drivers] Error 2
> make[1]: *** [/builddir/build/BUILD/kernel-7.1.0-build/kernel-next-20260414/linux-7.1.0-0.0.next.20260414.462.vanilla.fc45.ppc64le/Makefile:2147: .] Error 2
> make: *** [Makefile:256: __sub-make] Error 2
> + exit 1
""""

Full log:
https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/next/fedora-rawhide-ppc64le/10323070-next-next-all/builder-live.log.gz

Ciao, Thorsten


> [auto build test ERROR on bluetooth-next/master]
> [also build test ERROR on next-20260327]
> [cannot apply to bluetooth/master linus/master v7.0-rc6]
> [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/Chandrashekar-Devegowda/Bluetooth-btintel_pcie-Support-Product-level-reset/20260330-190125
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
> patch link:    https://lore.kernel.org/r/20260330063842.1121545-1-chandrashekar.devegowda%40intel.com
> patch subject: [PATCH v1] Bluetooth: btintel_pcie:Support Product level reset.
> config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20260331/202603310744.5WIVh3e6-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/20260331/202603310744.5WIVh3e6-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 at intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202603310744.5WIVh3e6-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>    drivers/bluetooth/btintel_pcie.c: In function 'btintel_pcie_acpi_reset_method':
>>> drivers/bluetooth/btintel_pcie.c:2307:14: error: implicit declaration of function 'acpi_has_method'; did you mean 'acpi_has_watchdog'? [-Wimplicit-function-declaration]
>     2307 |         if (!acpi_has_method(handle, "_PRR")) {
>          |              ^~~~~~~~~~~~~~~
>          |              acpi_has_watchdog
> 
> 
> vim +2307 drivers/bluetooth/btintel_pcie.c
> 
>   2280	
>   2281	static int btintel_pcie_acpi_reset_method(struct btintel_pcie_data *data)
>   2282	{
>   2283		union acpi_object *obj, argv4;
>   2284		acpi_handle handle;
>   2285		int ret;
>   2286		struct pldr_mode {
>   2287			u16	cmd_type;
>   2288			u16	cmd_payload;
>   2289		} __packed;
>   2290	
>   2291		/* set 1 for _PRR mode
>   2292		 * Product Reset (PLDR Abort flow)
>   2293		 */
>   2294		static const struct pldr_mode mode = {
>   2295			.cmd_type = 1,
>   2296			.cmd_payload = BTINTEL_PCIE_DSM_PLDR_MODE_EN_PROD_RESET |
>   2297				       BTINTEL_PCIE_DSM_PLDR_MODE_EN_WIFI_FLR,
>   2298		};
>   2299		struct hci_dev *hdev = data->hdev;
>   2300	
>   2301		handle = ACPI_HANDLE(GET_HCIDEV_DEV(data->hdev));
>   2302		if (!handle) {
>   2303			bt_dev_dbg(data->hdev, "No support for bluetooth device in ACPI firmware");
>   2304			return -EACCES;
>   2305		}
>   2306	
>> 2307		if (!acpi_has_method(handle, "_PRR")) {
>   2308			bt_dev_dbg(data->hdev, "No support for _PRR ACPI method, falling back to FLR");
>   2309			btintel_pcie_reset(data->hdev);
>   2310			return -ENODEV;
>   2311		}
>   2312	
>   2313		argv4.buffer.type = ACPI_TYPE_BUFFER;
>   2314		argv4.buffer.length = sizeof(mode);
>   2315		argv4.buffer.pointer = (void *)&mode;
>   2316	
>   2317		obj = acpi_evaluate_dsm(handle, &btintel_guid_dsm, 0,
>   2318					BTINTEL_PCIE_DSM_DYNAMIC_PLDR, &argv4);
>   2319		if (!obj) {
>   2320			bt_dev_err(data->hdev, "Failed to call dsm to set reset method");
>   2321			return -EIO;
>   2322		}
>   2323		ACPI_FREE(obj);
>   2324	
>   2325		pci_dev_lock(data->pdev);
>   2326		pci_save_state(data->pdev);
>   2327		ret = btintel_acpi_reset_method(hdev);
>   2328		if (ret)
>   2329			bt_dev_err(data->hdev, "ACPI _PRR reset failed (%d),PLDR incomplete",
>   2330				   ret);
>   2331		pci_restore_state(data->pdev);
>   2332		pci_dev_unlock(data->pdev);
>   2333		return ret;
>   2334	}
>   2335	
> 



More information about the Linuxppc-dev mailing list