diff mbox series

[v2,2/2] Bluetooth: sco: expose WBS packet length in socket option

Message ID 20200909174129.v2.2.I03247d3813c6dcbcdbeab26d068f9fd765edb1f5@changeid
State Awaiting Upstream
Delegated to: David Miller
Headers show
Series To support the HFP WBS, a chip vendor may choose a particular | expand

Commit Message

Joseph Hwang Sept. 9, 2020, 9:42 a.m. UTC
It is desirable to expose the wideband speech packet length via
a socket option to the user space so that the user space can set
the value correctly in configuring the sco connection.

Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Joseph Hwang <josephsih@chromium.org>
---

(no changes since v1)

 net/bluetooth/sco.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Pali Rohár Sept. 9, 2020, 11:11 a.m. UTC | #1
On Wednesday 09 September 2020 17:42:02 Joseph Hwang wrote:
> It is desirable to expose the wideband speech packet length via
> a socket option to the user space so that the user space can set
> the value correctly in configuring the sco connection.

Hello! I'm fine with change below, but I would suggest to put more
details into commit message. This change has nothing to do with wideband
nor with exporting socket option to userspace -- which is already done
via SCO_OPTIONS option. Also it is relevant to SCO socket with any codec
data, not only wideband.

This commit description should rather mention that it defines new
getsockopt options BT_SNDMTU/BT_RCVMTU for SCO socket to be compatible
with other bluetooth sockets and that these options return same value as
option SCO_OPTIONS which is already present on existing kernels.

> 
> Reviewed-by: Alain Michaud <alainm@chromium.org>
> Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
> Signed-off-by: Joseph Hwang <josephsih@chromium.org>
> ---
> 
> (no changes since v1)
> 
>  net/bluetooth/sco.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
> index dcf7f96ff417e6..79ffcdef0b7ad5 100644
> --- a/net/bluetooth/sco.c
> +++ b/net/bluetooth/sco.c
> @@ -1001,6 +1001,12 @@ static int sco_sock_getsockopt(struct socket *sock, int level, int optname,
>  			err = -EFAULT;
>  		break;
>  
> +	case BT_SNDMTU:
> +	case BT_RCVMTU:
> +		if (put_user(sco_pi(sk)->conn->mtu, (u32 __user *)optval))
> +			err = -EFAULT;
> +		break;
> +
>  	default:
>  		err = -ENOPROTOOPT;
>  		break;
> -- 
> 2.28.0.526.ge36021eeef-goog
>
diff mbox series

Patch

diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index dcf7f96ff417e6..79ffcdef0b7ad5 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -1001,6 +1001,12 @@  static int sco_sock_getsockopt(struct socket *sock, int level, int optname,
 			err = -EFAULT;
 		break;
 
+	case BT_SNDMTU:
+	case BT_RCVMTU:
+		if (put_user(sco_pi(sk)->conn->mtu, (u32 __user *)optval))
+			err = -EFAULT;
+		break;
+
 	default:
 		err = -ENOPROTOOPT;
 		break;