Sfoglia il codice sorgente

twl4030_charger: correctly handle -EPROBE_DEFER from devm_usb_get_phy_by_node

Now that twl4030_bci_probe can safely return -EPROBE_DEFER,
do so when devm_usb_get_phy_by_node returns that error.

Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
NeilBrown 10 anni fa
parent
commit
3fc3895e4f
1 ha cambiato i file con 5 aggiunte e 1 eliminazioni
  1. 5 1
      drivers/power/twl4030_charger.c

+ 5 - 1
drivers/power/twl4030_charger.c

@@ -636,9 +636,13 @@ static int twl4030_bci_probe(struct platform_device *pdev)
 
 
 		phynode = of_find_compatible_node(bci->dev->of_node->parent,
 		phynode = of_find_compatible_node(bci->dev->of_node->parent,
 						  NULL, "ti,twl4030-usb");
 						  NULL, "ti,twl4030-usb");
-		if (phynode)
+		if (phynode) {
 			bci->transceiver = devm_usb_get_phy_by_node(
 			bci->transceiver = devm_usb_get_phy_by_node(
 				bci->dev, phynode, &bci->usb_nb);
 				bci->dev, phynode, &bci->usb_nb);
+			if (IS_ERR(bci->transceiver) &&
+			    PTR_ERR(bci->transceiver) == -EPROBE_DEFER)
+				return -EPROBE_DEFER;
+		}
 	}
 	}
 
 
 	/* Enable interrupts now. */
 	/* Enable interrupts now. */