2022-04-05 02:09:29

by Sevinj Aghayeva

[permalink] [raw]
Subject: [PATCH] staging: rtl8712: simplify control flow

The function iterates an index from 0 to NUM_PMKID_CACHE and returns
the first index for which the condition is true. If no such index is
found, the function returns -1. Current code has a complex control
flow that obfuscates this simple task. Replace it with a loop.

Also, given the shortened function body, replace the long variable
name psecuritypriv with a short variable name p.

Reported by checkpatch:

WARNING: else is not generally useful after a break or return

Signed-off-by: Sevinj Aghayeva <[email protected]>
---
drivers/staging/rtl8712/rtl871x_mlme.c | 25 ++++++-------------------
1 file changed, 6 insertions(+), 19 deletions(-)

diff --git a/drivers/staging/rtl8712/rtl871x_mlme.c b/drivers/staging/rtl8712/rtl871x_mlme.c
index 92b7c9c07df6..b93b33092932 100644
--- a/drivers/staging/rtl8712/rtl871x_mlme.c
+++ b/drivers/staging/rtl8712/rtl871x_mlme.c
@@ -1284,26 +1284,13 @@ int r8712_restruct_wmm_ie(struct _adapter *adapter, u8 *in_ie, u8 *out_ie,
*/
static int SecIsInPMKIDList(struct _adapter *Adapter, u8 *bssid)
{
- struct security_priv *psecuritypriv = &Adapter->securitypriv;
- int i = 0;
-
- do {
- if (psecuritypriv->PMKIDList[i].bUsed &&
- (!memcmp(psecuritypriv->PMKIDList[i].Bssid,
- bssid, ETH_ALEN)))
- break;
- i++;
-
- } while (i < NUM_PMKID_CACHE);
+ struct security_priv *p = &Adapter->securitypriv;
+ int i;

- if (i == NUM_PMKID_CACHE) {
- i = -1; /* Could not find. */
- } else {
- ; /* There is one Pre-Authentication Key for the
- * specific BSSID.
- */
- }
- return i;
+ for (i = 0; i < NUM_PMKID_CACHE; i++)
+ if (p->PMKIDList[i].bUsed && !memcmp(p->PMKIDList[i].Bssid, bssid, ETH_ALEN))
+ return i;
+ return -1;
}

sint r8712_restruct_sec_ie(struct _adapter *adapter, u8 *in_ie,
--
2.25.1


2022-04-05 02:48:22

by Sevinj Aghayeva

[permalink] [raw]
Subject: Re: [PATCH] staging: rtl8712: simplify control flow

My apologies for forgetting to Cc the maintainers! Adding them now.

On Sun, Apr 03, 2022 at 12:53:25PM -0400, Sevinj Aghayeva wrote:
> The function iterates an index from 0 to NUM_PMKID_CACHE and returns
> the first index for which the condition is true. If no such index is
> found, the function returns -1. Current code has a complex control
> flow that obfuscates this simple task. Replace it with a loop.
>
> Also, given the shortened function body, replace the long variable
> name psecuritypriv with a short variable name p.
>
> Reported by checkpatch:
>
> WARNING: else is not generally useful after a break or return
>
> Signed-off-by: Sevinj Aghayeva <[email protected]>
> ---
> drivers/staging/rtl8712/rtl871x_mlme.c | 25 ++++++-------------------
> 1 file changed, 6 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/staging/rtl8712/rtl871x_mlme.c b/drivers/staging/rtl8712/rtl871x_mlme.c
> index 92b7c9c07df6..b93b33092932 100644
> --- a/drivers/staging/rtl8712/rtl871x_mlme.c
> +++ b/drivers/staging/rtl8712/rtl871x_mlme.c
> @@ -1284,26 +1284,13 @@ int r8712_restruct_wmm_ie(struct _adapter *adapter, u8 *in_ie, u8 *out_ie,
> */
> static int SecIsInPMKIDList(struct _adapter *Adapter, u8 *bssid)
> {
> - struct security_priv *psecuritypriv = &Adapter->securitypriv;
> - int i = 0;
> -
> - do {
> - if (psecuritypriv->PMKIDList[i].bUsed &&
> - (!memcmp(psecuritypriv->PMKIDList[i].Bssid,
> - bssid, ETH_ALEN)))
> - break;
> - i++;
> -
> - } while (i < NUM_PMKID_CACHE);
> + struct security_priv *p = &Adapter->securitypriv;
> + int i;
>
> - if (i == NUM_PMKID_CACHE) {
> - i = -1; /* Could not find. */
> - } else {
> - ; /* There is one Pre-Authentication Key for the
> - * specific BSSID.
> - */
> - }
> - return i;
> + for (i = 0; i < NUM_PMKID_CACHE; i++)
> + if (p->PMKIDList[i].bUsed && !memcmp(p->PMKIDList[i].Bssid, bssid, ETH_ALEN))
> + return i;
> + return -1;
> }
>
> sint r8712_restruct_sec_ie(struct _adapter *adapter, u8 *in_ie,
> --
> 2.25.1
>