]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
s390: qeth: wrong packet length in qdio header
authorFrank Pavlic <fpavlic@de.ibm.com>
Wed, 20 Jun 2007 10:59:14 +0000 (12:59 +0200)
committerJeff Garzik <jeff@garzik.org>
Wed, 20 Jun 2007 23:12:42 +0000 (19:12 -0400)
Packets Length in qdio header is broken when using
EDDP on Layer2 devices. This leads to skb_under_panic on receiver
system when running on z/VM GuestLAN devices.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/s390/net/qeth_eddp.c

index 4640f32daae5832ed75e410a5bcc131bfc180098..70108fb1690653f58c08d8a4e09e0f79834041af 100644 (file)
@@ -424,8 +424,7 @@ __qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx,
                /* prepare qdio hdr */
                if (eddp->qh.hdr.l2.id == QETH_HEADER_TYPE_LAYER2){
                        eddp->qh.hdr.l2.pkt_length = data_len + ETH_HLEN +
-                                                    eddp->nhl + eddp->thl -
-                                                    sizeof(struct qeth_hdr);
+                                                    eddp->nhl + eddp->thl;
 #ifdef CONFIG_QETH_VLAN
                        if (eddp->mac.h_proto == __constant_htons(ETH_P_8021Q))
                                eddp->qh.hdr.l2.pkt_length += VLAN_HLEN;