[PATCH net-next 13/13] net: am65-cpsw: deny tc-taprio changes to per-tc max SDU

Vladimir Oltean posted 13 patches 3 years, 6 months ago
There is a newer version of this series
[PATCH net-next 13/13] net: am65-cpsw: deny tc-taprio changes to per-tc max SDU
Posted by Vladimir Oltean 3 years, 6 months ago
Since the driver does not act upon the max_sdu argument, deny any other
values except the default all-zeroes, which means that all traffic
classes should use the same MTU as the port itself.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
 drivers/net/ethernet/ti/am65-cpsw-qos.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/am65-cpsw-qos.c b/drivers/net/ethernet/ti/am65-cpsw-qos.c
index e162771893af..bd3b425083aa 100644
--- a/drivers/net/ethernet/ti/am65-cpsw-qos.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-qos.c
@@ -503,7 +503,11 @@ static int am65_cpsw_set_taprio(struct net_device *ndev, void *type_data)
 	struct am65_cpsw_port *port = am65_ndev_to_port(ndev);
 	struct tc_taprio_qopt_offload *taprio = type_data;
 	struct am65_cpsw_est *est_new;
-	int ret = 0;
+	int tc, ret = 0;
+
+	for (tc = 0; tc < TC_MAX_QUEUE; tc++)
+		if (taprio->max_sdu[tc])
+			return -EOPNOTSUPP;
 
 	if (taprio->cycle_time_extension) {
 		dev_err(&ndev->dev, "Failed to set cycle time extension");
-- 
2.34.1