提交 c90e785b 编写于 作者: M Mike Travis 提交者: Ingo Molnar

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: NMike Travis <travis@sgi.com>
上级 f9b90566
...@@ -244,7 +244,7 @@ static ssize_t host_control_on_shutdown_store(struct device *dev, ...@@ -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) ...@@ -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, &current->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) ...@@ -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;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册