diff options
author | Frank Blaschka <frank.blaschka@de.ibm.com> | 2008-04-01 10:26:59 +0200 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-16 20:41:41 -0400 |
commit | b403e685b7c57f7912bae36987433e72c616f418 (patch) | |
tree | 2babd00166b0bf56c61a62878d57c8257a7b149a | |
parent | d11ba0c40fa8a21511822efee3be8389f94f0431 (diff) | |
download | op-kernel-dev-b403e685b7c57f7912bae36987433e72c616f418.zip op-kernel-dev-b403e685b7c57f7912bae36987433e72c616f418.tar.gz |
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>
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 6 |
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 5cfe0ef..055f5c3 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) |