Commit c61dff3c authored by Julian Wiedmann's avatar Julian Wiedmann Committed by Jakub Kicinski

s390/qeth: pass proto to qeth_l3_get_cast_type()

qeth_l3_hard_start_xmit() already determined the skb's proto. Avoid
doing so a second time when it calls qeth_l3_get_cast_type().
Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
Acked-by: default avatarWillem de Bruijn <willemb@google.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 17f3a8b5
...@@ -1610,9 +1610,8 @@ static int qeth_l3_get_cast_type_rcu(struct sk_buff *skb, struct dst_entry *dst, ...@@ -1610,9 +1610,8 @@ static int qeth_l3_get_cast_type_rcu(struct sk_buff *skb, struct dst_entry *dst,
} }
} }
static int qeth_l3_get_cast_type(struct sk_buff *skb) static int qeth_l3_get_cast_type(struct sk_buff *skb, __be16 proto)
{ {
__be16 proto = vlan_get_protocol(skb);
struct dst_entry *dst; struct dst_entry *dst;
int cast_type; int cast_type;
...@@ -1771,7 +1770,7 @@ static netdev_tx_t qeth_l3_hard_start_xmit(struct sk_buff *skb, ...@@ -1771,7 +1770,7 @@ static netdev_tx_t qeth_l3_hard_start_xmit(struct sk_buff *skb,
} }
if (!(dev->flags & IFF_BROADCAST) && if (!(dev->flags & IFF_BROADCAST) &&
qeth_l3_get_cast_type(skb) == RTN_BROADCAST) qeth_l3_get_cast_type(skb, proto) == RTN_BROADCAST)
goto tx_drop; goto tx_drop;
if (proto == htons(ETH_P_IP) || IS_IQD(card)) if (proto == htons(ETH_P_IP) || IS_IQD(card))
...@@ -1831,8 +1830,10 @@ static netdev_features_t qeth_l3_osa_features_check(struct sk_buff *skb, ...@@ -1831,8 +1830,10 @@ static netdev_features_t qeth_l3_osa_features_check(struct sk_buff *skb,
static u16 qeth_l3_iqd_select_queue(struct net_device *dev, struct sk_buff *skb, static u16 qeth_l3_iqd_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev) struct net_device *sb_dev)
{ {
return qeth_iqd_select_queue(dev, skb, qeth_l3_get_cast_type(skb), __be16 proto = vlan_get_protocol(skb);
sb_dev);
return qeth_iqd_select_queue(dev, skb,
qeth_l3_get_cast_type(skb, proto), sb_dev);
} }
static u16 qeth_l3_osa_select_queue(struct net_device *dev, struct sk_buff *skb, static u16 qeth_l3_osa_select_queue(struct net_device *dev, struct sk_buff *skb,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment