aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorFrank Blaschka <frank.blaschka@de.ibm.com>2008-04-01 04:26:59 -0400
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,
4002 } 4002 }
4003 } else { 4003 } else {
4004 skb_len = (*hdr)->hdr.l3.length; 4004 skb_len = (*hdr)->hdr.l3.length;
4005 headroom = max((int)ETH_HLEN, (int)TR_HLEN); 4005 if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) ||
4006 (card->info.link_type == QETH_LINK_TYPE_HSTR))
4007 headroom = TR_HLEN;
4008 else
4009 headroom = ETH_HLEN;
4006 } 4010 }
4007 4011
4008 if (!skb_len) 4012 if (!skb_len)