Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (1232 commits) iucv: Fix bad merging. net_sched: Add size table for qdiscs net_sched: Add accessor function for packet length for qdiscs net_sched: Add qdisc_enqueue wrapper highmem: Export totalhigh_pages. ipv6 mcast: Omit redundant address family checks in ip6_mc_source(). net: Use standard structures for generic socket address structures. ipv6 netns: Make several "global" sysctl variables namespace aware. netns: Use net_eq() to compare net-namespaces for optimization. ipv6: remove unused macros from net/ipv6.h ipv6: remove unused parameter from ip6_ra_control tcp: fix kernel panic with listening_get_next tcp: Remove redundant checks when setting eff_sacks tcp: options clean up tcp: Fix MD5 signatures for non-linear skbs sctp: Update sctp global memory limit allocations. sctp: remove unnecessary byteshifting, calculate directly in big-endian sctp: Allow only 1 listening socket with SO_REUSEADDR sctp: Do not leak memory on multiple listen() calls sctp: Support ipv6only AF_INET6 sockets. ...
This commit is contained in:
@@ -6631,9 +6631,8 @@ static bool mgsl_get_rx_frame(struct mgsl_struct *info)
|
||||
framesize = 0;
|
||||
#if SYNCLINK_GENERIC_HDLC
|
||||
{
|
||||
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
||||
stats->rx_errors++;
|
||||
stats->rx_frame_errors++;
|
||||
info->netdev->stats.rx_errors++;
|
||||
info->netdev->stats.rx_frame_errors++;
|
||||
}
|
||||
#endif
|
||||
} else
|
||||
@@ -7744,7 +7743,6 @@ static int hdlcdev_attach(struct net_device *dev, unsigned short encoding,
|
||||
static int hdlcdev_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
struct mgsl_struct *info = dev_to_port(dev);
|
||||
struct net_device_stats *stats = hdlc_stats(dev);
|
||||
unsigned long flags;
|
||||
|
||||
if (debug_level >= DEBUG_LEVEL_INFO)
|
||||
@@ -7758,8 +7756,8 @@ static int hdlcdev_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
mgsl_load_tx_dma_buffer(info, skb->data, skb->len);
|
||||
|
||||
/* update network statistics */
|
||||
stats->tx_packets++;
|
||||
stats->tx_bytes += skb->len;
|
||||
dev->stats.tx_packets++;
|
||||
dev->stats.tx_bytes += skb->len;
|
||||
|
||||
/* done with socket buffer, so free it */
|
||||
dev_kfree_skb(skb);
|
||||
@@ -7975,14 +7973,13 @@ static int hdlcdev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
||||
static void hdlcdev_tx_timeout(struct net_device *dev)
|
||||
{
|
||||
struct mgsl_struct *info = dev_to_port(dev);
|
||||
struct net_device_stats *stats = hdlc_stats(dev);
|
||||
unsigned long flags;
|
||||
|
||||
if (debug_level >= DEBUG_LEVEL_INFO)
|
||||
printk("hdlcdev_tx_timeout(%s)\n",dev->name);
|
||||
|
||||
stats->tx_errors++;
|
||||
stats->tx_aborted_errors++;
|
||||
dev->stats.tx_errors++;
|
||||
dev->stats.tx_aborted_errors++;
|
||||
|
||||
spin_lock_irqsave(&info->irq_spinlock,flags);
|
||||
usc_stop_transmitter(info);
|
||||
@@ -8015,27 +8012,27 @@ static void hdlcdev_rx(struct mgsl_struct *info, char *buf, int size)
|
||||
{
|
||||
struct sk_buff *skb = dev_alloc_skb(size);
|
||||
struct net_device *dev = info->netdev;
|
||||
struct net_device_stats *stats = hdlc_stats(dev);
|
||||
|
||||
if (debug_level >= DEBUG_LEVEL_INFO)
|
||||
printk("hdlcdev_rx(%s)\n",dev->name);
|
||||
printk("hdlcdev_rx(%s)\n", dev->name);
|
||||
|
||||
if (skb == NULL) {
|
||||
printk(KERN_NOTICE "%s: can't alloc skb, dropping packet\n", dev->name);
|
||||
stats->rx_dropped++;
|
||||
printk(KERN_NOTICE "%s: can't alloc skb, dropping packet\n",
|
||||
dev->name);
|
||||
dev->stats.rx_dropped++;
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy(skb_put(skb, size),buf,size);
|
||||
memcpy(skb_put(skb, size), buf, size);
|
||||
|
||||
skb->protocol = hdlc_type_trans(skb, info->netdev);
|
||||
skb->protocol = hdlc_type_trans(skb, dev);
|
||||
|
||||
stats->rx_packets++;
|
||||
stats->rx_bytes += size;
|
||||
dev->stats.rx_packets++;
|
||||
dev->stats.rx_bytes += size;
|
||||
|
||||
netif_rx(skb);
|
||||
|
||||
info->netdev->last_rx = jiffies;
|
||||
dev->last_rx = jiffies;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user