On Thu, 2017-04-06 at 12:07 -0700, tndave wrote: > > + q_index = q_index % dev->real_num_tx_queues; > cpu interrupted here and dev->real_num_tx_queues has reduced! > > + skb_set_queue_mapping(skb, q_index); > > + } > > + txq = netdev_get_tx_queue(dev, q_index); > or cpu interrupted here and dev->real_num_tx_queues has reduced!
If dev->real_num_tx_queues can be changed while this code is running we are in deep deep trouble. Better make sure that when control path does this change, device (and/pr netpoll) is frozen and no packet can be sent.