RE: [REGRESSION] iwlwifi IO_PAGE_FAULT and Master Disable Timed Out
"Korenblit, Miriam Rachel" <[email protected]> Sun, 2 Aug 2026 07:24:04 +0000
| Newsgroups | org.kernel.vger.linux-wireless,dev.linux.lists.regressions |
|---|---|
| Message-ID | <DS0PR11MB78800B96A0FE637DC5390E4AA3D62@DS0PR11MB7880.namprd11.prod.outlook.com> |
> -----Original Message----- > From: Chris Bainbridge <[email protected]> > Sent: Friday, July 31, 2026 8:05 PM > To: Grumbach, Emmanuel <[email protected]> > Cc: Berg, Johannes <[email protected]>; Korenblit, Miriam Rachel > <[email protected]>; [email protected]; > [email protected] > Subject: [REGRESSION] iwlwifi IO_PAGE_FAULT and Master Disable Timed Out > > Hi, > > 0eaa1f245ac0 ("wifi: iwlwifi: mvm: don't support the reset handshake for old > firmwares") introduced an intermittent boot regression on my laptop: > > [ 15.974991] iwlwifi 0000:01:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT > domain=0x000a address=0xbe9f5000 flags=0x0000] > [ 15.976184] iwlwifi 0000:01:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT > domain=0x000a address=0xbe9f5400 flags=0x0000] > [ 15.978501] iwlwifi 0000:01:00.0: Master Disable Timed Out, 100 usec > > The commit only contains: > > + /* Those firmware versions claim to support the fw_reset_handshake > + * but they are buggy. > + */ > + if (IWL_UCODE_MAJOR(mvm->fw->ucode_ver) <= 77) > + trans->conf.fw_reset_handshake = false; > > The if condition is evaluating true on my laptop despite using firmware ty-a0-gf- > a0-89.ucode. So I suspect this is not the correct way to check the firmware > version? Yes, seems like you are right. Thanks for the report! I am attaching a fix candidate, I'd appreciate if you could test it. > > Also comment #21 on bugzilla.kernel.org bug #220600 (which this commit was > supposed to fix) reports the same "Master Disable Timed Out" error (although no > IO_PAGE_FAULTS, probably the bad memory access is not caught without > iommu=strict). > > #regzbot introduced: 0eaa1f245ac03ed0c6394159360532726f666811
0001-wifi-iwlwifi-mvm-properly-check-the-FW-version.patch
(application/octet-stream, 1.8 KB)
From 825098f2de2bc63e5ce180213d9fad040f644fb2 Mon Sep 17 00:00:00 2001 From: Miri Korenblit <[email protected]> Date: Sun, 2 Aug 2026 10:16:13 +0300 Subject: [PATCH] wifi: iwlwifi: mvm: properly check the FW version Organization: Intel Israel (74) Limited The mentioned commit aimed to disable fw reset handshake for FWs which their API version is less than 77. But the check is incorrect: in the old format, we should use IWL_UCODE_API, and for the new TLV format - fw.ucode_ver. Since iwlmvm handles only FWs with the new format, we can always use here fw.ucode_ver. Signed-off-by: Miri Korenblit <[email protected]> --- drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c index 2297392db955..7e45808da5b3 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -1412,15 +1412,13 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_rf_cfg *cfg, sizeof(mvm->hw->wiphy->fw_version), "%.31s", fw->fw_version); - trans->conf.fw_reset_handshake = - fw_has_capa(&mvm->fw->ucode_capa, - IWL_UCODE_TLV_CAPA_FW_RESET_HANDSHAKE); - - /* Those firmware versions claim to support the fw_reset_handshake + /* Some firmware versions claim to support the fw_reset_handshake * but they are buggy. */ - if (IWL_UCODE_MAJOR(mvm->fw->ucode_ver) <= 77) - trans->conf.fw_reset_handshake = false; + trans->conf.fw_reset_handshake = + fw_has_capa(&mvm->fw->ucode_capa, + IWL_UCODE_TLV_CAPA_FW_RESET_HANDSHAKE) && + mvm->fw->ucode_ver > 77; trans->conf.queue_alloc_cmd_ver = iwl_fw_lookup_cmd_ver(mvm->fw, -- 2.34.1