diff mbox series

[-next,2/2] net: dsa: qca8k: add missing check return value in qca8k_phylink_mac_config()

Message ID 20210528082240.3863991-3-yangyingliang@huawei.com
State New
Headers show
Series net: dsa: qca8k: check return value of read functions correctly | expand

Commit Message

Yang Yingliang May 28, 2021, 8:22 a.m. UTC
Now we can check qca8k_read() return value correctly, so if
it fails, we need return directly.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/net/dsa/qca8k.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jakub Kicinski May 28, 2021, 9:18 p.m. UTC | #1
On Fri, 28 May 2021 16:22:40 +0800 Yang Yingliang wrote:
> Now we can check qca8k_read() return value correctly, so if
> it fails, we need return directly.
> 
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  drivers/net/dsa/qca8k.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
> index a8c274227348..6fe963ba23e8 100644
> --- a/drivers/net/dsa/qca8k.c
> +++ b/drivers/net/dsa/qca8k.c
> @@ -1200,6 +1200,8 @@ qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
>  
>  		/* Enable/disable SerDes auto-negotiation as necessary */
>  		ret = qca8k_read(priv, QCA8K_REG_PWS, &val);
> +		if (ret)
> +			return;
>  		if (phylink_autoneg_inband(mode))
>  			val &= ~QCA8K_PWS_SERDES_AEN_DIS;
>  		else
> @@ -1208,6 +1210,8 @@ qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
>  
>  		/* Configure the SGMII parameters */
>  		ret = qca8k_read(priv, QCA8K_REG_SGMII_CTRL, &val);
> +		if (ret)
> +			return;
>  
>  		val |= QCA8K_SGMII_EN_PLL | QCA8K_SGMII_EN_RX |
>  			QCA8K_SGMII_EN_TX | QCA8K_SGMII_EN_SD;

You should ignore the return value in the previous patch and add the
ret variable here, to avoid the transient build warning.
diff mbox series

Patch

diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index a8c274227348..6fe963ba23e8 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -1200,6 +1200,8 @@  qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
 
 		/* Enable/disable SerDes auto-negotiation as necessary */
 		ret = qca8k_read(priv, QCA8K_REG_PWS, &val);
+		if (ret)
+			return;
 		if (phylink_autoneg_inband(mode))
 			val &= ~QCA8K_PWS_SERDES_AEN_DIS;
 		else
@@ -1208,6 +1210,8 @@  qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
 
 		/* Configure the SGMII parameters */
 		ret = qca8k_read(priv, QCA8K_REG_SGMII_CTRL, &val);
+		if (ret)
+			return;
 
 		val |= QCA8K_SGMII_EN_PLL | QCA8K_SGMII_EN_RX |
 			QCA8K_SGMII_EN_TX | QCA8K_SGMII_EN_SD;