From 8b50c838ae9ffa320d13306457c2974b91ad34b2 Mon Sep 17 00:00:00 2001 From: Ron Mercer Date: Wed, 17 Feb 2010 06:41:21 +0000 Subject: [PATCH] --- yaml --- r: 184282 b: refs/heads/master c: c0c56955e7325ba2f910c760111457adc21ef0d4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/qlge/qlge_main.c | 20 +++++--------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index 4971b7248602..e031e318d5b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8ea7a37c5a312bfee51ff7f12f78efe4fbc901cc +refs/heads/master: c0c56955e7325ba2f910c760111457adc21ef0d4 diff --git a/trunk/drivers/net/qlge/qlge_main.c b/trunk/drivers/net/qlge/qlge_main.c index 2c052caee884..0541e777694d 100644 --- a/trunk/drivers/net/qlge/qlge_main.c +++ b/trunk/drivers/net/qlge/qlge_main.c @@ -2066,21 +2066,11 @@ static unsigned long ql_process_mac_rx_intr(struct ql_adapter *qdev, ql_process_mac_rx_page(qdev, rx_ring, ib_mac_rsp, length, vlan_id); } else { - struct bq_desc *lbq_desc; - - /* Free small buffer that holds the IAL */ - lbq_desc = ql_get_curr_sbuf(rx_ring); - netif_err(qdev, rx_err, qdev->ndev, - "Dropping frame, len %d > mtu %d\n", - length, qdev->ndev->mtu); - - /* Unwind the large buffers for this frame. */ - while (length > 0) { - lbq_desc = ql_get_curr_lchunk(qdev, rx_ring); - length -= (length < rx_ring->lbq_buf_size) ? - length : rx_ring->lbq_buf_size; - put_page(lbq_desc->p.pg_chunk.page); - } + /* Non-TCP/UDP large frames that span multiple buffers + * can be processed corrrectly by the split frame logic. + */ + ql_process_mac_split_rx_intr(qdev, rx_ring, ib_mac_rsp, + vlan_id); } return (unsigned long)length;