diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2019-12-23 17:22:27 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-12-27 02:23:50 +0300 |
commit | 8ca8559ff3cefd78e12b9658f21cc8bcc02407ec (patch) | |
tree | 3a5ceaaa3424c9b753d98f51c25782e477b338e0 /drivers | |
parent | dcdcf8670dad7547cff59ef9ddd7312fc706464a (diff) | |
download | linux-8ca8559ff3cefd78e12b9658f21cc8bcc02407ec.tar.xz |
s390/qeth: remove QETH_RX_PULL_LEN
Since commit f677fcb9aeb6 ("s390/qeth: ensure linear access to packet headers"),
the CQ-specific skbs are allocated with a slightly bigger linear part
than necessary. Shrink it down to the maximum that's needed by
qeth_extract_skb().
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/net/qeth_core.h | 1 | ||||
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index 4ab3be814ea7..7c37e94fb28b 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -221,7 +221,6 @@ struct qeth_vnicc_info { /* large receive scatter gather copy break */ #define QETH_RX_SG_CB (PAGE_SIZE >> 1) -#define QETH_RX_PULL_LEN 256 struct qeth_hdr_layer3 { __u8 id; diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index b32b50384c5c..3be3d13f8d65 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -2627,7 +2627,8 @@ static int qeth_init_input_buffer(struct qeth_card *card, if ((card->options.cq == QETH_CQ_ENABLED) && (!buf->rx_skb)) { buf->rx_skb = netdev_alloc_skb(card->dev, - QETH_RX_PULL_LEN + ETH_HLEN); + ETH_HLEN + + sizeof(struct ipv6hdr)); if (!buf->rx_skb) return 1; } @@ -5264,7 +5265,8 @@ next_packet: if (use_rx_sg) { /* QETH_CQ_ENABLED only: */ - if (qethbuffer->rx_skb) { + if (qethbuffer->rx_skb && + skb_tailroom(qethbuffer->rx_skb) >= linear_len + headroom) { skb = qethbuffer->rx_skb; qethbuffer->rx_skb = NULL; goto use_skb; |