X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Feql.c;h=fd66d2722adac8f885d5cabc7265f228861a3710;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=816534011d8012b4af8fee80750fe8f5b1585983;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/drivers/net/eql.c b/drivers/net/eql.c index 816534011..fd66d2722 100644 --- a/drivers/net/eql.c +++ b/drivers/net/eql.c @@ -164,12 +164,12 @@ static char version[] __initdata = static void __init eql_setup(struct net_device *dev) { - equalizer_t *eql = dev->priv; + equalizer_t *eql = netdev_priv(dev); SET_MODULE_OWNER(dev); init_timer(&eql->timer); - eql->timer.data = (unsigned long) dev->priv; + eql->timer.data = (unsigned long) eql; eql->timer.expires = jiffies + EQL_DEFAULT_RESCHED_IVAL; eql->timer.function = eql_timer; @@ -197,7 +197,7 @@ static void __init eql_setup(struct net_device *dev) static int eql_open(struct net_device *dev) { - equalizer_t *eql = dev->priv; + equalizer_t *eql = netdev_priv(dev); /* XXX We should force this off automatically for the user. */ printk(KERN_INFO "%s: remember to turn off Van-Jacobson compression on " @@ -241,7 +241,7 @@ static void eql_kill_slave_queue(slave_queue_t *queue) static int eql_close(struct net_device *dev) { - equalizer_t *eql = dev->priv; + equalizer_t *eql = netdev_priv(dev); /* * The timer has to be stopped first before we start hacking away @@ -326,7 +326,7 @@ static slave_t *__eql_schedule_slaves(slave_queue_t *queue) static int eql_slave_xmit(struct sk_buff *skb, struct net_device *dev) { - equalizer_t *eql = dev->priv; + equalizer_t *eql = netdev_priv(dev); slave_t *slave; spin_lock(&eql->queue.lock); @@ -352,7 +352,7 @@ static int eql_slave_xmit(struct sk_buff *skb, struct net_device *dev) static struct net_device_stats * eql_get_stats(struct net_device *dev) { - equalizer_t *eql = dev->priv; + equalizer_t *eql = netdev_priv(dev); return &eql->stats; } @@ -378,7 +378,7 @@ static slave_t *__eql_find_slave_dev(slave_queue_t *queue, struct net_device *de static inline int eql_is_full(slave_queue_t *queue) { - equalizer_t *eql = queue->master_dev->priv; + equalizer_t *eql = netdev_priv(queue->master_dev); if (queue->num_slaves >= eql->max_slaves) return 1; @@ -389,7 +389,7 @@ static inline int eql_is_full(slave_queue_t *queue) static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave) { if (!eql_is_full(queue)) { - slave_t *duplicate_slave = 0; + slave_t *duplicate_slave = NULL; duplicate_slave = __eql_find_slave_dev(queue, slave->dev); if (duplicate_slave != 0) @@ -420,7 +420,7 @@ static int eql_enslave(struct net_device *master_dev, slaving_request_t __user * if (!eql_is_master(slave_dev) && !eql_is_slave(slave_dev)) { slave_t *s = kmalloc(sizeof(*s), GFP_KERNEL); - equalizer_t *eql = master_dev->priv; + equalizer_t *eql = netdev_priv(master_dev); int ret; if (!s) { @@ -453,7 +453,7 @@ static int eql_enslave(struct net_device *master_dev, slaving_request_t __user * static int eql_emancipate(struct net_device *master_dev, slaving_request_t __user *srqp) { - equalizer_t *eql = master_dev->priv; + equalizer_t *eql = netdev_priv(master_dev); struct net_device *slave_dev; slaving_request_t srq; int ret; @@ -485,7 +485,7 @@ static int eql_emancipate(struct net_device *master_dev, slaving_request_t __use static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp) { - equalizer_t *eql = dev->priv; + equalizer_t *eql = netdev_priv(dev); slave_t *slave; struct net_device *slave_dev; slave_config_t sc; @@ -495,8 +495,12 @@ static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp) return -EFAULT; slave_dev = dev_get_by_name(sc.slave_name); + if (!slave_dev) + return -ENODEV; ret = -EINVAL; + if (!slave_dev) + return ret; spin_lock_bh(&eql->queue.lock); if (eql_is_slave(slave_dev)) { @@ -527,11 +531,15 @@ static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp) if (copy_from_user(&sc, scp, sizeof (slave_config_t))) return -EFAULT; - eql = dev->priv; slave_dev = dev_get_by_name(sc.slave_name); + if (!slave_dev) + return -ENODEV; ret = -EINVAL; + if (!slave_dev) + return ret; + eql = netdev_priv(dev); spin_lock_bh(&eql->queue.lock); if (eql_is_slave(slave_dev)) { slave = __eql_find_slave_dev(&eql->queue, slave_dev); @@ -553,7 +561,7 @@ static int eql_g_master_cfg(struct net_device *dev, master_config_t __user *mcp) master_config_t mc; if (eql_is_master(dev)) { - eql = dev->priv; + eql = netdev_priv(dev); mc.max_slaves = eql->max_slaves; mc.min_slaves = eql->min_slaves; if (copy_to_user(mcp, &mc, sizeof (master_config_t))) @@ -572,7 +580,7 @@ static int eql_s_master_cfg(struct net_device *dev, master_config_t __user *mcp) return -EFAULT; if (eql_is_master(dev)) { - eql = dev->priv; + eql = netdev_priv(dev); eql->max_slaves = mc.max_slaves; eql->min_slaves = mc.min_slaves; return 0;