[PATCH] Bluetooth: hci_bcm: Use speed set by btattach as oper_speed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Starting a BCM UART controller not defined as a platform device or
a serdev with "btattach -B /dev/ttyS1 -P bcm -S 3000000" works fine
but the serial port remains at the init_speed, i.e. 115200.

The oper_speed is only set if a device is declared in ACPI, device
tree or as a platform device.

When no registered device has been found this commit will use the
current tty speed set by btattach as the oper_speed.

Signed-off-by: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx>
---

This has been tested with 5.4 kernel only.
Afaict there's no change in this driver which should be impacted by
this commit in latest kernel.

 drivers/bluetooth/hci_bcm.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index 89d4c2224546..57cacf63ae12 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -508,6 +508,11 @@ static int bcm_open(struct hci_uart *hu)
 
 		if (err)
 			goto err_unset_hu;
+	} else {
+		/* This is not a serdev or platform device, it should have been started by
+		 * btattach, in this case use the tty speed set by btattach as oper_speed
+		 */
+		hu->oper_speed = hu->tty->termios.c_ospeed;
 	}
 
 	mutex_unlock(&bcm_device_lock);
-- 
2.34.1





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux