> -----Original Message----- > From: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> > Sent: Thursday, September 20, 2018 10:44 AM > To: YueHaibing <yuehaibing@xxxxxxxxxx> > Cc: davem@xxxxxxxxxxxxx; dmitry.tarnyagin@xxxxxxxxxxx; > wg@xxxxxxxxxxxxxx; mkl@xxxxxxxxxxxxxx; michal.simek@xxxxxxxxxx; > hsweeten@xxxxxxxxxxxxxxxxxxx; madalin.bucur@xxxxxxx; > pantelis.antoniou@xxxxxxxxx; claudiu.manoil@xxxxxxx; leoyang.li@xxxxxxx; > linux@xxxxxxxxxxxxxxx; sammy@xxxxxxxxx; ralf@xxxxxxxxxxxxxx; > nico@xxxxxxxxxxx; steve.glendinning@xxxxxxxxxxx; f.fainelli@xxxxxxxxx; > grygorii.strashko@xxxxxx; w-kwok2@xxxxxx; m-karicheri2@xxxxxx; > t.sailer@xxxxxxxxxxxxxx; jreuter@xxxxxxxx; KY Srinivasan <kys@xxxxxxxxxxxxx>; > Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; wei.liu2@xxxxxxxxxx; > paul.durrant@xxxxxxxxxx; arvid.brodin@xxxxxxxx; pshelar@xxxxxxx; > dev@xxxxxxxxxxxxxxx; linux-mips@xxxxxxxxxxxxxx; xen- > devel@xxxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; linux-can@xxxxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; linux-hams@xxxxxxxxxxxxxxx; linux- > omap@xxxxxxxxxxxxxxx; linuxppc-dev@xxxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx > Subject: Re: [PATCH net-next 17/22] hv_netvsc: fix return type of > ndo_start_xmit function > > On Thu, 20 Sep 2018 20:33:01 +0800 > YueHaibing <yuehaibing@xxxxxxxxxx> wrote: > > int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) > > */ > > vf_netdev = rcu_dereference_bh(net_device_ctx->vf_netdev); > > if (vf_netdev && netif_running(vf_netdev) && > > - !netpoll_tx_running(net)) > > - return netvsc_vf_xmit(net, vf_netdev, skb); > > + !netpoll_tx_running(net)) { > > + ret = netvsc_vf_xmit(net, vf_netdev, skb); > > + if (ret) > > + return NETDEV_TX_BUSY; > > + } > > Sorry, the new code is wrong. It will fall through if ret == 0 (NETDEV_TX_OK) > Please review and test your patches. Plus consideration of -- For error case, please just return NETDEV_TX_OK. We are not sure if the error can go away after retrying, returning NETDEV_TX_BUSY may cause infinite retry from the upper layer. So, let's just always return NETDEV_TX_OK like this: netvsc_vf_xmit(net, vf_netdev, skb); return NETDEV_TX_OK; Thanks, - Haiyang _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel