Skip to content

Commit

Permalink
enic: record all bad FCS errs as frame errors
Browse files Browse the repository at this point in the history
Report all bad FCS errs as frames errs.  This includes frames with bad
FCS on wire detected by MAC and frames which may be truncated due to
ingress FIFO overruns.  No longer print a driver msg on bad FCS err.

Signed-off-by: Scott Feldman <scofeldm@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Scott Feldman authored and David S. Miller committed Feb 10, 2009
1 parent ed8af6b commit bd9fb1a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 7 deletions.
1 change: 1 addition & 0 deletions drivers/net/enic/enic.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ struct enic {
____cacheline_aligned struct vnic_rq rq[1];
unsigned int rq_count;
int (*rq_alloc_buf)(struct vnic_rq *rq);
u64 rq_bad_fcs;
struct napi_struct napi;
struct net_lro_mgr lro_mgr;
struct net_lro_desc lro_desc[ENIC_LRO_MAX_DESC];
Expand Down
10 changes: 3 additions & 7 deletions drivers/net/enic/enic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -688,7 +688,7 @@ static struct net_device_stats *enic_get_stats(struct net_device *netdev)
net_stats->rx_bytes = stats->rx.rx_bytes_ok;
net_stats->rx_errors = stats->rx.rx_errors;
net_stats->multicast = stats->rx.rx_multicast_frames_ok;
net_stats->rx_crc_errors = stats->rx.rx_crc_errors;
net_stats->rx_crc_errors = enic->rq_bad_fcs;
net_stats->rx_dropped = stats->rx.rx_no_bufs;

return net_stats;
Expand Down Expand Up @@ -933,12 +933,8 @@ static void enic_rq_indicate_buf(struct vnic_rq *rq,

if (packet_error) {

if (bytes_written > 0 && !fcs_ok) {
if (net_ratelimit())
printk(KERN_ERR PFX
"%s: packet error: bad FCS\n",
netdev->name);
}
if (bytes_written > 0 && !fcs_ok)
enic->rq_bad_fcs++;

dev_kfree_skb_any(skb);

Expand Down

0 comments on commit bd9fb1a

Please sign in to comment.