diff options
| author | Jiasheng Jiang <jiasheng@iscas.ac.cn> | 2021-12-24 10:53:18 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-01-27 09:19:36 +0100 |
| commit | 1b7443f4ebf17162d67dbc3c09700a437e122719 (patch) | |
| tree | 3c2f133be748a5cd2304e3ed58c656ff495e4800 /drivers/bluetooth | |
| parent | 4ceb319006e8a693c8a9be16eccd975c786a4f2c (diff) | |
| download | linux-1b7443f4ebf17162d67dbc3c09700a437e122719.tar.gz linux-1b7443f4ebf17162d67dbc3c09700a437e122719.tar.bz2 linux-1b7443f4ebf17162d67dbc3c09700a437e122719.zip | |
Bluetooth: hci_bcm: Check for error irq
[ Upstream commit b38cd3b42fba66cc538edb9cf77e07881f43f8e2 ]
For the possible failure of the platform_get_irq(), the returned irq
could be error number and will finally cause the failure of the
request_irq().
Consider that platform_get_irq() can now in certain cases return
-EPROBE_DEFER, and the consequences of letting request_irq() effectively
convert that into -EINVAL, even at probe time rather than later on.
So it might be better to check just now.
Fixes: 0395ffc1ee05 ("Bluetooth: hci_bcm: Add PM for BCM devices")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/bluetooth')
| -rw-r--r-- | drivers/bluetooth/hci_bcm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c index 94ed734c1d7e..c6bb380806f9 100644 --- a/drivers/bluetooth/hci_bcm.c +++ b/drivers/bluetooth/hci_bcm.c @@ -1127,7 +1127,12 @@ static int bcm_probe(struct platform_device *pdev) return -ENOMEM; dev->dev = &pdev->dev; - dev->irq = platform_get_irq(pdev, 0); + + ret = platform_get_irq(pdev, 0); + if (ret < 0) + return ret; + + dev->irq = ret; if (has_acpi_companion(&pdev->dev)) { ret = bcm_acpi_probe(dev); |
