+       if (dev->caps.vep_uc_steering) {

    +               err = mlx4_uc_steer_add(dev, port, mac, qpn, 1);
    +               if (!err) {
    +                       entry = kmalloc(sizeof *entry, GFP_KERNEL);
    +                       if (!entry) {
    +                               mlx4_uc_steer_release(dev, port,
mac, *qpn, 1);
    +                               return -ENOMEM;
    +                       }
    +                       entry->mac = mac;
    +                       err = radix_tree_insert(&info->mac_tree,
*qpn, entry);
    +                       if (err)

    +                               mlx4_uc_steer_release(dev, port,
mac, *qpn, 1);


Don't you need to free  prevously allocated entry here if insert fail?

    +               }
    +               return err;
    +       }
    +
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to