Bluetooth: hci_bcm: Handle deferred probing for the clock supply
[ Upstream commit 28ac03b9ac3f784c2f048a910c8d0a7a87483b66 ] On some systems that actually have the bluetooth controller wired up with an extra clock signal, it's possible the bluetooth controller probes before the clock provider. clk_get would return a defer probe error, which was not handled by this driver. Handle this properly, so that these systems can work reliably. Tested-by: Ondrej Jirman <megous@megous.com> Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
1baca23ade
commit
38f18b3705
1 changed files with 4 additions and 0 deletions
|
@ -907,6 +907,10 @@ static int bcm_get_resources(struct bcm_device *dev)
|
|||
|
||||
dev->clk = devm_clk_get(dev->dev, NULL);
|
||||
|
||||
/* Handle deferred probing */
|
||||
if (dev->clk == ERR_PTR(-EPROBE_DEFER))
|
||||
return PTR_ERR(dev->clk);
|
||||
|
||||
dev->device_wakeup = devm_gpiod_get_optional(dev->dev, "device-wakeup",
|
||||
GPIOD_OUT_LOW);
|
||||
if (IS_ERR(dev->device_wakeup))
|
||||
|
|
Loading…
Reference in a new issue