summaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/sja1105/sja1105_main.c
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2021-12-14 03:45:35 +0200
committerDavid S. Miller <davem@davemloft.net>2021-12-14 12:45:16 +0000
commitc8a2a011cd04054a6577d8cf774adf9e09302876 (patch)
tree42976cb39243649db2ab4bfd9a1523944a708344 /drivers/net/dsa/sja1105/sja1105_main.c
parente2f01bfe1406f82a45ab0ce8ed90dbef1c464502 (diff)
downloadlinux-c8a2a011cd04054a6577d8cf774adf9e09302876.tar.bz2
net: dsa: sja1105: fix broken connection with the sja1110 tagger
The driver was incorrectly converted assuming that "sja1105" is the only tagger supported by this driver. This results in SJA1110 switches failing to probe: sja1105 spi1.0: Unable to connect to tag protocol "sja1110": -EPROTONOSUPPORT sja1105: probe of spi1.2 failed with error -93 Add DSA_TAG_PROTO_SJA1110 to the list of supported taggers by the sja1105 driver. The sja1105_tagger_data structure format is common for the two tagging protocols. Fixes: c79e84866d2a ("net: dsa: tag_sja1105: convert to tagger-owned data") Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/sja1105/sja1105_main.c')
-rw-r--r--drivers/net/dsa/sja1105/sja1105_main.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c
index 9171fbea588c..b513713be610 100644
--- a/drivers/net/dsa/sja1105/sja1105_main.c
+++ b/drivers/net/dsa/sja1105/sja1105_main.c
@@ -2708,17 +2708,17 @@ static void sja1105_port_deferred_xmit(struct kthread_work *work)
static int sja1105_connect_tag_protocol(struct dsa_switch *ds,
enum dsa_tag_protocol proto)
{
+ struct sja1105_private *priv = ds->priv;
struct sja1105_tagger_data *tagger_data;
- switch (proto) {
- case DSA_TAG_PROTO_SJA1105:
- tagger_data = sja1105_tagger_data(ds);
- tagger_data->xmit_work_fn = sja1105_port_deferred_xmit;
- tagger_data->meta_tstamp_handler = sja1110_process_meta_tstamp;
- return 0;
- default:
+ if (proto != priv->info->tag_proto)
return -EPROTONOSUPPORT;
- }
+
+ tagger_data = sja1105_tagger_data(ds);
+ tagger_data->xmit_work_fn = sja1105_port_deferred_xmit;
+ tagger_data->meta_tstamp_handler = sja1110_process_meta_tstamp;
+
+ return 0;
}
/* The MAXAGE setting belongs to the L2 Forwarding Parameters table,