On Fri,  5 Jul 2019 01:48:32 +0200, Pablo Neira Ayuso wrote:
> @@ -1052,12 +1145,19 @@ static int tcf_block_offload_cmd(struct tcf_block 
> *block,
>                                struct netlink_ext_ack *extack)
>  {
>       struct tc_block_offload bo = {};
> +     int err;
>  
>       bo.command = command;
>       bo.binder_type = ei->binder_type;
>       bo.block = block;
>       bo.extack = extack;
> -     return dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_BLOCK, &bo);
> +     INIT_LIST_HEAD(&bo.cb_list);
> +
> +     err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_BLOCK, &bo);
> +     if (err < 0)
> +             return err;
> +
> +     return tcf_block_setup(block, &bo);

If this fails nothing will undo the old ndo call, no?

>  }
>  
>  static int tcf_block_offload_bind(struct tcf_block *block, struct Qdisc *q,

Reply via email to