git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
drivers
/
net
/
eql.c
diff --git
a/drivers/net/eql.c
b/drivers/net/eql.c
index
fd66d27
..
815436c
100644
(file)
--- a/
drivers/net/eql.c
+++ b/
drivers/net/eql.c
@@
-132,7
+132,7
@@
static struct net_device_stats *eql_get_stats(struct net_device *dev);
#define eql_is_slave(dev) ((dev->flags & IFF_SLAVE) == IFF_SLAVE)
#define eql_is_master(dev) ((dev->flags & IFF_MASTER) == IFF_MASTER)
#define eql_is_slave(dev) ((dev->flags & IFF_SLAVE) == IFF_SLAVE)
#define eql_is_master(dev) ((dev->flags & IFF_MASTER) == IFF_MASTER)
-static void eql_kill_one_slave(slave_t *slave);
+static void eql_kill_one_slave(slave_
queue_t *queue, slave_
t *slave);
static void eql_timer(unsigned long param)
{
static void eql_timer(unsigned long param)
{
@@
-149,7
+149,7
@@
static void eql_timer(unsigned long param)
if (slave->bytes_queued < 0)
slave->bytes_queued = 0;
} else {
if (slave->bytes_queued < 0)
slave->bytes_queued = 0;
} else {
- eql_kill_one_slave(slave);
+ eql_kill_one_slave(
&eql->queue,
slave);
}
}
}
}
@@
-203,8
+203,7
@@
static int eql_open(struct net_device *dev)
printk(KERN_INFO "%s: remember to turn off Van-Jacobson compression on "
"your slave devices.\n", dev->name);
printk(KERN_INFO "%s: remember to turn off Van-Jacobson compression on "
"your slave devices.\n", dev->name);
- if (!list_empty(&eql->queue.all_slaves))
- BUG();
+ BUG_ON(!list_empty(&eql->queue.all_slaves));
eql->min_slaves = 1;
eql->max_slaves = EQL_DEFAULT_MAX_SLAVES; /* 4 usually... */
eql->min_slaves = 1;
eql->max_slaves = EQL_DEFAULT_MAX_SLAVES; /* 4 usually... */
@@
-214,9
+213,10
@@
static int eql_open(struct net_device *dev)
return 0;
}
return 0;
}
-static void eql_kill_one_slave(slave_t *slave)
+static void eql_kill_one_slave(slave_
queue_t *queue, slave_
t *slave)
{
list_del(&slave->list);
{
list_del(&slave->list);
+ queue->num_slaves--;
slave->dev->flags &= ~IFF_SLAVE;
dev_put(slave->dev);
kfree(slave);
slave->dev->flags &= ~IFF_SLAVE;
dev_put(slave->dev);
kfree(slave);
@@
-232,8
+232,7
@@
static void eql_kill_slave_queue(slave_queue_t *queue)
list_for_each_safe(this, tmp, head) {
slave_t *s = list_entry(this, slave_t, list);
list_for_each_safe(this, tmp, head) {
slave_t *s = list_entry(this, slave_t, list);
- eql_kill_one_slave(s);
- queue->num_slaves--;
+ eql_kill_one_slave(queue, s);
}
spin_unlock_bh(&queue->lock);
}
spin_unlock_bh(&queue->lock);
@@
-318,7
+317,7
@@
static slave_t *__eql_schedule_slaves(slave_queue_t *queue)
}
} else {
/* We found a dead slave, kill it. */
}
} else {
/* We found a dead slave, kill it. */
- eql_kill_one_slave(slave);
+ eql_kill_one_slave(
queue,
slave);
}
}
return best_slave;
}
}
return best_slave;
@@
-393,7
+392,7
@@
static int __eql_insert_slave(slave_queue_t *queue, slave_t *slave)
duplicate_slave = __eql_find_slave_dev(queue, slave->dev);
if (duplicate_slave != 0)
duplicate_slave = __eql_find_slave_dev(queue, slave->dev);
if (duplicate_slave != 0)
- eql_kill_one_slave(duplicate_slave);
+ eql_kill_one_slave(
queue,
duplicate_slave);
list_add(&slave->list, &queue->all_slaves);
queue->num_slaves++;
list_add(&slave->list, &queue->all_slaves);
queue->num_slaves++;
@@
-471,7
+470,7
@@
static int eql_emancipate(struct net_device *master_dev, slaving_request_t __use
slave_dev);
if (slave) {
slave_dev);
if (slave) {
- eql_kill_one_slave(slave);
+ eql_kill_one_slave(
&eql->queue,
slave);
ret = 0;
}
}
ret = 0;
}
}
@@
-499,8
+498,6
@@
static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
return -ENODEV;
ret = -EINVAL;
return -ENODEV;
ret = -EINVAL;
- if (!slave_dev)
- return ret;
spin_lock_bh(&eql->queue.lock);
if (eql_is_slave(slave_dev)) {
spin_lock_bh(&eql->queue.lock);
if (eql_is_slave(slave_dev)) {
@@
-536,8
+533,6
@@
static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
return -ENODEV;
ret = -EINVAL;
return -ENODEV;
ret = -EINVAL;
- if (!slave_dev)
- return ret;
eql = netdev_priv(dev);
spin_lock_bh(&eql->queue.lock);
eql = netdev_priv(dev);
spin_lock_bh(&eql->queue.lock);