mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
Bluetooth: hci_serdev: Move serdev_device_close/open into common hci_serdev code
Make hci_uart_register_device() and hci_uart_unregister_device() call serdev_device_close()/open() themselves instead of relying on the various hci_uart drivers to do this for them. Besides reducing code complexity, this also ensures correct error checking of serdev_device_open(), which was missing in a few drivers. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
committed by
Marcel Holtmann
parent
412fe29ffc
commit
e9ca08074d
@@ -380,10 +380,6 @@ static int bcm_open(struct hci_uart *hu)
|
||||
mutex_lock(&bcm_device_lock);
|
||||
|
||||
if (hu->serdev) {
|
||||
err = serdev_device_open(hu->serdev);
|
||||
if (err)
|
||||
goto err_free;
|
||||
|
||||
bcm->dev = serdev_device_get_drvdata(hu->serdev);
|
||||
goto out;
|
||||
}
|
||||
@@ -420,13 +416,10 @@ out:
|
||||
return 0;
|
||||
|
||||
err_unset_hu:
|
||||
if (hu->serdev)
|
||||
serdev_device_close(hu->serdev);
|
||||
#ifdef CONFIG_PM
|
||||
else
|
||||
if (!hu->serdev)
|
||||
bcm->dev->hu = NULL;
|
||||
#endif
|
||||
err_free:
|
||||
mutex_unlock(&bcm_device_lock);
|
||||
hu->priv = NULL;
|
||||
kfree(bcm);
|
||||
@@ -445,7 +438,6 @@ static int bcm_close(struct hci_uart *hu)
|
||||
mutex_lock(&bcm_device_lock);
|
||||
|
||||
if (hu->serdev) {
|
||||
serdev_device_close(hu->serdev);
|
||||
bdev = serdev_device_get_drvdata(hu->serdev);
|
||||
} else if (bcm_device_exists(bcm->dev)) {
|
||||
bdev = bcm->dev;
|
||||
|
||||
Reference in New Issue
Block a user