smsc95xx.c (348b346b238d9c0e5694c8d0b835a099cb383835) smsc95xx.c (80667ac13a6cf2c3a3ff275a2a72809671299acb)
1 /***************************************************************************
2 *
3 * Copyright (C) 2007-2008 SMSC
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.

--- 1094 unchanged lines hidden (view full) ---

1103
1104 /* get the packet length */
1105 size = (u16)((header & RX_STS_FL_) >> 16);
1106 align_count = (4 - ((size + NET_IP_ALIGN) % 4)) % 4;
1107
1108 if (unlikely(header & RX_STS_ES_)) {
1109 if (netif_msg_rx_err(dev))
1110 devdbg(dev, "Error header=0x%08x", header);
1 /***************************************************************************
2 *
3 * Copyright (C) 2007-2008 SMSC
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.

--- 1094 unchanged lines hidden (view full) ---

1103
1104 /* get the packet length */
1105 size = (u16)((header & RX_STS_FL_) >> 16);
1106 align_count = (4 - ((size + NET_IP_ALIGN) % 4)) % 4;
1107
1108 if (unlikely(header & RX_STS_ES_)) {
1109 if (netif_msg_rx_err(dev))
1110 devdbg(dev, "Error header=0x%08x", header);
1111 dev->stats.rx_errors++;
1112 dev->stats.rx_dropped++;
1111 dev->net->stats.rx_errors++;
1112 dev->net->stats.rx_dropped++;
1113
1114 if (header & RX_STS_CRC_) {
1113
1114 if (header & RX_STS_CRC_) {
1115 dev->stats.rx_crc_errors++;
1115 dev->net->stats.rx_crc_errors++;
1116 } else {
1117 if (header & (RX_STS_TL_ | RX_STS_RF_))
1116 } else {
1117 if (header & (RX_STS_TL_ | RX_STS_RF_))
1118 dev->stats.rx_frame_errors++;
1118 dev->net->stats.rx_frame_errors++;
1119
1120 if ((header & RX_STS_LE_) &&
1121 (!(header & RX_STS_FT_)))
1119
1120 if ((header & RX_STS_LE_) &&
1121 (!(header & RX_STS_FT_)))
1122 dev->stats.rx_length_errors++;
1122 dev->net->stats.rx_length_errors++;
1123 }
1124 } else {
1125 /* ETH_FRAME_LEN + 4(CRC) + 2(COE) + 4(Vlan) */
1126 if (unlikely(size > (ETH_FRAME_LEN + 12))) {
1127 if (netif_msg_rx_err(dev))
1128 devdbg(dev, "size err header=0x%08x",
1129 header);
1130 return 0;

--- 147 unchanged lines hidden ---
1123 }
1124 } else {
1125 /* ETH_FRAME_LEN + 4(CRC) + 2(COE) + 4(Vlan) */
1126 if (unlikely(size > (ETH_FRAME_LEN + 12))) {
1127 if (netif_msg_rx_err(dev))
1128 devdbg(dev, "size err header=0x%08x",
1129 header);
1130 return 0;

--- 147 unchanged lines hidden ---