diff -r fb6a307daf31 -r 5adbf2bc48d9 devices/generic.c --- a/devices/generic.c Mon Mar 01 18:39:06 2010 +0100 +++ b/devices/generic.c Wed Mar 03 21:40:14 2010 +0100 @@ -408,7 +408,7 @@ for_each_netdev(&init_net, netdev) { if (netdev->type != ARPHRD_ETHER) continue; - desc = kmalloc(sizeof(ec_gen_interface_desc_t), GFP_KERNEL); + desc = kmalloc(sizeof(ec_gen_interface_desc_t), GFP_ATOMIC); if (!desc) { ret = -ENOMEM; read_unlock(&dev_base_lock);