net/ice/base: fix getting sched node from ID type
[dpdk.git] / drivers / net / ice / base / ice_sched.c
index 544648c..e697c57 100644 (file)
@@ -2945,6 +2945,9 @@ ice_sched_update_elem(struct ice_hw *hw, struct ice_sched_node *node,
        u16 num_elems = 1;
 
        buf = *info;
+       /* For TC nodes, CIR config is not supported */
+       if (node->info.data.elem_type == ICE_AQC_ELEM_TYPE_TC)
+               buf.data.valid_sections &= ~ICE_AQC_ELEM_VALID_CIR;
        /* Parent TEID is reserved field in this aq call */
        buf.parent_teid = 0;
        /* Element type is reserved field in this aq call */
@@ -4771,12 +4774,12 @@ ice_sched_get_node_by_id_type(struct ice_port_info *pi, u32 id,
 
        case ICE_AGG_TYPE_Q:
                /* The current implementation allows single queue to modify */
-               node = ice_sched_get_node(pi, id);
+               node = ice_sched_find_node_by_teid(pi->root, id);
                break;
 
        case ICE_AGG_TYPE_QG:
                /* The current implementation allows single qg to modify */
-               child_node = ice_sched_get_node(pi, id);
+               child_node = ice_sched_find_node_by_teid(pi->root, id);
                if (!child_node)
                        break;
                node = child_node->parent;