mtd: rawnand: qcom: Return actual error code instead of -ENODEV
[ Upstream commit 55fbb9ba4f06cb6aff32daca1e1910173c13ec51 ]
In qcom_probe_nand_devices() function, the error code returned by
qcom_nand_host_init_and_register() is converted to -ENODEV in the case
of failure. This poses issue if -EPROBE_DEFER is returned when the
dependency is not available for a component like parser.
So let's restructure the error handling logic a bit and return the
actual error code in case of qcom_nand_host_init_and_register() failure.
Fixes: c76b78d8ec
("mtd: nand: Qualcomm NAND controller driver")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
73744fcb4e
commit
168877a575
|
@ -2850,7 +2850,7 @@ static int qcom_probe_nand_devices(struct qcom_nand_controller *nandc)
|
|||
struct device *dev = nandc->dev;
|
||||
struct device_node *dn = dev->of_node, *child;
|
||||
struct qcom_nand_host *host;
|
||||
int ret;
|
||||
int ret = -ENODEV;
|
||||
|
||||
for_each_available_child_of_node(dn, child) {
|
||||
host = devm_kzalloc(dev, sizeof(*host), GFP_KERNEL);
|
||||
|
@ -2868,10 +2868,7 @@ static int qcom_probe_nand_devices(struct qcom_nand_controller *nandc)
|
|||
list_add_tail(&host->node, &nandc->host_list);
|
||||
}
|
||||
|
||||
if (list_empty(&nandc->host_list))
|
||||
return -ENODEV;
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* parse custom DT properties here */
|
||||
|
|
Loading…
Reference in New Issue