Re: [net v3 PATCH] net: ethernet: ti: cpsw_new: fix error handling in cpsw_ndo_vlan_rx_kill_vid()

From: David Miller
Date: Tue Aug 25 2020 - 12:36:15 EST


From: Murali Karicheri <m-karicheri2@xxxxxx>
Date: Mon, 24 Aug 2020 13:01:00 -0400

> + ret = cpsw_ale_del_vlan(cpsw->ale, vid, 0);
> + if (ret)
> + dev_err(priv->dev, "%s: failed %d: ret %d\n",
> + __func__, __LINE__, ret);
> + ret = cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr,
> + HOST_PORT_NUM, ALE_VLAN, vid);
> + if (ret)
> + dev_err(priv->dev, "%s: failed %d: ret %d\n",
> + __func__, __LINE__, ret);
> + ret = cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast,
> + 0, ALE_VLAN, vid);
> + if (ret)
> + dev_err(priv->dev, "%s: failed %d: ret %d\n",
> + __func__, __LINE__, ret);
> cpsw_ale_flush_multicast(cpsw->ale, ALE_PORT_HOST, vid);

These error messages are extremely unhelpful. You're calling three
different functions, yet emitting basically the same __func__ for
each of those cases. No user can send you a useful bug report
immediately if they just have func and line.

Please get rid of the "__func__" and "__line__" stuff completely, it's
never advisable to ever use that in my opinion. Instead, describe
which delete operation failed, optionally with the error return.