Hello With a 2.6.8.1 kernel, using eql as a module, I have the problem when I remove the interfaces under eql without using eql_emancipate ioctl (it is ppp interfaces which are removed sometimes). When I try to add a new slave interface after having removed several interfaces, I have the error : EQL_ENSLAVE failed: No space left on device I have looked at the drivers/net/eql.c code and it seems that the num_slaves variable is not decremented properly when a dead interface is detected. I have modified the code to decrement num_slaves needed (after each eql_kill_one_slave call) and it works much better. Here is the patch. I hope it could be merged. Please Cc me on answer, I'm not on the list. Regards. -- Loïc --- diff -Nur a/drivers/net/eql.c b/drivers/net/eql.c --- a/drivers/net/eql.c 2004-08-14 07:37:40.000000000 +0200 +++ b/drivers/net/eql.c 2004-09-03 15:16:41.000000000 +0200 @@ -319,6 +319,7 @@ } else { /* We found a dead slave, kill it. */ eql_kill_one_slave(slave); + queue->num_slaves--; } } return best_slave; @@ -392,8 +393,10 @@ slave_t *duplicate_slave = NULL; duplicate_slave = __eql_find_slave_dev(queue, slave->dev); - if (duplicate_slave != 0) + if (duplicate_slave != 0) { eql_kill_one_slave(duplicate_slave); + queue->num_slaves--; + } list_add(&slave->list, &queue->all_slaves); queue->num_slaves++; @@ -472,6 +475,7 @@ if (slave) { eql_kill_one_slave(slave); + eql->queue.num_slaves--; ret = 0; } } - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html