s390: network patches for net-next
Subsystems (5)
cover s390: network patches for net-next
Hi Dave,
here are some s390 related patches for net-next
shortlog:
Ursula Braun (1)af_iucv: recvmsg problem for SOCK_STREAM sockets
Heiko Carstens (1)
qeth: make qeth_query_card_info_cb() static
Stefan Raspl (2)
qeth: Removed unused parameter
qeth: Fix IP version detection for VLAN traffic
Thanks,
Frank
PATCH 1/4 af_iucv: recvmsg problem for SOCK_STREAM sockets
From: Ursula Braun <[email protected]>
Commit f9c41a62bba3f3f7ef3541b2a025e3371bcbba97 introduced a problem for SOCK_STREAM sockets, when only part of the incoming iucv message is received by user space. In this case the remaining data of the iucv message is lost. This patch makes sure an incompletely received iucv message is queued back to the receive queue.
--- net/iucv/af_iucv.c | 1 + 1 file changed, 1 insertion(+)
net/iucv/af_iucv.c +1 -0
@@ -1382,6 +1382,7 @@ static int iucv_sock_recvmsg(struct kiocb *iocb, struct socket *sock,if (sk->sk_type ==SOCK_STREAM ) {if (copied < rlen) {IUCV_SKB_CB (skb)->offset = offset + copied; +skb_queue_head (&sk->sk_receive_queue, skb); goto done; } }
PATCH 2/4 qeth: make qeth_query_card_info_cb() static
In reply to [email protected]From: Heiko Carstens <[email protected]>
--- drivers/s390/net/qeth_core_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/s390/net/qeth_core_main.c +2 -2
@@ -4610,8 +4610,8 @@ out: }EXPORT_SYMBOL_GPL (qeth_query_oat_command); -int qeth_query_card_info_cb (struct qeth_card *card, -struct qeth_reply *reply,unsigned long data) +static int qeth_query_card_info_cb (struct qeth_card *card, +struct qeth_reply *reply,unsigned long data) {struct qeth_ipa_cmd *cmd;struct qeth_query_card_info *card_info;
PATCH 3/4 qeth: Removed unused parameter
In reply to [email protected]From: Stefan Raspl <[email protected]>
--- drivers/s390/net/qeth_l2_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/s390/net/qeth_l2_main.c +3 -3
@@ -241,7 +241,7 @@ static inline int qeth_l2_get_cast_type(struct qeth_card *card, }static void qeth_l2_fill_header (struct qeth_card *card,struct qeth_hdr *hdr, -struct sk_buff *skb,int ipv,int cast_type) +struct sk_buff *skb,int cast_type) {struct vlan_ethhdr *veth = (struct vlan_ethhdr *)skb_mac_header (skb);
@@ -762,7 +762,7 @@ static int qeth_l2_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) goto tx_drop; elements_needed++;skb_reset_mac_header (new_skb); -qeth_l2_fill_header (card, hdr, new_skb, ipv, cast_type); +qeth_l2_fill_header (card, hdr, new_skb, cast_type); hdr->hdr.l2.pkt_length = new_skb->len;memcpy (((char *)hdr) +sizeof (struct qeth_hdr ),skb_mac_header (new_skb),ETH_HLEN );
@@ -775,7 +775,7 @@ static int qeth_l2_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) hdr = (struct qeth_hdr *)skb_push (new_skb,sizeof (struct qeth_hdr ));skb_set_mac_header (new_skb,sizeof (struct qeth_hdr )); -qeth_l2_fill_header (card, hdr, new_skb, ipv, cast_type); +qeth_l2_fill_header (card, hdr, new_skb, cast_type); } }
PATCH 4/4 qeth: Fix IP version detection for VLAN traffic
In reply to [email protected]From: Stefan Raspl <[email protected]>
The current code would always return 0 for VLAN-encapsulated IP traffic. One notable side effect was that VLAN traffic would never get prioritized on OSD and OSX devices when priority queueing modes prio_queueing_tos or prio_queueing_prec were enabled.
--- drivers/s390/net/qeth_core.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
drivers/s390/net/qeth_core.h +5 -2
@@ -854,8 +854,11 @@ static inline int qeth_get_micros(void)static inline int qeth_get_ip_version (struct sk_buff *skb) { -struct ethhdr *ehdr = (struct ethhdr *)skb->data; -switch (ehdr->h_proto) { +__be16 *p = &((struct ethhdr *)skb->data)->h_proto; + +if (*p ==ETH_P_8021Q ) + p +=2 ; +switch (*p) {case ETH_P_IPV6 :return 6 ;case ETH_P_IP :
David Miller
maintainerFrom: [email protected]
Date: Wed, 19 Mar 2014 07:57:58 +0100
Quoted 1 line
here are some s390 related patches for net-next
Series applied, thank you.