Commit 226df3ef authored by Ioana Ciornei's avatar Ioana Ciornei Committed by David S. Miller
Browse files

dpaa2-eth: fix an always true condition in dpaa2_mac_get_if_mode



Convert the phy_mode() function to return the if_mode through an
argument, similar to the new form of of_get_phy_mode().
This will help with handling errors in a common manner and also will fix
an always true condition.

Fixes: 0c65b2b9 ("net: of_get_phy_mode: Change API to solve int/unit warnings")
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 90ce9f23
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -7,14 +7,19 @@
#define phylink_to_dpaa2_mac(config) \
	container_of((config), struct dpaa2_mac, phylink_config)

static phy_interface_t phy_mode(enum dpmac_eth_if eth_if)
static int phy_mode(enum dpmac_eth_if eth_if, phy_interface_t *if_mode)
{
	*if_mode = PHY_INTERFACE_MODE_NA;

	switch (eth_if) {
	case DPMAC_ETH_IF_RGMII:
		return PHY_INTERFACE_MODE_RGMII;
		*if_mode = PHY_INTERFACE_MODE_RGMII;
		break;
	default:
		return -EINVAL;
	}

	return 0;
}

/* Caller must call of_node_put on the returned value */
@@ -51,11 +56,11 @@ static int dpaa2_mac_get_if_mode(struct device_node *node,
	if (!err)
		return if_mode;

	if_mode = phy_mode(attr.eth_if);
	if (if_mode >= 0)
	err = phy_mode(attr.eth_if, &if_mode);
	if (!err)
		return if_mode;

	return -ENODEV;
	return err;
}

static bool dpaa2_mac_phy_mode_mismatch(struct dpaa2_mac *mac,