cpumask: use cpumask_var_t in dcdbas.c
Impact: reduce stack usage. Replace cpumask_t with cpumask_var_t in drivers/firmware/dcdbas.c. Signed-off-by: Mike Travis <travis@sgi.com>
This commit is contained in:
parent
f9b90566cd
commit
c90e785be2
@ -244,7 +244,7 @@ static ssize_t host_control_on_shutdown_store(struct device *dev,
|
|||||||
*/
|
*/
|
||||||
int dcdbas_smi_request(struct smi_cmd *smi_cmd)
|
int dcdbas_smi_request(struct smi_cmd *smi_cmd)
|
||||||
{
|
{
|
||||||
cpumask_t old_mask;
|
cpumask_var_t old_mask;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (smi_cmd->magic != SMI_CMD_MAGIC) {
|
if (smi_cmd->magic != SMI_CMD_MAGIC) {
|
||||||
@ -254,8 +254,11 @@ int dcdbas_smi_request(struct smi_cmd *smi_cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* SMI requires CPU 0 */
|
/* SMI requires CPU 0 */
|
||||||
old_mask = current->cpus_allowed;
|
if (!alloc_cpumask_var(&old_mask, GFP_KERNEL))
|
||||||
set_cpus_allowed_ptr(current, &cpumask_of_cpu(0));
|
return -ENOMEM;
|
||||||
|
|
||||||
|
cpumask_copy(old_mask, ¤t->cpus_allowed);
|
||||||
|
set_cpus_allowed_ptr(current, cpumask_of(0));
|
||||||
if (smp_processor_id() != 0) {
|
if (smp_processor_id() != 0) {
|
||||||
dev_dbg(&dcdbas_pdev->dev, "%s: failed to get CPU 0\n",
|
dev_dbg(&dcdbas_pdev->dev, "%s: failed to get CPU 0\n",
|
||||||
__func__);
|
__func__);
|
||||||
@ -275,7 +278,8 @@ int dcdbas_smi_request(struct smi_cmd *smi_cmd)
|
|||||||
);
|
);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
set_cpus_allowed_ptr(current, &old_mask);
|
set_cpus_allowed_ptr(current, old_mask);
|
||||||
|
free_cpumask_var(old_mask);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user