summaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorFrank Pavlic <fpavlic@de.ibm.com>2007-06-20 12:59:14 +0200
committerJeff Garzik <jeff@garzik.org>2007-06-21 01:12:42 +0200
commitcd3e76ebcb41c48ef6e706006b793d45030bae75 (patch)
tree73c349e0275ee917a77850d6ed491d36755a9324 /drivers/s390/net
parents390: avoid inconsistent lock state in qeth (diff)
downloadlinux-cd3e76ebcb41c48ef6e706006b793d45030bae75.tar.xz
linux-cd3e76ebcb41c48ef6e706006b793d45030bae75.zip
s390: qeth: wrong packet length in qdio header
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>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_eddp.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_eddp.c b/drivers/s390/net/qeth_eddp.c
index 4640f32daae5..70108fb16906 100644
--- a/drivers/s390/net/qeth_eddp.c
+++ b/drivers/s390/net/qeth_eddp.c
@@ -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;