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>
This commit is contained in:
Frank Blaschka
2008-04-01 10:26:59 +02:00
committed by Jeff Garzik
parent d11ba0c40f
commit b403e685b7

View File

@@ -4002,7 +4002,11 @@ struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card,
} }
} else { } else {
skb_len = (*hdr)->hdr.l3.length; 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) if (!skb_len)