From: Ursula Braun Date: Tue, 1 Apr 2008 08:26:56 +0000 (+0200) Subject: qeth: CCL-sequence numbers required for protocol ETH_P_802_2 only X-Git-Tag: v2.6.26-rc1~1138^2~8^2~16 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=128837259912087101cd336226abc7ee3e8555b5;p=linux-2.6 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 Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik --- diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 4417a3629a..0263d9406f 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;