Subject: Re: [PATCH net-next 2/2] dpaa2-eth: fix return codes used in ndo_setup_tc

From: Stephen Hemminger <[email-masked]>
Date: Thu, 23 Apr 2020 12:33:56 -0700

On Thu, 23 Apr 2020 17:38:04 +0200
Jesper Dangaard Brouer <[email-masked]> wrote:

> On Thu, 23 Apr 2020 08:28:58 -0700
> Stephen Hemminger <[email-masked]> wrote:
> 
> > On Thu, 23 Apr 2020 16:57:50 +0200
> > Jesper Dangaard Brouer <[email-masked]> wrote:
> >   
> > > Drivers ndo_setup_tc call should return -EOPNOTSUPP, when it cannot
> > > support the qdisc type. Other return values will result in failing the
> > > qdisc setup.  This lead to qdisc noop getting assigned, which will
> > > drop all TX packets on the interface.
> > > 
> > > Fixes: ab1e6de2bd49 ("dpaa2-eth: Add mqprio support")
> > > Signed-off-by: Jesper Dangaard Brouer <[email-masked]>    
> > 
> > Would it be possible to use extack as well?  
> 
> That is what patch 1/2 already does.
> 
> > Putting errors in dmesg is unhelpful  
> 
> This patchset does not introduce any dmesg printk.
> 

I was thinking that this  
	if (num_tc  > dpaa2_eth_tc_count(priv)) {
 		netdev_err(net_dev, "Max %d traffic classes supported\n",
 			   dpaa2_eth_tc_count(priv));
-		return -EINVAL;
+		return -EOPNOTSUPP;
 	}

could be an extack message, but doing that would require a change
to the ndo_setup_tc hook to allow driver to return its own error message
as to why the setup failed.