summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUrsula Braun <braunu@de.ibm.com>2008-04-01 10:26:56 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 02:41:40 +0200
commit128837259912087101cd336226abc7ee3e8555b5 (patch)
tree56227ddec4fd58952b899f43481c5c2a32d5664e
parentqeth: set lan_online flag after a received STARTLAN (diff)
downloadlinux-128837259912087101cd336226abc7ee3e8555b5.tar.xz
linux-128837259912087101cd336226abc7ee3e8555b5.zip
qeth: CCL-sequence numbers required for protocol ETH_P_802_2 only
Symptom: slow CCL response time Problem: non-ETH_P_802_2 packets are not delivered to NDH for CCL. But CCL detects missing sequence numbers, which cause a serious performance problem with CCL. Solution: assign sequence numbers only to 802.2 packets. Signed-off-by: Ursula Braun <braunu@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/s390/net/qeth_l2_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index 4417a3629ae0..0263d9406fcf 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -451,7 +451,8 @@ static void qeth_l2_process_inbound_buffer(struct qeth_card *card,
skb->ip_summed = CHECKSUM_UNNECESSARY;
else
skb->ip_summed = CHECKSUM_NONE;
- *((__u32 *)skb->cb) = ++card->seqno.pkt_seqno;
+ if (skb->protocol == htons(ETH_P_802_2))
+ *((__u32 *)skb->cb) = ++card->seqno.pkt_seqno;
len = skb->len;
netif_rx(skb);
break;