mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-02 05:46:47 +07:00
Bluetooth: hci_bcm: Invalidate IRQ on request failure
If devm_request_irq() fails, the driver bails out of bcm_request_irq() but continues to ->setup the device (because the IRQ is optional). The driver subsequently calls devm_free_irq(), enable_irq_wake() and disable_irq_wake() on the IRQ even though requesting it failed. Avoid by invalidating the IRQ on request failure. Cc: Frédéric Danis <frederic.danis.oss@gmail.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
f4cf6b7e3b
commit
4dc273306c
@ -216,8 +216,10 @@ static int bcm_request_irq(struct bcm_data *bcm)
|
||||
bdev->irq_active_low ? IRQF_TRIGGER_FALLING :
|
||||
IRQF_TRIGGER_RISING,
|
||||
"host_wake", bdev);
|
||||
if (err)
|
||||
if (err) {
|
||||
bdev->irq = err;
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
device_init_wakeup(bdev->dev, true);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user