Commit c9567980 authored by Vladimir Oltean's avatar Vladimir Oltean Committed by David S. Miller
Browse files

net: dsa: sja1105: propagate exact error code from sja1105_dynamic_config_poll_valid()



Currently, sja1105_dynamic_config_wait_complete() returns either 0 or
-ETIMEDOUT, because it just looks at the read_poll_timeout() return code.

There will be future changes which move some more checks to
sja1105_dynamic_config_poll_valid(). It is important that we propagate
their exact return code (-ENOENT, -EINVAL), because callers of
sja1105_dynamic_config_read() depend on them.

Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 02c652f5
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -1211,13 +1211,14 @@ sja1105_dynamic_config_wait_complete(struct sja1105_private *priv,
				     struct sja1105_dyn_cmd *cmd,
				     const struct sja1105_dynamic_table_ops *ops)
{
	int rc;
	int err, rc;

	return read_poll_timeout(sja1105_dynamic_config_poll_valid,
	err = read_poll_timeout(sja1105_dynamic_config_poll_valid,
				rc, rc != -EAGAIN,
				SJA1105_DYNAMIC_CONFIG_SLEEP_US,
				SJA1105_DYNAMIC_CONFIG_TIMEOUT_US,
				false, priv, cmd, ops);
	return err < 0 ? err : rc;
}

/* Provides read access to the settings through the dynamic interface