Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/wireless/p54/p54common.c
This commit is contained in:
@@ -324,6 +324,38 @@ void unregister_pernet_subsys(struct pernet_operations *module)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(unregister_pernet_subsys);
|
||||
|
||||
int register_pernet_gen_subsys(int *id, struct pernet_operations *ops)
|
||||
{
|
||||
int rv;
|
||||
|
||||
mutex_lock(&net_mutex);
|
||||
again:
|
||||
rv = ida_get_new_above(&net_generic_ids, 1, id);
|
||||
if (rv < 0) {
|
||||
if (rv == -EAGAIN) {
|
||||
ida_pre_get(&net_generic_ids, GFP_KERNEL);
|
||||
goto again;
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
rv = register_pernet_operations(first_device, ops);
|
||||
if (rv < 0)
|
||||
ida_remove(&net_generic_ids, *id);
|
||||
mutex_unlock(&net_mutex);
|
||||
out:
|
||||
return rv;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(register_pernet_gen_subsys);
|
||||
|
||||
void unregister_pernet_gen_subsys(int id, struct pernet_operations *ops)
|
||||
{
|
||||
mutex_lock(&net_mutex);
|
||||
unregister_pernet_operations(ops);
|
||||
ida_remove(&net_generic_ids, id);
|
||||
mutex_unlock(&net_mutex);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(unregister_pernet_gen_subsys);
|
||||
|
||||
/**
|
||||
* register_pernet_device - register a network namespace device
|
||||
* @ops: pernet operations structure for the subsystem
|
||||
|
@@ -1972,28 +1972,27 @@ static void pktgen_setup_inject(struct pktgen_dev *pkt_dev)
|
||||
|
||||
/* make sure that we don't pick a non-existing transmit queue */
|
||||
ntxq = pkt_dev->odev->real_num_tx_queues;
|
||||
if (ntxq <= num_online_cpus() && (pkt_dev->flags & F_QUEUE_MAP_CPU)) {
|
||||
if (ntxq > num_online_cpus() && (pkt_dev->flags & F_QUEUE_MAP_CPU)) {
|
||||
printk(KERN_WARNING "pktgen: WARNING: QUEUE_MAP_CPU "
|
||||
"disabled because CPU count (%d) exceeds number ",
|
||||
num_online_cpus());
|
||||
printk(KERN_WARNING "pktgen: WARNING: of tx queues "
|
||||
"(%d) on %s \n", ntxq, pkt_dev->odev->name);
|
||||
"disabled because CPU count (%d) exceeds number "
|
||||
"of tx queues (%d) on %s\n", num_online_cpus(), ntxq,
|
||||
pkt_dev->odev->name);
|
||||
pkt_dev->flags &= ~F_QUEUE_MAP_CPU;
|
||||
}
|
||||
if (ntxq <= pkt_dev->queue_map_min) {
|
||||
printk(KERN_WARNING "pktgen: WARNING: Requested "
|
||||
"queue_map_min (%d) exceeds number of tx\n",
|
||||
pkt_dev->queue_map_min);
|
||||
printk(KERN_WARNING "pktgen: WARNING: queues (%d) on "
|
||||
"%s, resetting\n", ntxq, pkt_dev->odev->name);
|
||||
"queue_map_min (zero-based) (%d) exceeds valid range "
|
||||
"[0 - %d] for (%d) queues on %s, resetting\n",
|
||||
pkt_dev->queue_map_min, (ntxq ?: 1)- 1, ntxq,
|
||||
pkt_dev->odev->name);
|
||||
pkt_dev->queue_map_min = ntxq - 1;
|
||||
}
|
||||
if (ntxq <= pkt_dev->queue_map_max) {
|
||||
if (pkt_dev->queue_map_max >= ntxq) {
|
||||
printk(KERN_WARNING "pktgen: WARNING: Requested "
|
||||
"queue_map_max (%d) exceeds number of tx\n",
|
||||
pkt_dev->queue_map_max);
|
||||
printk(KERN_WARNING "pktgen: WARNING: queues (%d) on "
|
||||
"%s, resetting\n", ntxq, pkt_dev->odev->name);
|
||||
"queue_map_max (zero-based) (%d) exceeds valid range "
|
||||
"[0 - %d] for (%d) queues on %s, resetting\n",
|
||||
pkt_dev->queue_map_max, (ntxq ?: 1)- 1, ntxq,
|
||||
pkt_dev->odev->name);
|
||||
pkt_dev->queue_map_max = ntxq - 1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user