[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