The irq_of_parse_and_map will return 0 as a invalid irq.

Set irq_bt to -1 in this case, so that the btmrvl resume/suspend code
would not try to enable/disable it.

Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com>
Reviewed-by: Brian Norris <briannor...@chromium.org>
---

Changes in v2:
Update commit message.

 drivers/bluetooth/btmrvl_sdio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
index c738bae..796f719 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
@@ -97,6 +97,7 @@ static int btmrvl_sdio_probe_of(struct device *dev,
                cfg->irq_bt = irq_of_parse_and_map(card->plt_of_node, 0);
                if (!cfg->irq_bt) {
                        dev_err(dev, "fail to parse irq_bt from device tree");
+                       cfg->irq_bt = -1;
                } else {
                        ret = devm_request_irq(dev, cfg->irq_bt,
                                               btmrvl_wake_irq_bt,
-- 
2.1.4


Reply via email to