2018-02-07 20:28:44

by Matthias Kaehlcke

[permalink] [raw]
Subject: [PATCH] rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c

In _rtl92c_get_txpower_writeval_by_regulatory() the variable writeVal
is assigned to itself in an if ... else statement, apparently only to
document that the branch condition is handled and that a previously read
value should be returned unmodified. The self-assignment causes clang to
raise the following warning:

drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c:304:13:
error: explicitly assigning value of variable of type 'u32'
(aka 'unsigned int') to itself [-Werror,-Wself-assign]
writeVal = writeVal;

Replace the self-assignment with a semicolon, which still serves to
document the 'handling' of the branch condition.

Signed-off-by: Matthias Kaehlcke <[email protected]>
---
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
index 9cff6bc4049c..4db92496c122 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
@@ -301,7 +301,7 @@ static void _rtl92c_get_txpower_writeval_by_regulatory(struct ieee80211_hw *hw,
writeVal = writeVal - 0x06060606;
else if (rtlpriv->dm.dynamic_txhighpower_lvl ==
TXHIGHPWRLEVEL_BT2)
- writeVal = writeVal;
+ ;
*(p_outwriteval + rf) = writeVal;
}
}
--
2.16.0.rc1.238.g530d649a79-goog



2018-02-07 20:36:54

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c

On 02/07/2018 02:26 PM, Matthias Kaehlcke wrote:
> In _rtl92c_get_txpower_writeval_by_regulatory() the variable writeVal
> is assigned to itself in an if ... else statement, apparently only to
> document that the branch condition is handled and that a previously read
> value should be returned unmodified. The self-assignment causes clang to
> raise the following warning:
>
> drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c:304:13:
> error: explicitly assigning value of variable of type 'u32'
> (aka 'unsigned int') to itself [-Werror,-Wself-assign]
> writeVal = writeVal;
>
> Replace the self-assignment with a semicolon, which still serves to
> document the 'handling' of the branch condition.
>
> Signed-off-by: Matthias Kaehlcke <[email protected]>
> ---
> drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> index 9cff6bc4049c..4db92496c122 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> @@ -301,7 +301,7 @@ static void _rtl92c_get_txpower_writeval_by_regulatory(struct ieee80211_hw *hw,
> writeVal = writeVal - 0x06060606;
> else if (rtlpriv->dm.dynamic_txhighpower_lvl ==
> TXHIGHPWRLEVEL_BT2)
> - writeVal = writeVal;
> + ;
> *(p_outwriteval + rf) = writeVal;
> }
> }
>

As the branch condition does nothing, why not remove it and save the compiler's
optimizer a bit of work? The code looks strange, but it matches the rest of
Realtek's USB drivers.

Larry


2018-02-07 20:52:31

by Matthias Kaehlcke

[permalink] [raw]
Subject: Re: [PATCH] rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c

El Wed, Feb 07, 2018 at 02:35:59PM -0600 Larry Finger ha dit:

> On 02/07/2018 02:26 PM, Matthias Kaehlcke wrote:
> > In _rtl92c_get_txpower_writeval_by_regulatory() the variable writeVal
> > is assigned to itself in an if ... else statement, apparently only to
> > document that the branch condition is handled and that a previously read
> > value should be returned unmodified. The self-assignment causes clang to
> > raise the following warning:
> >
> > drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c:304:13:
> > error: explicitly assigning value of variable of type 'u32'
> > (aka 'unsigned int') to itself [-Werror,-Wself-assign]
> > writeVal = writeVal;
> >
> > Replace the self-assignment with a semicolon, which still serves to
> > document the 'handling' of the branch condition.
> >
> > Signed-off-by: Matthias Kaehlcke <[email protected]>
> > ---
> > drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> > index 9cff6bc4049c..4db92496c122 100644
> > --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> > +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> > @@ -301,7 +301,7 @@ static void _rtl92c_get_txpower_writeval_by_regulatory(struct ieee80211_hw *hw,
> > writeVal = writeVal - 0x06060606;
> > else if (rtlpriv->dm.dynamic_txhighpower_lvl ==
> > TXHIGHPWRLEVEL_BT2)
> > - writeVal = writeVal;
> > + ;
> > *(p_outwriteval + rf) = writeVal;
> > }
> > }
> >
>
> As the branch condition does nothing, why not remove it and save the
> compiler's optimizer a bit of work? The code looks strange, but it matches
> the rest of Realtek's USB drivers.

Sure, I am happy to change it to whatever the authors/maintainers prefer.

I'll wait a bit before respinning for if others feel strongly about
keeping the branch.

2018-02-08 01:07:56

by Ping-Ke Shih

[permalink] [raw]
Subject: Re: [PATCH] rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c

On Wed, 2018-02-07 at 12:51 -0800, Matthias Kaehlcke wrote:
> El Wed, Feb 07, 2018 at 02:35:59PM -0600 Larry Finger ha dit:
>
> > On 02/07/2018 02:26 PM, Matthias Kaehlcke wrote:
> > > In _rtl92c_get_txpower_writeval_by_regulatory() the variable writeVal
> > > is assigned to itself in an if ... else statement, apparently only to
> > > document that the branch condition is handled and that a previously read
> > > value should be returned unmodified. The self-assignment causes clang to
> > > raise the following warning:
> > > 
> > > drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c:304:13:
> > >    error: explicitly assigning value of variable of type 'u32'
> > >      (aka 'unsigned int') to itself [-Werror,-Wself-assign]
> > >    writeVal = writeVal;
> > > 
> > > Replace the self-assignment with a semicolon, which still serves to
> > > document the 'handling' of the branch condition.
> > > 
> > > Signed-off-by: Matthias Kaehlcke <[email protected]>
> > > ---
> > >   drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> > > index 9cff6bc4049c..4db92496c122 100644
> > > --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> > > +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c
> > > @@ -301,7 +301,7 @@ static void _rtl92c_get_txpower_writeval_by_regulatory(struct ieee80211_hw
> *hw,
> > >    writeVal = writeVal - 0x06060606;
> > >    else if (rtlpriv->dm.dynamic_txhighpower_lvl ==
> > >     TXHIGHPWRLEVEL_BT2)
> > > - writeVal = writeVal;
> > > + ;
> > >    *(p_outwriteval + rf) = writeVal;
> > >    }
> > >   }
> > > 
> > 
> > As the branch condition does nothing, why not remove it and save the
> > compiler's optimizer a bit of work? The code looks strange, but it matches
> > the rest of Realtek's USB drivers.

Agree Larry's comment.

>
> Sure, I am happy to change it to whatever the authors/maintainers prefer.
>
> I'll wait a bit before respinning for if others feel strongly about
> keeping the branch.
>
> ------Please consider the environment before printing this e-mail.