Message ID | iwlwifi.20200424121518.b715acfbe211.I273a098064a22577e4fca767910fd9cf0013f5cb@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | f92f26f2ed2c9f92c9270c705bca96310c3cdf5a |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v5.7] iwlwifi: pcie: handle QuZ configs with killer NICs as well | expand |
Hi [This is an automated email] This commit has been processed because it contains a "Fixes:" tag fixing commit: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices"). The bot has tested the following trees: v5.6.7, v5.4.35. v5.6.7: Failed to apply! Possible dependencies: 32ed101aa140 ("iwlwifi: convert all Qu with Jf devices to the new config table") 56ba371a5288 ("iwlwifi: move the remaining 0x2526 configs to the new table") 5e003982b07a ("iwlwifi: move AX200 devices to the new table") 67eb556da609 ("iwlwifi: combine 9260 cfgs that only change names") 95939551e28c ("iwlwifi: add GNSS differentiation to the device tables") d6f2134a3831 ("iwlwifi: add mac/rf types and 160MHz to the device tables") fe25b1518f72 ("iwlwifi: move TH1 devices to the new table") v5.4.35: Failed to apply! Possible dependencies: 32ed101aa140 ("iwlwifi: convert all Qu with Jf devices to the new config table") 3681021fc6af ("iwlwifi: remove IWL_DEVICE_22560/IWL_DEVICE_FAMILY_22560") 3b589d5624ce ("iwlwifi: dbg_ini: use new trigger TLV in dump flow") 593fae3e5e90 ("iwlwifi: dbg_ini: add monitor dumping support") 69f0e5059b09 ("iwlwifi: dbg: remove multi buffers infra") bfc3e9fdbfb8 ("iwlwifi: 22000: fix some indentation") c042f0c77f3d ("iwlwifi: allocate more receive buffers for HE devices") c9fe75e9f347 ("iwlwifi: dbg_ini: use new region TLV in dump flow") NOTE: The patch will not be queued to stable trees until it is upstream. How should we proceed with this patch?
Hi Luca, I have backported this to Ubuntu kernels in my ppa[1], and it doesn't really fix firmware crash on Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW), REV=0x354 [8086:a0f0] subsystem id [1a56:1651]. [1]: https://launchpad.net/~vicamo/+archive/ubuntu/ppa-1874685 You-Sheng Yang On 2020-04-24 17:20, Luca Coelho wrote: > From: Luca Coelho <luciano.coelho@intel.com> > > The killer devices were left out of the checks that convert Qu-B0 to > QuZ configurations. Add them. > > Cc: stable@vger.kernel.org # v5.3+ > Fixes: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices") > Signed-off-by: Luca Coelho <luciano.coelho@intel.com> > --- > drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > index 6744c0281ffb..29971c25dba4 100644 > --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c > @@ -1092,6 +1092,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > iwl_trans->cfg = &iwl_ax101_cfg_quz_hr; > else if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr) > iwl_trans->cfg = &iwl_ax201_cfg_quz_hr; > + else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) > + iwl_trans->cfg = &iwl_ax1650s_cfg_quz_hr; > + else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) > + iwl_trans->cfg = &iwl_ax1650i_cfg_quz_hr; > } > > #endif >
Hi, I also bumped into this error when back porting this patch. $ git log --graph --oneline --decorate=no \ ubuntu/focal korg/master \ -- drivers/net/wireless/intel/iwlwifi/pcie/drv.c * d28fb205177d iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg * f2e49f9481d3 iwlwifi: remove some outdated iwl22000 configurations * ea07f3d33270 iwlwifi: allocate more receive buffers for HE devices * 768a892b00b7 Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" | * fafa7424ba7d Merge tag 'iwlwifi-next-for-kalle-2020-01-11' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next | |\ | | * 0b295a1eb81f iwlwifi: add device name to device_info | | * 2a612a60ab44 iwlwifi: implement a new device configuration table | | * b3bd6416fc77 iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg | | * 6dece0e99faa iwlwifi: remove CSR registers abstraction | | * b81b7bd02eda iwlwifi: remove some outdated iwl22000 configurations | | * c042f0c77f3d iwlwifi: allocate more receive buffers for HE devices | |/ |/| | * db5cce1afc8d Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" |/ * 17c216ed6b9e iwlwifi: pcie: 0x2720 is qu and 0x30DC is not d28fb205177d: ubuntu/focal fafa7424ba7d: korg/master And we have file difference: ============================= $ git diff ubuntu/focal korg/master \ -- drivers/net/wireless/intel/iwlwifi/pcie/drv.c ...... @@ -1125,17 +1145,17 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) /* same thing for QuZ... */ if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QUZ) { if (cfg == &iwl_ax101_cfg_qu_hr) - iwl_trans->cfg = &iwl_ax101_cfg_quz_hr; + cfg = &iwl_ax101_cfg_quz_hr; else if (cfg == &iwl_ax201_cfg_qu_hr) - iwl_trans->cfg = &iwl_ax201_cfg_quz_hr; + cfg = &iwl_ax201_cfg_quz_hr; else if (cfg == &iwl9461_2ac_cfg_qu_b0_jf_b0) - iwl_trans->cfg = &iwl9461_2ac_cfg_quz_a0_jf_b0_soc; + cfg = &iwl9461_2ac_cfg_quz_a0_jf_b0_soc; else if (cfg == &iwl9462_2ac_cfg_qu_b0_jf_b0) - iwl_trans->cfg = &iwl9462_2ac_cfg_quz_a0_jf_b0_soc; + cfg = &iwl9462_2ac_cfg_quz_a0_jf_b0_soc; else if (cfg == &iwl9560_2ac_cfg_qu_b0_jf_b0) - iwl_trans->cfg = &iwl9560_2ac_cfg_quz_a0_jf_b0_soc; + cfg = &iwl9560_2ac_cfg_quz_a0_jf_b0_soc; else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) - iwl_trans->cfg = &iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc; + cfg = &iwl9560_2ac_160_cfg_quz_a0_jf_b0_soc; } #endif ===================================== It seems there is a merge error in upstream merge commit fafa7424ba7d, that it confused the meaning in commit db5cce1afc8d and b3bd6416fc77. How do you think? Ubuntu Focal kernel: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal You-Sheng Yang On 2020-04-26 23:03, Sasha Levin wrote: > Hi > > [This is an automated email] > > This commit has been processed because it contains a "Fixes:" tag > fixing commit: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices"). > > The bot has tested the following trees: v5.6.7, v5.4.35. > > v5.6.7: Failed to apply! Possible dependencies: > 32ed101aa140 ("iwlwifi: convert all Qu with Jf devices to the new config table") > 56ba371a5288 ("iwlwifi: move the remaining 0x2526 configs to the new table") > 5e003982b07a ("iwlwifi: move AX200 devices to the new table") > 67eb556da609 ("iwlwifi: combine 9260 cfgs that only change names") > 95939551e28c ("iwlwifi: add GNSS differentiation to the device tables") > d6f2134a3831 ("iwlwifi: add mac/rf types and 160MHz to the device tables") > fe25b1518f72 ("iwlwifi: move TH1 devices to the new table") > > v5.4.35: Failed to apply! Possible dependencies: > 32ed101aa140 ("iwlwifi: convert all Qu with Jf devices to the new config table") > 3681021fc6af ("iwlwifi: remove IWL_DEVICE_22560/IWL_DEVICE_FAMILY_22560") > 3b589d5624ce ("iwlwifi: dbg_ini: use new trigger TLV in dump flow") > 593fae3e5e90 ("iwlwifi: dbg_ini: add monitor dumping support") > 69f0e5059b09 ("iwlwifi: dbg: remove multi buffers infra") > bfc3e9fdbfb8 ("iwlwifi: 22000: fix some indentation") > c042f0c77f3d ("iwlwifi: allocate more receive buffers for HE devices") > c9fe75e9f347 ("iwlwifi: dbg_ini: use new region TLV in dump flow") > > > NOTE: The patch will not be queued to stable trees until it is upstream. > > How should we proceed with this patch? >
[update] With that cfg/iwl_trans->cfg usage corrected, this patch brings Killer series back to live. Thank you. Tested-by: You-Sheng Yang <vicamo@gmail.com> On 2020-04-27 14:50, You-Sheng Yang wrote: > Hi Luca, > > I have backported this to Ubuntu kernels in my ppa[1], and it doesn't > really fix firmware crash on Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless > Network Adapter (201NGW), REV=0x354 [8086:a0f0] subsystem id [1a56:1651]. > > [1]: https://launchpad.net/~vicamo/+archive/ubuntu/ppa-1874685 > > You-Sheng Yang > > On 2020-04-24 17:20, Luca Coelho wrote: >> From: Luca Coelho <luciano.coelho@intel.com> >> >> The killer devices were left out of the checks that convert Qu-B0 to >> QuZ configurations. Add them. >> >> Cc: stable@vger.kernel.org # v5.3+ >> Fixes: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices") >> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> >> --- >> drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> index 6744c0281ffb..29971c25dba4 100644 >> --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> @@ -1092,6 +1092,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) >> iwl_trans->cfg = &iwl_ax101_cfg_quz_hr; >> else if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr) >> iwl_trans->cfg = &iwl_ax201_cfg_quz_hr; >> + else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) >> + iwl_trans->cfg = &iwl_ax1650s_cfg_quz_hr; >> + else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) >> + iwl_trans->cfg = &iwl_ax1650i_cfg_quz_hr; >> } >> >> #endif >> >
On Mon, 2020-04-27 at 14:50 +0800, You-Sheng Yang wrote: > Hi Luca, > > I have backported this to Ubuntu kernels in my ppa[1], and it doesn't > really fix firmware crash on Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless > Network Adapter (201NGW), REV=0x354 [8086:a0f0] subsystem id [1a56:1651]. > > [1]: https://launchpad.net/~vicamo/+archive/ubuntu/ppa-1874685 Thanks for reporting, You-Sheng! What is the crash that you are seeing? The same one during INIT? Please note that on v5.6 the code is slightly different, so you need to use cfg instead of iwl_trans->cfg. -- Luca.
On Mon, 2020-04-27 at 15:16 +0300, Luca Coelho wrote: > On Mon, 2020-04-27 at 14:50 +0800, You-Sheng Yang wrote: > > Hi Luca, > > > > I have backported this to Ubuntu kernels in my ppa[1], and it doesn't > > really fix firmware crash on Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless > > Network Adapter (201NGW), REV=0x354 [8086:a0f0] subsystem id [1a56:1651]. > > > > [1]: https://launchpad.net/~vicamo/+archive/ubuntu/ppa-1874685 > > Thanks for reporting, You-Sheng! > > What is the crash that you are seeing? The same one during INIT? > > Please note that on v5.6 the code is slightly different, so you need to > use cfg instead of iwl_trans->cfg. Oops, sorry, this was stuck in my outbox. I see that you have already made this change and clarified that it solves the issue. Thanks! -- Luca.
Luca Coelho <luca@coelho.fi> wrote: > From: Luca Coelho <luciano.coelho@intel.com> > > The killer devices were left out of the checks that convert Qu-B0 to > QuZ configurations. Add them. > > Cc: stable@vger.kernel.org # v5.3+ > Fixes: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices") > Signed-off-by: Luca Coelho <luciano.coelho@intel.com> > Tested-by: You-Sheng Yang <vicamo@gmail.com> Patch applied to wireless-drivers.git, thanks. f92f26f2ed2c iwlwifi: pcie: handle QuZ configs with killer NICs as well
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index 6744c0281ffb..29971c25dba4 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -1092,6 +1092,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) iwl_trans->cfg = &iwl_ax101_cfg_quz_hr; else if (iwl_trans->cfg == &iwl_ax201_cfg_qu_hr) iwl_trans->cfg = &iwl_ax201_cfg_quz_hr; + else if (iwl_trans->cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) + iwl_trans->cfg = &iwl_ax1650s_cfg_quz_hr; + else if (iwl_trans->cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) + iwl_trans->cfg = &iwl_ax1650i_cfg_quz_hr; } #endif