Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 127763
b: refs/heads/master
c: af04908
h: refs/heads/master
i:
  127761: 56d377f
  127759: 774b303
v: v3
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Jan 6, 2009
1 parent f05f81b commit 9bd9770
Show file tree
Hide file tree
Showing 27 changed files with 231 additions and 392 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 46377bb311a7682f6240c954c48e81a1e4f51e66
refs/heads/master: af0490810cfa159b4894ddecfc5eb2e4432fb976
45 changes: 16 additions & 29 deletions trunk/drivers/net/irda/ali-ircc.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ static int ali_ircc_net_open(struct net_device *dev);
static int ali_ircc_net_close(struct net_device *dev);
static int ali_ircc_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static void ali_ircc_change_speed(struct ali_ircc_cb *self, __u32 baud);
static struct net_device_stats *ali_ircc_net_get_stats(struct net_device *dev);

/* SIR function */
static int ali_ircc_sir_hard_xmit(struct sk_buff *skb, struct net_device *dev);
Expand Down Expand Up @@ -366,7 +365,6 @@ static int ali_ircc_open(int i, chipio_t *info)
dev->open = ali_ircc_net_open;
dev->stop = ali_ircc_net_close;
dev->do_ioctl = ali_ircc_net_ioctl;
dev->get_stats = ali_ircc_net_get_stats;

err = register_netdev(dev);
if (err) {
Expand Down Expand Up @@ -876,7 +874,7 @@ static void ali_ircc_sir_receive(struct ali_ircc_cb *self)
* async_unwrap_char will deliver all found frames
*/
do {
async_unwrap_char(self->netdev, &self->stats, &self->rx_buff,
async_unwrap_char(self->netdev, &self->netdev->stats, &self->rx_buff,
inb(iobase+UART_RX));

/* Make sure we don't stay here too long */
Expand Down Expand Up @@ -943,7 +941,7 @@ static void ali_ircc_sir_write_wakeup(struct ali_ircc_cb *self)
netif_wake_queue(self->netdev);
}

self->stats.tx_packets++;
self->netdev->stats.tx_packets++;

/* Turn on receive interrupts */
outb(UART_IER_RDI, iobase+UART_IER);
Expand Down Expand Up @@ -1467,7 +1465,7 @@ static int ali_ircc_fir_hard_xmit(struct sk_buff *skb, struct net_device *dev)
self->tx_fifo.queue[self->tx_fifo.free].len = skb->len;
self->tx_fifo.tail += skb->len;

self->stats.tx_bytes += skb->len;
dev->stats.tx_bytes += skb->len;

skb_copy_from_linear_data(skb, self->tx_fifo.queue[self->tx_fifo.free].start,
skb->len);
Expand Down Expand Up @@ -1661,12 +1659,12 @@ static int ali_ircc_dma_xmit_complete(struct ali_ircc_cb *self)

{
IRDA_ERROR("%s(), ********* LSR_FRAME_ABORT *********\n", __func__);
self->stats.tx_errors++;
self->stats.tx_fifo_errors++;
self->netdev->stats.tx_errors++;
self->netdev->stats.tx_fifo_errors++;
}
else
{
self->stats.tx_packets++;
self->netdev->stats.tx_packets++;
}

/* Check if we need to change the speed */
Expand Down Expand Up @@ -1831,35 +1829,35 @@ static int ali_ircc_dma_receive_complete(struct ali_ircc_cb *self)
IRDA_DEBUG(0,"%s(), ************* RX Errors ************ \n", __func__ );

/* Skip frame */
self->stats.rx_errors++;
self->netdev->stats.rx_errors++;

self->rx_buff.data += len;

if (status & LSR_FIFO_UR)
{
self->stats.rx_frame_errors++;
self->netdev->stats.rx_frame_errors++;
IRDA_DEBUG(0,"%s(), ************* FIFO Errors ************ \n", __func__ );
}
if (status & LSR_FRAME_ERROR)
{
self->stats.rx_frame_errors++;
self->netdev->stats.rx_frame_errors++;
IRDA_DEBUG(0,"%s(), ************* FRAME Errors ************ \n", __func__ );
}

if (status & LSR_CRC_ERROR)
{
self->stats.rx_crc_errors++;
self->netdev->stats.rx_crc_errors++;
IRDA_DEBUG(0,"%s(), ************* CRC Errors ************ \n", __func__ );
}

if(self->rcvFramesOverflow)
{
self->stats.rx_frame_errors++;
self->netdev->stats.rx_frame_errors++;
IRDA_DEBUG(0,"%s(), ************* Overran DMA buffer ************ \n", __func__ );
}
if(len == 0)
{
self->stats.rx_frame_errors++;
self->netdev->stats.rx_frame_errors++;
IRDA_DEBUG(0,"%s(), ********** Receive Frame Size = 0 ********* \n", __func__ );
}
}
Expand Down Expand Up @@ -1910,7 +1908,7 @@ static int ali_ircc_dma_receive_complete(struct ali_ircc_cb *self)
IRDA_WARNING("%s(), memory squeeze, "
"dropping frame.\n",
__func__);
self->stats.rx_dropped++;
self->netdev->stats.rx_dropped++;

return FALSE;
}
Expand All @@ -1924,8 +1922,8 @@ static int ali_ircc_dma_receive_complete(struct ali_ircc_cb *self)

/* Move to next frame */
self->rx_buff.data += len;
self->stats.rx_bytes += len;
self->stats.rx_packets++;
self->netdev->stats.rx_bytes += len;
self->netdev->stats.rx_packets++;

skb->dev = self->netdev;
skb_reset_mac_header(skb);
Expand Down Expand Up @@ -1994,7 +1992,7 @@ static int ali_ircc_sir_hard_xmit(struct sk_buff *skb, struct net_device *dev)
self->tx_buff.len = async_wrap_skb(skb, self->tx_buff.data,
self->tx_buff.truesize);

self->stats.tx_bytes += self->tx_buff.len;
self->netdev->stats.tx_bytes += self->tx_buff.len;

/* Turn on transmit finished interrupt. Will fire immediately! */
outb(UART_IER_THRI, iobase+UART_IER);
Expand Down Expand Up @@ -2111,17 +2109,6 @@ static int ali_ircc_is_receiving(struct ali_ircc_cb *self)
return status;
}

static struct net_device_stats *ali_ircc_net_get_stats(struct net_device *dev)
{
struct ali_ircc_cb *self = netdev_priv(dev);

IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __func__ );

IRDA_DEBUG(2, "%s(), ----------------- End ------------------\n", __func__ );

return &self->stats;
}

static int ali_ircc_suspend(struct platform_device *dev, pm_message_t state)
{
struct ali_ircc_cb *self = platform_get_drvdata(dev);
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/irda/ali-ircc.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ struct ali_ircc_cb {
struct tx_fifo tx_fifo; /* Info about frames to be transmitted */

struct net_device *netdev; /* Yes! we are some kind of netdevice */
struct net_device_stats stats;

struct irlap_cb *irlap; /* The link layer we are binded to */
struct qos_info qos; /* QoS capabilities for this device */
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/irda/au1000_ircc.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ struct au1k_private {
iobuff_t rx_buff;

struct net_device *netdev;
struct net_device_stats stats;

struct timeval stamp;
struct timeval now;
Expand Down
9 changes: 0 additions & 9 deletions trunk/drivers/net/irda/au1k_ir.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ static int au1k_irda_hard_xmit(struct sk_buff *, struct net_device *);
static int au1k_irda_rx(struct net_device *);
static void au1k_irda_interrupt(int, void *);
static void au1k_tx_timeout(struct net_device *);
static struct net_device_stats *au1k_irda_stats(struct net_device *);
static int au1k_irda_ioctl(struct net_device *, struct ifreq *, int);
static int au1k_irda_set_speed(struct net_device *dev, int speed);

Expand Down Expand Up @@ -213,7 +212,6 @@ static int au1k_irda_net_init(struct net_device *dev)
dev->open = au1k_irda_start;
dev->hard_start_xmit = au1k_irda_hard_xmit;
dev->stop = au1k_irda_stop;
dev->get_stats = au1k_irda_stats;
dev->do_ioctl = au1k_irda_ioctl;
dev->tx_timeout = au1k_tx_timeout;

Expand Down Expand Up @@ -832,13 +830,6 @@ au1k_irda_ioctl(struct net_device *dev, struct ifreq *ifreq, int cmd)
return ret;
}


static struct net_device_stats *au1k_irda_stats(struct net_device *dev)
{
struct au1k_private *aup = netdev_priv(dev);
return &aup->stats;
}

MODULE_AUTHOR("Pete Popov <ppopov@mvista.com>");
MODULE_DESCRIPTION("Au1000 IrDA Device Driver");

Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/irda/donauboe.h
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,6 @@ struct OboeRing
struct toshoboe_cb
{
struct net_device *netdev; /* Yes! we are some kind of netdevice */
struct net_device_stats stats;
struct tty_driver ttydev;

struct irlap_cb *irlap; /* The link layer we are binded to */
Expand Down
28 changes: 9 additions & 19 deletions trunk/drivers/net/irda/irda-usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ static int irda_usb_net_open(struct net_device *dev);
static int irda_usb_net_close(struct net_device *dev);
static int irda_usb_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static void irda_usb_net_timeout(struct net_device *dev);
static struct net_device_stats *irda_usb_net_get_stats(struct net_device *dev);

/************************ TRANSMIT ROUTINES ************************/
/*
Expand Down Expand Up @@ -525,13 +524,13 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
/* Ask USB to send the packet - Irq disabled -> GFP_ATOMIC */
if ((res = usb_submit_urb(urb, GFP_ATOMIC))) {
IRDA_WARNING("%s(), failed Tx URB\n", __func__);
self->stats.tx_errors++;
netdev->stats.tx_errors++;
/* Let USB recover : We will catch that in the watchdog */
/*netif_start_queue(netdev);*/
} else {
/* Increment packet stats */
self->stats.tx_packets++;
self->stats.tx_bytes += skb->len;
netdev->stats.tx_packets++;
netdev->stats.tx_bytes += skb->len;

netdev->trans_start = jiffies;
}
Expand Down Expand Up @@ -677,7 +676,7 @@ static void irda_usb_net_timeout(struct net_device *netdev)
IRDA_DEBUG(0, "%s: Tx timed out, urb->status=%d, urb->transfer_flags=0x%04X\n", netdev->name, urb->status, urb->transfer_flags);

/* Increase error count */
self->stats.tx_errors++;
netdev->stats.tx_errors++;

#ifdef IU_BUG_KICK_TIMEOUT
/* Can't be a bad idea to reset the speed ;-) - Jean II */
Expand Down Expand Up @@ -826,7 +825,7 @@ static void irda_usb_receive(struct urb *urb)
if (urb->status != 0) {
switch (urb->status) {
case -EILSEQ:
self->stats.rx_crc_errors++;
self->netdev->stats.rx_crc_errors++;
/* Also precursor to a hot-unplug on UHCI. */
/* Fallthrough... */
case -ECONNRESET:
Expand All @@ -839,7 +838,7 @@ static void irda_usb_receive(struct urb *urb)
case -ETIME:
/* Usually precursor to a hot-unplug on OHCI. */
default:
self->stats.rx_errors++;
self->netdev->stats.rx_errors++;
IRDA_DEBUG(0, "%s(), RX status %d, transfer_flags 0x%04X \n", __func__, urb->status, urb->transfer_flags);
break;
}
Expand Down Expand Up @@ -890,7 +889,7 @@ static void irda_usb_receive(struct urb *urb)
IRDA_SKB_MAX_MTU);

if (!newskb) {
self->stats.rx_dropped++;
self->netdev->stats.rx_dropped++;
/* We could deliver the current skb, but this would stall
* the Rx path. Better drop the packet... Jean II */
goto done;
Expand Down Expand Up @@ -927,8 +926,8 @@ static void irda_usb_receive(struct urb *urb)
netif_rx(dataskb);

/* Keep stats up to date */
self->stats.rx_bytes += len;
self->stats.rx_packets++;
self->netdev->stats.rx_bytes += len;
self->netdev->stats.rx_packets++;

done:
/* Note : at this point, the URB we've just received (urb)
Expand Down Expand Up @@ -1342,14 +1341,6 @@ static int irda_usb_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
}

/*------------------------------------------------------------------*/
/*
* Get device stats (for /proc/net/dev and ifconfig)
*/
static struct net_device_stats *irda_usb_net_get_stats(struct net_device *dev)
{
struct irda_usb_cb *self = netdev_priv(dev);
return &self->stats;
}

/********************* IRDA CONFIG SUBROUTINES *********************/
/*
Expand Down Expand Up @@ -1428,7 +1419,6 @@ static inline int irda_usb_open(struct irda_usb_cb *self)
netdev->watchdog_timeo = 250*HZ/1000; /* 250 ms > USB timeout */
netdev->open = irda_usb_net_open;
netdev->stop = irda_usb_net_close;
netdev->get_stats = irda_usb_net_get_stats;
netdev->do_ioctl = irda_usb_net_ioctl;

return register_netdev(netdev);
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/irda/irda-usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ struct irda_usb_cb {
struct urb *speed_urb; /* URB used to send speed commands */

struct net_device *netdev; /* Yes! we are some kind of netdev. */
struct net_device_stats stats;
struct irlap_cb *irlap; /* The link layer we are binded to */
struct qos_info qos;
char *speed_buff; /* Buffer for speed changes */
Expand Down
20 changes: 5 additions & 15 deletions trunk/drivers/net/irda/kingsun-sir.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ struct kingsun_cb {
struct usb_device *usbdev; /* init: probe_irda */
struct net_device *netdev; /* network layer */
struct irlap_cb *irlap; /* The link layer we are binded to */
struct net_device_stats stats; /* network statistics */

struct qos_info qos;

__u8 *in_buf; /* receive buffer */
Expand Down Expand Up @@ -186,12 +186,12 @@ static int kingsun_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
case -EPIPE:
break;
default:
kingsun->stats.tx_errors++;
netdev->stats.tx_errors++;
netif_start_queue(netdev);
}
} else {
kingsun->stats.tx_packets++;
kingsun->stats.tx_bytes += skb->len;
netdev->stats.tx_packets++;
netdev->stats.tx_bytes += skb->len;
}

dev_kfree_skb(skb);
Expand Down Expand Up @@ -232,7 +232,7 @@ static void kingsun_rcv_irq(struct urb *urb)
if (bytes[0] >= 1 && bytes[0] < kingsun->max_rx) {
for (i = 1; i <= bytes[0]; i++) {
async_unwrap_char(kingsun->netdev,
&kingsun->stats,
&kingsun->netdev->stats,
&kingsun->rx_buff, bytes[i]);
}
do_gettimeofday(&kingsun->rx_time);
Expand Down Expand Up @@ -418,15 +418,6 @@ static int kingsun_net_ioctl(struct net_device *netdev, struct ifreq *rq,
return ret;
}

/*
* Get device stats (for /proc/net/dev and ifconfig)
*/
static struct net_device_stats *
kingsun_net_get_stats(struct net_device *netdev)
{
struct kingsun_cb *kingsun = netdev_priv(netdev);
return &kingsun->stats;
}

/*
* This routine is called by the USB subsystem for each new device
Expand Down Expand Up @@ -532,7 +523,6 @@ static int kingsun_probe(struct usb_interface *intf,
net->hard_start_xmit = kingsun_hard_xmit;
net->open = kingsun_net_open;
net->stop = kingsun_net_close;
net->get_stats = kingsun_net_get_stats;
net->do_ioctl = kingsun_net_ioctl;

ret = register_netdev(net);
Expand Down
Loading

0 comments on commit 9bd9770

Please sign in to comment.