Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1587917
| From | Iyappan Subramanian <isubramanian@apm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning |
| Date | 2017-02-24 21:20 +0100 |
| Message-ID | <teuvo-5m8-5@gated-at.bofh.it> (permalink) |
| References | <tels6-7i4-11@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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>
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning Geert Uytterhoeven <geert@linux-m68k.org> - 2017-02-24 11:40 +0100 Re: [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning David Miller <davem@davemloft.net> - 2017-02-24 20:40 +0100 Re: [PATCH] drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning Iyappan Subramanian <isubramanian@apm.com> - 2017-02-24 21:20 +0100
csiph-web