|
@@ -211,6 +211,8 @@ int smp_call_function(void (*func)(void *info), void *info, int wait)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
|
|
+ if (!msg)
|
|
|
|
+ return -ENOMEM;
|
|
INIT_LIST_HEAD(&msg->list);
|
|
INIT_LIST_HEAD(&msg->list);
|
|
msg->call_struct.func = func;
|
|
msg->call_struct.func = func;
|
|
msg->call_struct.info = info;
|
|
msg->call_struct.info = info;
|
|
@@ -252,6 +254,8 @@ int smp_call_function_single(int cpuid, void (*func) (void *info), void *info,
|
|
cpu_set(cpu, callmap);
|
|
cpu_set(cpu, callmap);
|
|
|
|
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
|
|
+ if (!msg)
|
|
|
|
+ return -ENOMEM;
|
|
INIT_LIST_HEAD(&msg->list);
|
|
INIT_LIST_HEAD(&msg->list);
|
|
msg->call_struct.func = func;
|
|
msg->call_struct.func = func;
|
|
msg->call_struct.info = info;
|
|
msg->call_struct.info = info;
|
|
@@ -287,6 +291,8 @@ void smp_send_reschedule(int cpu)
|
|
return;
|
|
return;
|
|
|
|
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
|
|
+ if (!msg)
|
|
|
|
+ return;
|
|
memset(msg, 0, sizeof(msg));
|
|
memset(msg, 0, sizeof(msg));
|
|
INIT_LIST_HEAD(&msg->list);
|
|
INIT_LIST_HEAD(&msg->list);
|
|
msg->type = BFIN_IPI_RESCHEDULE;
|
|
msg->type = BFIN_IPI_RESCHEDULE;
|
|
@@ -314,6 +320,8 @@ void smp_send_stop(void)
|
|
return;
|
|
return;
|
|
|
|
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
msg = kmalloc(sizeof(*msg), GFP_ATOMIC);
|
|
|
|
+ if (!msg)
|
|
|
|
+ return;
|
|
memset(msg, 0, sizeof(msg));
|
|
memset(msg, 0, sizeof(msg));
|
|
INIT_LIST_HEAD(&msg->list);
|
|
INIT_LIST_HEAD(&msg->list);
|
|
msg->type = BFIN_IPI_CPU_STOP;
|
|
msg->type = BFIN_IPI_CPU_STOP;
|