Commit b37cab58 authored by Luiz Augusto von Dentz's avatar Luiz Augusto von Dentz
Browse files

Bluetooth: ISO: Don't reject BT_ISO_QOS if parameters are unset



Consider certain values (0x00) as unset and load proper default if
an application has not set them properly.

Fixes: 0fe8c8d0 ("Bluetooth: Split bt_iso_qos into dedicated structures")
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 19fa4f2a
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1451,8 +1451,8 @@ static bool check_ucast_qos(struct bt_iso_qos *qos)

static bool check_bcast_qos(struct bt_iso_qos *qos)
{
	if (qos->bcast.sync_factor == 0x00)
		return false;
	if (!qos->bcast.sync_factor)
		qos->bcast.sync_factor = 0x01;

	if (qos->bcast.packing > 0x01)
		return false;
@@ -1475,6 +1475,9 @@ static bool check_bcast_qos(struct bt_iso_qos *qos)
	if (qos->bcast.skip > 0x01f3)
		return false;

	if (!qos->bcast.sync_timeout)
		qos->bcast.sync_timeout = BT_ISO_SYNC_TIMEOUT;

	if (qos->bcast.sync_timeout < 0x000a || qos->bcast.sync_timeout > 0x4000)
		return false;

@@ -1484,6 +1487,9 @@ static bool check_bcast_qos(struct bt_iso_qos *qos)
	if (qos->bcast.mse > 0x1f)
		return false;

	if (!qos->bcast.timeout)
		qos->bcast.sync_timeout = BT_ISO_SYNC_TIMEOUT;

	if (qos->bcast.timeout < 0x000a || qos->bcast.timeout > 0x4000)
		return false;