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

Larry Finger
2016-02-18T02:31:43Z

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@lwfinger.net>
>>>
>>> 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@lwfinger.net>
>>> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
>>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>>
>>> ---
>>> 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