drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warning
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> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3b5923f079
commit
1b8c101214
|
@ -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)
|
static int xgene_enet_setup_mss(struct net_device *ndev, u32 mss)
|
||||||
{
|
{
|
||||||
struct xgene_enet_pdata *pdata = netdev_priv(ndev);
|
struct xgene_enet_pdata *pdata = netdev_priv(ndev);
|
||||||
bool mss_index_found = false;
|
int mss_index = -EBUSY;
|
||||||
int mss_index;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
spin_lock(&pdata->mss_lock);
|
spin_lock(&pdata->mss_lock);
|
||||||
|
|
||||||
/* Reuse the slot if MSS matches */
|
/* 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) {
|
if (pdata->mss[i] == mss) {
|
||||||
pdata->mss_refcnt[i]++;
|
pdata->mss_refcnt[i]++;
|
||||||
mss_index = i;
|
mss_index = i;
|
||||||
mss_index_found = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Overwrite the slot with ref_count = 0 */
|
/* 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]) {
|
if (!pdata->mss_refcnt[i]) {
|
||||||
pdata->mss_refcnt[i]++;
|
pdata->mss_refcnt[i]++;
|
||||||
pdata->mac_ops->set_mss(pdata, mss, i);
|
pdata->mac_ops->set_mss(pdata, mss, i);
|
||||||
pdata->mss[i] = mss;
|
pdata->mss[i] = mss;
|
||||||
mss_index = i;
|
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);
|
spin_unlock(&pdata->mss_lock);
|
||||||
|
|
||||||
return mss_index;
|
return mss_index;
|
||||||
|
|
Loading…
Reference in New Issue