|
@@ -2029,12 +2029,11 @@ static inline u16 dev_cap_txqueue(struct net_device *dev, u16 queue_index)
|
|
static struct netdev_queue *dev_pick_tx(struct net_device *dev,
|
|
static struct netdev_queue *dev_pick_tx(struct net_device *dev,
|
|
struct sk_buff *skb)
|
|
struct sk_buff *skb)
|
|
{
|
|
{
|
|
- u16 queue_index;
|
|
|
|
|
|
+ int queue_index;
|
|
struct sock *sk = skb->sk;
|
|
struct sock *sk = skb->sk;
|
|
|
|
|
|
- if (sk_tx_queue_recorded(sk)) {
|
|
|
|
- queue_index = sk_tx_queue_get(sk);
|
|
|
|
- } else {
|
|
|
|
|
|
+ queue_index = sk_tx_queue_get(sk);
|
|
|
|
+ if (queue_index < 0) {
|
|
const struct net_device_ops *ops = dev->netdev_ops;
|
|
const struct net_device_ops *ops = dev->netdev_ops;
|
|
|
|
|
|
if (ops->ndo_select_queue) {
|
|
if (ops->ndo_select_queue) {
|