]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: iwlwifi: pcie: fix ACPI DSM check
authorJohannes Berg <johannes.berg@intel.com>
Tue, 12 May 2026 05:22:53 +0000 (08:22 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Tue, 26 May 2026 12:17:10 +0000 (15:17 +0300)
The acpi_check_dsm() function expects a bitmap of function
IDs to check for, not a single value. Evidently, on many
platforms function 1 exists so checking for 2 succeeded,
but it's wrong, we need to check correctly for function 2.
Fix that.

Reported-by: Jeremy Compostella <jeremy.compostella@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20260512082114.81c4022ae602.Id3f575944ee6b87634cfb976d7334eac227d18a6@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c

index 377b2e30b540c191547772f726e548e4aa55ff1a..9f4c99dca1952a3b52c4c9a4466162d3ddd6f714 100644 (file)
@@ -2044,7 +2044,7 @@ iwl_trans_pcie_call_prod_reset_dsm(struct pci_dev *pdev, u16 cmd, u16 value)
                                                 0xDD, 0x26, 0xB5, 0xFD);
 
        if (!acpi_check_dsm(ACPI_HANDLE(&pdev->dev), &dsm_guid, ACPI_DSM_REV,
-                           DSM_INTERNAL_FUNC_PRODUCT_RESET))
+                           BIT(DSM_INTERNAL_FUNC_PRODUCT_RESET)))
                return ERR_PTR(-ENODEV);
 
        return iwl_acpi_get_dsm_object(&pdev->dev, ACPI_DSM_REV,