提交 a32959cd 编写于 作者: R Ron Mercer 提交者: David S. Miller

qlge: Drop inbound error frames.

Signed-off-by: NRon Mercer <ron.mercer@qlogic.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 e4059d94
...@@ -1525,6 +1525,13 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev, ...@@ -1525,6 +1525,13 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev,
return; return;
} }
/* Frame error, so drop the packet. */
if (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_ERR_MASK) {
QPRINTK(qdev, DRV, ERR, "Receive error, flags2 = 0x%x\n",
ib_mac_rsp->flags2);
dev_kfree_skb_any(skb);
return;
}
prefetch(skb->data); prefetch(skb->data);
skb->dev = ndev; skb->dev = ndev;
if (ib_mac_rsp->flags1 & IB_MAC_IOCB_RSP_M_MASK) { if (ib_mac_rsp->flags1 & IB_MAC_IOCB_RSP_M_MASK) {
...@@ -1547,7 +1554,6 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev, ...@@ -1547,7 +1554,6 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev,
* csum or frame errors. * csum or frame errors.
*/ */
if (qdev->rx_csum && if (qdev->rx_csum &&
!(ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_ERR_MASK) &&
!(ib_mac_rsp->flags1 & IB_MAC_CSUM_ERR_MASK)) { !(ib_mac_rsp->flags1 & IB_MAC_CSUM_ERR_MASK)) {
/* TCP frame. */ /* TCP frame. */
if (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_T) { if (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_T) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册