Avoid matching our child platform device, which can happen as we copy the DT node to the child device. This allows the child platform device to be matched against the ahci-imx driver and should this happen, it will cause another platform device to be allocated, resulting in failure. Ideally, we shouldn't be copying the of_node, but this is unavoidable as prevents ahci_platform() obtaining its resources. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> --- drivers/ata/ahci_imx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/ata/ahci_imx.c b/drivers/ata/ahci_imx.c index 6a56a561a80b..26ee412127b3 100644 --- a/drivers/ata/ahci_imx.c +++ b/drivers/ata/ahci_imx.c @@ -213,6 +213,10 @@ static int imx_ahci_probe(struct platform_device *pdev) unsigned int reg_val; int ret; + /* Prevent our child ahci device coming back to us */ + if (!strcmp(dev_name(&pdev->dev), "ahci")) + return -ENODEV; + of_id = of_match_device(imx_ahci_of_match, dev); if (!of_id) return -EINVAL; -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html