Bluetooth: hci_bcm: Fix unbalanced pm_runtime_disable()
On ->setup, pm_runtime_enable() is only called if a valid IRQ was found, but on ->close(), pm_runtime_disable() is called unconditionally. Disablement of runtime PM is recorded in a counter, so every pm_runtime_disable() needs to be balanced. Fix it. Cc: Frédéric Danis <frederic.danis.oss@gmail.com> Reported-and-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
54ba69f9e7
commit
f4cf6b7e3b
|
@ -375,10 +375,10 @@ static int bcm_close(struct hci_uart *hu)
|
|||
if (IS_ENABLED(CONFIG_PM) && bdev->irq > 0) {
|
||||
devm_free_irq(bdev->dev, bdev->irq, bdev);
|
||||
device_init_wakeup(bdev->dev, false);
|
||||
pm_runtime_disable(bdev->dev);
|
||||
}
|
||||
|
||||
bcm_gpio_set_power(bdev, false);
|
||||
pm_runtime_disable(bdev->dev);
|
||||
pm_runtime_set_suspended(bdev->dev);
|
||||
}
|
||||
mutex_unlock(&bcm_device_lock);
|
||||
|
|
Loading…
Reference in New Issue