summaryrefslogtreecommitdiff
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorFrank Blaschka <frank.blaschka@de.ibm.com>2008-04-01 10:26:59 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-04-16 20:41:41 -0400
commitb403e685b7c57f7912bae36987433e72c616f418 (patch)
tree2babd00166b0bf56c61a62878d57c8257a7b149a /drivers/s390/net
parentd11ba0c40fa8a21511822efee3be8389f94f0431 (diff)
qeth: core code should alloc headroom for LLC protocol
Allocate headroom for TR_HLEN but using only ETH_HLEN causes rx performance degradation. Allocate ETH_HLEN for ethernet and TR_HLEN for token ring (layer 3 mode). Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_core_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 5cfe0ef7719a..055f5c3e7b56 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -4002,7 +4002,11 @@ struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card,
}
} else {
skb_len = (*hdr)->hdr.l3.length;
- headroom = max((int)ETH_HLEN, (int)TR_HLEN);
+ if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) ||
+ (card->info.link_type == QETH_LINK_TYPE_HSTR))
+ headroom = TR_HLEN;
+ else
+ headroom = ETH_HLEN;
}
if (!skb_len)