Skip to content

Commit

Permalink
Merge tag 'soundwire-6.5-fixes' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/kernel/git/vkoul/soundwire

Pull soundwire fixes from Vinod Koul:

 - Core fix for enumeration completion

 - Qualcomm driver fix to update status

 - AMD driver fix for probe error check

* tag 'soundwire-6.5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
  soundwire: amd: Fix a check for errors in probe()
  soundwire: qcom: update status correctly with mask
  soundwire: fix enumeration completion
  • Loading branch information
Linus Torvalds committed Jul 27, 2023
2 parents 53c8621 + 7891d0a commit bc16879
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions drivers/soundwire/amd_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -910,9 +910,9 @@ static int amd_sdw_manager_probe(struct platform_device *pdev)
return -ENOMEM;

amd_manager->acp_mmio = devm_ioremap(dev, res->start, resource_size(res));
if (IS_ERR(amd_manager->mmio)) {
if (!amd_manager->acp_mmio) {
dev_err(dev, "mmio not found\n");
return PTR_ERR(amd_manager->mmio);
return -ENOMEM;
}
amd_manager->instance = pdata->instance;
amd_manager->mmio = amd_manager->acp_mmio +
Expand Down
8 changes: 4 additions & 4 deletions drivers/soundwire/bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -922,16 +922,16 @@ static void sdw_modify_slave_status(struct sdw_slave *slave,
"initializing enumeration and init completion for Slave %d\n",
slave->dev_num);

init_completion(&slave->enumeration_complete);
init_completion(&slave->initialization_complete);
reinit_completion(&slave->enumeration_complete);
reinit_completion(&slave->initialization_complete);

} else if ((status == SDW_SLAVE_ATTACHED) &&
(slave->status == SDW_SLAVE_UNATTACHED)) {
dev_dbg(&slave->dev,
"signaling enumeration completion for Slave %d\n",
slave->dev_num);

complete(&slave->enumeration_complete);
complete_all(&slave->enumeration_complete);
}
slave->status = status;
mutex_unlock(&bus->bus_lock);
Expand Down Expand Up @@ -1951,7 +1951,7 @@ int sdw_handle_slave_status(struct sdw_bus *bus,
"signaling initialization completion for Slave %d\n",
slave->dev_num);

complete(&slave->initialization_complete);
complete_all(&slave->initialization_complete);

/*
* If the manager became pm_runtime active, the peripherals will be
Expand Down
2 changes: 1 addition & 1 deletion drivers/soundwire/qcom.c
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@ static int qcom_swrm_get_alert_slave_dev_num(struct qcom_swrm_ctrl *ctrl)
status = (val >> (dev_num * SWRM_MCP_SLV_STATUS_SZ));

if ((status & SWRM_MCP_SLV_STATUS_MASK) == SDW_SLAVE_ALERT) {
ctrl->status[dev_num] = status;
ctrl->status[dev_num] = status & SWRM_MCP_SLV_STATUS_MASK;
return dev_num;
}
}
Expand Down

0 comments on commit bc16879

Please sign in to comment.