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 {
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)