Message ID | 20200909174129.v2.2.I03247d3813c6dcbcdbeab26d068f9fd765edb1f5@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | To support the HFP WBS, a chip vendor may choose a particular | expand |
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 --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;