remoteproc: fix null pointer dereference on glink only platforms
Currently calling list_del on smd subdev remove path results in null pointer dereference on glink only platforms. Fix this by adding safety checks in glink/smd subdev remove paths. Signed-off-by: Sibi Sankar <sibis@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
dea4bd1975
commit
730b2ad8f7
|
@ -75,6 +75,9 @@ EXPORT_SYMBOL_GPL(qcom_add_glink_subdev);
|
||||||
*/
|
*/
|
||||||
void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink)
|
void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink)
|
||||||
{
|
{
|
||||||
|
if (!glink->node)
|
||||||
|
return;
|
||||||
|
|
||||||
rproc_remove_subdev(rproc, &glink->subdev);
|
rproc_remove_subdev(rproc, &glink->subdev);
|
||||||
of_node_put(glink->node);
|
of_node_put(glink->node);
|
||||||
}
|
}
|
||||||
|
@ -165,6 +168,9 @@ EXPORT_SYMBOL_GPL(qcom_add_smd_subdev);
|
||||||
*/
|
*/
|
||||||
void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd)
|
void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd)
|
||||||
{
|
{
|
||||||
|
if (!smd->node)
|
||||||
|
return;
|
||||||
|
|
||||||
rproc_remove_subdev(rproc, &smd->subdev);
|
rproc_remove_subdev(rproc, &smd->subdev);
|
||||||
of_node_put(smd->node);
|
of_node_put(smd->node);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue