On Fri, Apr 8, 2016 at 1:36 PM, David Miller <da...@davemloft.net> wrote: > From: Petri Gynther <pgynt...@google.com> > Date: Tue, 5 Apr 2016 17:50:01 -0700 > >> Add Byte Queue Limits (BQL) support to bcmgenet driver. >> >> Signed-off-by: Petri Gynther <pgynt...@google.com> > > As Eric Dumazet indicated, your ->ndo_init() code to reset the queues is > probably not necessary at all.
I added the netdev_tx_reset_queue(txq) calls to ndo_open() path: netdev->ndo_open() bcmgenet_open() bcmgenet_netif_start() for all Tx queues: netdev_tx_reset_queue(txq) clear __QUEUE_STATE_STACK_XOFF dql_reset() netif_tx_start_all_queues(dev) for all Tx queues: clear __QUEUE_STATE_DRV_XOFF So, I think the call to netdev_tx_reset_queue(txq) is in the right place. It ensures that the Tx queue state is clean when the device is opened.