linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning
@ 2017-02-24 10:30 Geert Uytterhoeven
  2017-02-24 19:29 ` David Miller
  2017-02-24 20:13 ` Iyappan Subramanian
  0 siblings, 2 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2017-02-24 10:30 UTC (permalink / raw)
  To: David S . Miller, Iyappan Subramanian, Keyur Chudgar
  Cc: Arnd Bergmann, netdev, linux-kernel, Geert Uytterhoeven

With gcc-4.1.2 and -Os:

    drivers/net/ethernet/apm/xgene/xgene_enet_main.c: In function ‘xgene_enet_start_xmit’:
    drivers/net/ethernet/apm/xgene/xgene_enet_main.c:297: warning: ‘mss_index’ may be used uninitialized in this function

Using a separate variable to track success may confuse the compiler.
Preinitialize mss_index with -EBUSY and check for negative error values
instead to kill the warning.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
Compile-tested only.

 drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
index d0d0d12b531fc683..e536301acfdec9fd 100644
--- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
@@ -293,36 +293,29 @@ static int xgene_enet_tx_completion(struct xgene_enet_desc_ring *cp_ring,
 static int xgene_enet_setup_mss(struct net_device *ndev, u32 mss)
 {
 	struct xgene_enet_pdata *pdata = netdev_priv(ndev);
-	bool mss_index_found = false;
-	int mss_index;
+	int mss_index = -EBUSY;
 	int i;
 
 	spin_lock(&pdata->mss_lock);
 
 	/* Reuse the slot if MSS matches */
-	for (i = 0; !mss_index_found && i < NUM_MSS_REG; i++) {
+	for (i = 0; mss_index < 0 && i < NUM_MSS_REG; i++) {
 		if (pdata->mss[i] == mss) {
 			pdata->mss_refcnt[i]++;
 			mss_index = i;
-			mss_index_found = true;
 		}
 	}
 
 	/* Overwrite the slot with ref_count = 0 */
-	for (i = 0; !mss_index_found && i < NUM_MSS_REG; i++) {
+	for (i = 0; mss_index < 0 && i < NUM_MSS_REG; i++) {
 		if (!pdata->mss_refcnt[i]) {
 			pdata->mss_refcnt[i]++;
 			pdata->mac_ops->set_mss(pdata, mss, i);
 			pdata->mss[i] = mss;
 			mss_index = i;
-			mss_index_found = true;
 		}
 	}
 
-	/* No slots with ref_count = 0 available, return busy */
-	if (!mss_index_found)
-		mss_index = -EBUSY;
-
 	spin_unlock(&pdata->mss_lock);
 
 	return mss_index;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning
  2017-02-24 10:30 [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning Geert Uytterhoeven
@ 2017-02-24 19:29 ` David Miller
  2017-02-24 20:13 ` Iyappan Subramanian
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2017-02-24 19:29 UTC (permalink / raw)
  To: geert; +Cc: isubramanian, kchudgar, arnd, netdev, linux-kernel

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Fri, 24 Feb 2017 11:30:03 +0100

> With gcc-4.1.2 and -Os:
> 
>     drivers/net/ethernet/apm/xgene/xgene_enet_main.c: In function ‘xgene_enet_start_xmit’:
>     drivers/net/ethernet/apm/xgene/xgene_enet_main.c:297: warning: ‘mss_index’ may be used uninitialized in this function
> 
> Using a separate variable to track success may confuse the compiler.
> Preinitialize mss_index with -EBUSY and check for negative error values
> instead to kill the warning.
> 
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Applied, thank you.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning
  2017-02-24 10:30 [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning Geert Uytterhoeven
  2017-02-24 19:29 ` David Miller
@ 2017-02-24 20:13 ` Iyappan Subramanian
  1 sibling, 0 replies; 3+ messages in thread
From: Iyappan Subramanian @ 2017-02-24 20:13 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: David S . Miller, Keyur Chudgar, Arnd Bergmann, netdev, linux-kernel

On Fri, Feb 24, 2017 at 2:30 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> With gcc-4.1.2 and -Os:
>
>     drivers/net/ethernet/apm/xgene/xgene_enet_main.c: In function ‘xgene_enet_start_xmit’:
>     drivers/net/ethernet/apm/xgene/xgene_enet_main.c:297: warning: ‘mss_index’ may be used uninitialized in this function
>
> Using a separate variable to track success may confuse the compiler.
> Preinitialize mss_index with -EBUSY and check for negative error values
> instead to kill the warning.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> Compile-tested only.
>
>  drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 13 +++----------
>  1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
> index d0d0d12b531fc683..e536301acfdec9fd 100644
> --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
> +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
> @@ -293,36 +293,29 @@ static int xgene_enet_tx_completion(struct xgene_enet_desc_ring *cp_ring,
>  static int xgene_enet_setup_mss(struct net_device *ndev, u32 mss)
>  {
>         struct xgene_enet_pdata *pdata = netdev_priv(ndev);
> -       bool mss_index_found = false;
> -       int mss_index;
> +       int mss_index = -EBUSY;
>         int i;
>
>         spin_lock(&pdata->mss_lock);
>
>         /* Reuse the slot if MSS matches */
> -       for (i = 0; !mss_index_found && i < NUM_MSS_REG; i++) {
> +       for (i = 0; mss_index < 0 && i < NUM_MSS_REG; i++) {
>                 if (pdata->mss[i] == mss) {
>                         pdata->mss_refcnt[i]++;
>                         mss_index = i;
> -                       mss_index_found = true;
>                 }
>         }
>
>         /* Overwrite the slot with ref_count = 0 */
> -       for (i = 0; !mss_index_found && i < NUM_MSS_REG; i++) {
> +       for (i = 0; mss_index < 0 && i < NUM_MSS_REG; i++) {
>                 if (!pdata->mss_refcnt[i]) {
>                         pdata->mss_refcnt[i]++;
>                         pdata->mac_ops->set_mss(pdata, mss, i);
>                         pdata->mss[i] = mss;
>                         mss_index = i;
> -                       mss_index_found = true;
>                 }
>         }
>
> -       /* No slots with ref_count = 0 available, return busy */
> -       if (!mss_index_found)
> -               mss_index = -EBUSY;
> -
>         spin_unlock(&pdata->mss_lock);
>
>         return mss_index;
> --
> 2.7.4
>

Thanks.

Acked-by: Iyappan Subramanian <isubramanian@apm.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-02-24 20:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-24 10:30 [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning Geert Uytterhoeven
2017-02-24 19:29 ` David Miller
2017-02-24 20:13 ` Iyappan Subramanian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).