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 <[email protected]>
Reviewed-by: Abhishek Pandit-Subedi <[email protected]>
Signed-off-by: Joseph Hwang <[email protected]>
---
(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
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 <[email protected]>
> Reviewed-by: Abhishek Pandit-Subedi <[email protected]>
> Signed-off-by: Joseph Hwang <[email protected]>
> ---
>
> (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
>