X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fice_hash.c;h=0fdd4d68d4ab283d9421e55d19a6511547aed5e5;hb=1d6cf7df2adb8d6e77a69be859917b0f34a29f35;hp=0e9c3c4e501097cf358c0cf81090fb4a28821181;hpb=f761def5125cf7dc23a15eb2bf57206f5930801e;p=dpdk.git diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c index 0e9c3c4e50..0fdd4d68d4 100644 --- a/drivers/net/ice/ice_hash.c +++ b/drivers/net/ice/ice_hash.c @@ -434,14 +434,17 @@ ice_hash_parse_pattern_action(__rte_unused struct ice_adapter *ad, goto error; /* Save protocol header to rss_meta. */ - *meta = rss_meta_ptr; - ((struct rss_meta *)*meta)->pkt_hdr = ((struct rss_type_match_hdr *) + rss_meta_ptr->pkt_hdr = ((struct rss_type_match_hdr *) (pattern_match_item->meta))->hdr_mask; /* Check rss action. */ - ret = ice_hash_parse_action(pattern_match_item, actions, meta, error); + ret = ice_hash_parse_action(pattern_match_item, actions, + (void **)&rss_meta_ptr, error); + error: - if (ret) + if (!ret && meta) + *meta = rss_meta_ptr; + else rte_free(rss_meta_ptr); rte_free(pattern_match_item);