X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=drivers%2Fnet%2Fifb.c;h=ca2b21f9d44489f4008761764f520f90a8956053;hb=bcdddfb66cc998252d34758ce4109cedc0d24a5c;hp=43e3f33ed5e20578b57b6872bf1be549a3502fbf;hpb=9b4f2e9576658c4e52d95dc8d309f51b2e2db096;p=sfrench%2Fcifs-2.6.git diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c index 43e3f33ed5e2..ca2b21f9d444 100644 --- a/drivers/net/ifb.c +++ b/drivers/net/ifb.c @@ -1,4 +1,4 @@ -/* drivers/net/ifb.c: +/* drivers/net/ifb.c: The purpose of this driver is to provide a device that allows for sharing of resources: @@ -8,8 +8,8 @@ an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of - dropping. - + dropping. + The original concept is based on what is known as the IMQ driver initially written by Martin Devera, later rewritten by Patrick McHardy and then maintained by Andre Correa. @@ -21,9 +21,9 @@ modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - + Authors: Jamal Hadi Salim (2005) - + */ @@ -33,10 +33,10 @@ #include #include #include -#include +#include #define TX_TIMEOUT (2*HZ) - + #define TX_Q_LIMIT 32 struct ifb_private { struct net_device_stats stats; @@ -64,7 +64,7 @@ static struct net_device_stats *ifb_get_stats(struct net_device *dev); static int ifb_open(struct net_device *dev); static int ifb_close(struct net_device *dev); -static void ri_tasklet(unsigned long dev) +static void ri_tasklet(unsigned long dev) { struct net_device *_dev = (struct net_device *)dev; @@ -154,8 +154,8 @@ static int ifb_xmit(struct sk_buff *skb, struct net_device *dev) int ret = 0; u32 from = G_TC_FROM(skb->tc_verd); - stats->tx_packets++; - stats->tx_bytes+=skb->len; + stats->rx_packets++; + stats->rx_bytes+=skb->len; if (!from || !skb->input_dev) { dropped: @@ -163,7 +163,7 @@ static int ifb_xmit(struct sk_buff *skb, struct net_device *dev) stats->rx_dropped++; return ret; } else { - /* + /* * note we could be going * ingress -> egress or * egress -> ingress @@ -199,9 +199,9 @@ static struct net_device_stats *ifb_get_stats(struct net_device *dev) struct net_device_stats *stats = &dp->stats; pr_debug("tasklets stats %ld:%ld:%ld:%ld:%ld:%ld:%ld:%ld:%ld \n", - dp->st_task_enter, dp->st_txq_refl_try, dp->st_rxq_enter, - dp->st_rx2tx_tran dp->st_rxq_notenter, dp->st_rx_frm_egr, - dp->st_rx_frm_ing, dp->st_rxq_check, dp->st_rxq_rsch ); + dp->st_task_enter, dp->st_txq_refl_try, dp->st_rxq_enter, + dp->st_rx2tx_tran, dp->st_rxq_notenter, dp->st_rx_frm_egr, + dp->st_rx_frm_ing, dp->st_rxq_check, dp->st_rxq_rsch); return stats; } @@ -250,7 +250,7 @@ static int __init ifb_init_one(int index) free_netdev(dev_ifb); dev_ifb = NULL; } else { - ifbs[index] = dev_ifb; + ifbs[index] = dev_ifb; } return err; @@ -260,32 +260,32 @@ static void ifb_free_one(int index) { unregister_netdev(ifbs[index]); free_netdev(ifbs[index]); -} +} static int __init ifb_init_module(void) -{ +{ int i, err = 0; - ifbs = kmalloc(numifbs * sizeof(void *), GFP_KERNEL); + ifbs = kmalloc(numifbs * sizeof(void *), GFP_KERNEL); if (!ifbs) - return -ENOMEM; + return -ENOMEM; for (i = 0; i < numifbs && !err; i++) - err = ifb_init_one(i); - if (err) { + err = ifb_init_one(i); + if (err) { i--; while (--i >= 0) ifb_free_one(i); } return err; -} +} static void __exit ifb_cleanup_module(void) { int i; - for (i = 0; i < numifbs; i++) - ifb_free_one(i); - kfree(ifbs); + for (i = 0; i < numifbs; i++) + ifb_free_one(i); + kfree(ifbs); } module_init(ifb_init_module);