]> git.itanic.dy.fi Git - linux-stable/blobdiff - drivers/net/ethernet/freescale/enetc/enetc_vf.c
net: enetc: deny offload of tc-based TSN features on VF interfaces
[linux-stable] / drivers / net / ethernet / freescale / enetc / enetc_vf.c
index 4048101c42be21d2a07d0b206fa0819d7f710c5d..dfcaac302e245179438f8acbe6f80fe2778c7cb3 100644 (file)
@@ -93,6 +93,17 @@ static int enetc_vf_set_features(struct net_device *ndev,
        return 0;
 }
 
+static int enetc_vf_setup_tc(struct net_device *ndev, enum tc_setup_type type,
+                            void *type_data)
+{
+       switch (type) {
+       case TC_SETUP_QDISC_MQPRIO:
+               return enetc_setup_tc_mqprio(ndev, type_data);
+       default:
+               return -EOPNOTSUPP;
+       }
+}
+
 /* Probing/ Init */
 static const struct net_device_ops enetc_ndev_ops = {
        .ndo_open               = enetc_open,
@@ -102,7 +113,7 @@ static const struct net_device_ops enetc_ndev_ops = {
        .ndo_set_mac_address    = enetc_vf_set_mac_addr,
        .ndo_set_features       = enetc_vf_set_features,
        .ndo_eth_ioctl          = enetc_ioctl,
-       .ndo_setup_tc           = enetc_setup_tc,
+       .ndo_setup_tc           = enetc_vf_setup_tc,
 };
 
 static void enetc_vf_netdev_setup(struct enetc_si *si, struct net_device *ndev,