Re: [PATCH 4.4 112/117] rtlwifi: rtl8821ae: Fix errors in parameter initialization

From: Larry Finger
Date: Wed Feb 17 2016 - 21:31:45 EST


On 02/16/2016 02:21 PM, Luis Henriques wrote:
On Tue, Feb 16, 2016 at 06:46:04PM +0000, Ben Hutchings wrote:
On Sun, 2016-02-14 at 14:22 -0800, Greg Kroah-Hartman wrote:

4.4-stable review patch. If anyone has any objections, please let me know.

------------------

From: Larry Finger <Larry.Finger@xxxxxxxxxxxx>

commit 78bae1de422a7f6f2b4b61f6a5c379e3d7f96f44 upstream.

This driver failed to copy parameters sw_crypto and disable_watchdog into
the locations actually used by the driver. In addition, msi_support was
initialized three times and one of them used the wrong variable. The
initialization of parameter int_clear was moved so that it is near that
of the rest of the parameters.

Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
[...]
@@ -168,12 +166,15 @@ int rtl8821ae_init_sw_vars(struct ieee80
rtlpriv->psc.swctrl_lps = rtlpriv->cfg->mod_params->swctrl_lps;
rtlpriv->psc.fwctrl_lps = rtlpriv->cfg->mod_params->fwctrl_lps;
rtlpci->msi_support = rtlpriv->cfg->mod_params->msi_support;
- rtlpci->msi_support = rtlpriv->cfg->mod_params->int_clear;
+ rtlpci->int_clear = rtlpriv->cfg->mod_params->int_clear;
+ rtlpriv->cfg->mod_params->sw_crypto =
+ rtlpriv->cfg->mod_params->sw_crypto;
+ rtlpriv->cfg->mod_params->disable_watchdog =
+ rtlpriv->cfg->mod_params->disable_watchdog;
[...]

This is self-assignment. How is that going to help?


Yeah, I did asked that question on the original patchset[1] but never
actually got any reply.

[1] https://marc.info/?l=linux-wireless&m=145437005409037&w=2

Cheers,
--
Luís

Ben.

--
Ben Hutchings
Life is what happens to you while you're busy making other plans.
- John Lennon

It is not going to help. I found some places in the drivers where the module parameters were not being transferred to their final locations. While fixing them, I add this atrocious code. It was a case of having a new hammer, and the whole world looked like a nail. As the original patches were being sent through stable, I did not send remedial patches immediately so as not to generate any confusion. I think these have now propagated through the system, and I will remove those self-assignment lines of code.

Larry