Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp2524529ybg; Fri, 5 Jun 2020 16:27:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKZAhqRbN0Cp0uYCMedbo0HXPXwNm5PyOKTJlJW3C0rcAqpn7jRnB8xqnLb3JxbrVkipTa X-Received: by 2002:a50:bf03:: with SMTP id f3mr12096058edk.368.1591399646189; Fri, 05 Jun 2020 16:27:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591399646; cv=none; d=google.com; s=arc-20160816; b=AGWhIl4HnP8edPBqOY5+tF3WNJSDlZE3YJAY4raRWMhxBBNfHuNZHI/aRC/uYPw6A7 yhsZR+cj6NuVQJyN7IHlQe58QozlmqFuh1VTVhoCr4FIvih16faBL2gmYJrUR0+D2zD5 0v1eESJ7X0qej2npaTSceJRZn0Wc7+QLFeD9AyWNnLNu0kW9tsVOlOOd3+epSs/J6WAr ftgw7l9HQCSSMvFEjDfeX58s8pOtMSJIrf8dNd180KFExCur46fibzrXbkyNPwAoflgc mqwv0JUQefZtoVxiG8lieSBxAFT6A5tjnXdGxScdV/tnPJFokhAvoApRQ7ffWLp+1cdg hk8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=NOTIMDgCZacyI5aIkjRVuzbN82H5cC5RCcdJEgSquLE=; b=I+M5z4ZKQKBLRUAHADq8nlJmL23U5lFLRutbbypjdFJoJX4Fr6JRtyNhQ54Ipqc2wO aXtrqWg4sNukC8WpXDLOintw3LQy6YKg1ihFJ573g5/I20e4mMx9QwckkDaUJLxuKT0q mk7M+PA/dBxAPhISNLICcJZKmKK5w44jCN7dhsloh2D58AJS4Knj5iu0g6/5DgYPEX0e OEcgr6mTm79M/fOgC8aLgOOnCO4F2zMyUQualt2DobMSgxNeJIZwxEX+HcJBc65rEJ4G J9+Pw59ipROC8CWZVk7gnRbybRBgy2zLPEBal9rAsvBSmQOEvCZHKSbryIKULfWkvUjc i31w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=omkqu+Dt; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h19si4525295ejd.365.2020.06.05.16.27.02; Fri, 05 Jun 2020 16:27:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=omkqu+Dt; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728330AbgFEX0y (ORCPT + 99 others); Fri, 5 Jun 2020 19:26:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50522 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728316AbgFEX0y (ORCPT ); Fri, 5 Jun 2020 19:26:54 -0400 Received: from mail-oi1-x243.google.com (mail-oi1-x243.google.com [IPv6:2607:f8b0:4864:20::243]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71785C08C5C2 for ; Fri, 5 Jun 2020 16:26:54 -0700 (PDT) Received: by mail-oi1-x243.google.com with SMTP id j189so9636225oih.10 for ; Fri, 05 Jun 2020 16:26:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=NOTIMDgCZacyI5aIkjRVuzbN82H5cC5RCcdJEgSquLE=; b=omkqu+DtVOIsD+jH3a86bNkx08JYcCgc7PvNMn9swdmo03UZRV1OY6c3bg9EsFCQ8v 0aA5qgnqmBDt3+kPj3AQETXhd1ej0+UoFdblc2IzIDOB+0vuJixQg8TQuk9vgQRfLzGD b+H1C5xOMwwfWJntyJSm76ww+tO54f+8ggSMujEg+dw5Qyx9KZrg6aYO4uTvUJ0mCG9h sbqYFbQQo4xlYHFLS9z+Opo42vCquhAF4NAHr7Tl8lGMjfJ4jY3YDoHfXnuqO/HjhAqC pPodWIpayzreWWb8tE2PMVo5oXy95b2wRIwyq4/1EJQvjl1xZrEfl7Cxl+VHrVueSvGX rQng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=NOTIMDgCZacyI5aIkjRVuzbN82H5cC5RCcdJEgSquLE=; b=QkNOWa74Ig5s8QdKnkQYWWrabIauss5rSwsXjvlCPVwizSPZdQppfwjKX9vstJCpf1 nyhGgBwFPVLrExKOk/gWE0UctXSjIll4oOR2jSS/3OJNb2OC89BBWa4a12zq9UBSDYzl 1/lX5wcaHHdB/dBhIF+CgFNoJ3OVxOWNnbYaF88cTJDzedSKkxeCdHFREurNMLaqyHPj N3e0bnWZWuWyLyPpzt1NRbcysLLWi/+zWV9kjkXWJCuUgQYM5Y38SvwoEItp5HHhrSBw 3DRBD68k3bi5K75f9vfM6l1He7Q+ovSwqEnGEIbuUEtExmABVttURsZFv/PhqRL2INc9 k4Fg== X-Gm-Message-State: AOAM532Uxqs1Ig626rurUXIF+LIuM+7q5qO034Y9KlyvSSxROZpC6/IY p933G/bHgf1/yDvr2LFegP1Wkf3dDxuj59CRlDxyig== X-Received: by 2002:a05:6808:b32:: with SMTP id t18mr3303323oij.82.1591399612752; Fri, 05 Jun 2020 16:26:52 -0700 (PDT) MIME-Version: 1.0 References: <20200605175942.719436-1-luiz.dentz@gmail.com> In-Reply-To: <20200605175942.719436-1-luiz.dentz@gmail.com> From: Luiz Augusto von Dentz Date: Fri, 5 Jun 2020 16:26:40 -0700 Message-ID: Subject: Re: [PATCH BlueZ] btio: Fix not translation mode to L2CAP mode To: "linux-bluetooth@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Hi, On Fri, Jun 5, 2020 at 10:59 AM Luiz Augusto von Dentz wrote: > > From: Luiz Augusto von Dentz > > When using L2CAP_OPTIONS legacy modes need to be used since they are > not compatible with BT_MODE. > --- > btio/btio.c | 24 ++++++++++++++++++++++-- > 1 file changed, 22 insertions(+), 2 deletions(-) > > diff --git a/btio/btio.c b/btio/btio.c > index 13c731062..844d6007f 100644 > --- a/btio/btio.c > +++ b/btio/btio.c > @@ -597,6 +597,20 @@ static gboolean get_key_size(int sock, int *size, GError **err) > return FALSE; > } > > +static uint8_t mode_l2mode(uint8_t mode) > +{ > + switch (mode) { > + case BT_IO_MODE_BASIC: > + return L2CAP_MODE_BASIC; > + case BT_IO_MODE_ERTM: > + return L2CAP_MODE_ERTM; > + case BT_IO_MODE_STREAMING: > + return L2CAP_MODE_STREAMING; > + default: > + return UINT8_MAX; > + } > +} > + > static gboolean set_l2opts(int sock, uint16_t imtu, uint16_t omtu, > uint8_t mode, GError **err) > { > @@ -614,8 +628,14 @@ static gboolean set_l2opts(int sock, uint16_t imtu, uint16_t omtu, > l2o.imtu = imtu; > if (omtu) > l2o.omtu = omtu; > - if (mode) > - l2o.mode = mode; > + > + if (mode) { > + l2o.mode = mode_l2mode(mode); > + if (l2o.mode == UINT8_MAX) { > + ERROR_FAILED(err, "Unsupported mode", errno); > + return FALSE; > + } > + } > > if (setsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, &l2o, sizeof(l2o)) < 0) { > ERROR_FAILED(err, "setsockopt(L2CAP_OPTIONS)", errno); > -- > 2.25.3 Pushed. -- Luiz Augusto von Dentz