On Fri, Jan 20, 2017 at 07:14:19PM +0800, Jeffy Chen wrote: > The irq_of_parse_and_map will return 0 as a invalid irq. irq_of_parse_and_map() is weird to me. In general, Linux IRQ numbers *can* be 0, but it looks like the OF framework understands that device-tree based interrupts will not get mapped to a virtual IRQ number of 0, so it's fine to use '0' as the error value? In that case, I guess this is the most sensible solution... > Set irq_bt to -1 in this case, so that the btmrvl resume/suspend code > would not get confused. More specifically: the suspend/resume code would have tried to enable/disable IRQ 0. > Signed-off-by: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx> Reviewed-by: Brian Norris <briannorris@xxxxxxxxxxxx> > --- > > 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 > > -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html