diff --git a/[refs] b/[refs] index 3d445658ce7c..243d272bb44c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 91a72a70594e5212c97705ca6a694bd307f7a26b +refs/heads/master: b0f77d0eae0c58a5a9691a067ada112ceeae2d00 diff --git a/trunk/include/net/sock.h b/trunk/include/net/sock.h index 731150d52799..0a691ea7654a 100644 --- a/trunk/include/net/sock.h +++ b/trunk/include/net/sock.h @@ -1224,12 +1224,7 @@ static inline void sk_tx_queue_clear(struct sock *sk) static inline int sk_tx_queue_get(const struct sock *sk) { - return sk->sk_tx_queue_mapping; -} - -static inline bool sk_tx_queue_recorded(const struct sock *sk) -{ - return (sk && sk->sk_tx_queue_mapping >= 0); + return sk ? sk->sk_tx_queue_mapping : -1; } static inline void sk_set_socket(struct sock *sk, struct socket *sock) diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 4b05fdf762ab..0ea10f849be8 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -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, struct sk_buff *skb) { - u16 queue_index; + int queue_index; 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; if (ops->ndo_select_queue) {