Bluetooth: hci_bcm: For serdev case close serdev on failure to set power

Commit 8bfa7e1e03 ("Bluetooth: hci_bcm: Handle errors properly")
introduced error checking for the bcm_gpio_set_power() call in bcm_open()
but the error-path it introduces unsets dev->hu, which is correct for
platform_device instantiated bcm_dev-s but not for serdev instantiated
devs. For serdev instantiated devs serdev_device_close() should be called
instead (and dev->hu should be left set).

Cc: Lukas Wunner <lukas@wunner.de>
Fixes: 8bfa7e1e03 ("Bluetooth: hci_bcm: Handle errors properly")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Hans de Goede 2018-01-22 12:53:24 +01:00 committed by Marcel Holtmann
parent d456f678a0
commit 8c6b8eda72
1 changed files with 4 additions and 1 deletions

View File

@ -412,8 +412,11 @@ out:
return 0;
err_unset_hu:
if (hu->serdev)
serdev_device_close(hu->serdev);
#ifdef CONFIG_PM
bcm->dev->hu = NULL;
else
bcm->dev->hu = NULL;
#endif
err_free:
mutex_unlock(&bcm_device_lock);