Commit 98dc77d5 authored by Loic Poulain's avatar Loic Poulain Committed by Marcel Holtmann

Bluetooth: hci_bcm: Make bcm_request_irq fail if no IRQ resource

In case of no IRQ resource associated to the bcm_device, requesting
IRQ should return an error in order to not enable low power mgmt.
Signed-off-by: default avatarLoic Poulain <loic.poulain@gmail.com>
Reported-by: default avatarIan Molton <ian@mnementh.co.uk>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 04d8980b
...@@ -176,7 +176,7 @@ static irqreturn_t bcm_host_wake(int irq, void *data) ...@@ -176,7 +176,7 @@ static irqreturn_t bcm_host_wake(int irq, void *data)
static int bcm_request_irq(struct bcm_data *bcm) static int bcm_request_irq(struct bcm_data *bcm)
{ {
struct bcm_device *bdev = bcm->dev; struct bcm_device *bdev = bcm->dev;
int err = 0; int err;
/* If this is not a platform device, do not enable PM functionalities */ /* If this is not a platform device, do not enable PM functionalities */
mutex_lock(&bcm_device_lock); mutex_lock(&bcm_device_lock);
...@@ -185,10 +185,13 @@ static int bcm_request_irq(struct bcm_data *bcm) ...@@ -185,10 +185,13 @@ static int bcm_request_irq(struct bcm_data *bcm)
goto unlock; goto unlock;
} }
if (bdev->irq > 0) { if (bdev->irq <= 0) {
err = devm_request_irq(&bdev->pdev->dev, bdev->irq, err = -EOPNOTSUPP;
bcm_host_wake, IRQF_TRIGGER_RISING, goto unlock;
"host_wake", bdev); }
err = devm_request_irq(&bdev->pdev->dev, bdev->irq, bcm_host_wake,
IRQF_TRIGGER_RISING, "host_wake", bdev);
if (err) if (err)
goto unlock; goto unlock;
...@@ -199,7 +202,6 @@ static int bcm_request_irq(struct bcm_data *bcm) ...@@ -199,7 +202,6 @@ static int bcm_request_irq(struct bcm_data *bcm)
pm_runtime_use_autosuspend(&bdev->pdev->dev); pm_runtime_use_autosuspend(&bdev->pdev->dev);
pm_runtime_set_active(&bdev->pdev->dev); pm_runtime_set_active(&bdev->pdev->dev);
pm_runtime_enable(&bdev->pdev->dev); pm_runtime_enable(&bdev->pdev->dev);
}
unlock: unlock:
mutex_unlock(&bcm_device_lock); mutex_unlock(&bcm_device_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment