Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c90e785b authored by Mike Travis's avatar Mike Travis Committed by Ingo Molnar
Browse files

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: default avatarMike Travis <travis@sgi.com>
parent f9b90566
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ static ssize_t host_control_on_shutdown_store(struct device *dev,
 */
int dcdbas_smi_request(struct smi_cmd *smi_cmd)
{
	cpumask_t old_mask;
	cpumask_var_t old_mask;
	int ret = 0;

	if (smi_cmd->magic != SMI_CMD_MAGIC) {
@@ -254,8 +254,11 @@ int dcdbas_smi_request(struct smi_cmd *smi_cmd)
	}

	/* SMI requires CPU 0 */
	old_mask = current->cpus_allowed;
	set_cpus_allowed_ptr(current, &cpumask_of_cpu(0));
	if (!alloc_cpumask_var(&old_mask, GFP_KERNEL))
		return -ENOMEM;

	cpumask_copy(old_mask, &current->cpus_allowed);
	set_cpus_allowed_ptr(current, cpumask_of(0));
	if (smp_processor_id() != 0) {
		dev_dbg(&dcdbas_pdev->dev, "%s: failed to get CPU 0\n",
			__func__);
@@ -275,7 +278,8 @@ int dcdbas_smi_request(struct smi_cmd *smi_cmd)
	);

out:
	set_cpus_allowed_ptr(current, &old_mask);
	set_cpus_allowed_ptr(current, old_mask);
	free_cpumask_var(old_mask);
	return ret;
}