Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp2783320rwb; Mon, 19 Sep 2022 09:52:19 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6UnlR3YoUBFEUrk2jZ9RIK0uI+F48HG/lB21NA+qGFXSU7sq0hrhqvrwGIWYpm2fEoDvqg X-Received: by 2002:a17:907:94c7:b0:780:7ccd:aca7 with SMTP id dn7-20020a17090794c700b007807ccdaca7mr13541526ejc.136.1663606339625; Mon, 19 Sep 2022 09:52:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663606339; cv=none; d=google.com; s=arc-20160816; b=dAZuBf4vX6Y9KKAhCNC++fs2WuKEwe/S2vSJuD8urWx0q9FBQUOJ+Aef5FoPSGmXGA myctH5ojh9zqRsb9WPMYzsUegTH6ILhkQ7/2YRHbuZWhL7bg8czxiPOTQi4KnNgaN7p3 vMMuve5b7PwHbtzS/TuMN0gGst/14iYJKvVsKZkjcaSNY174vAdKN67mqFAtsnzg4Ngl oSd45gywfIV+7D4Ncdm88zS0r3iKD0Eaf/kaneU/Owb5+7GuWc2lztBC+m6QP8X3SNRm 2HmCPREkRcrvlM4YAm239nMIPv8wgN/jd9xWsKTjZO1OG495eI/gl6RI7s3+UY+J1kDu jqkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :feedback-id:dkim-signature:dkim-signature; bh=Bogm0BjoknB2hpgssYrM4PmNTv/LKnDbzuF5OGZyNTY=; b=KTh+CNpKct/ePi37iIKMdDYQRjMI+ZEKXxDMaOEyR4NEKE7Q0FhM90dfGEQAh/wYzT LE0nSLdtBiFZervrCyYc/EI6wCQiy0d9mkt2YUUdtCLIsJJtrjmFWIt520yMF1XqeBYs X2lOD0EsyPqmNHUNmXk/SlVZYoYPRauHkZuU7EQDsBpfLWasl/TaXu4+ZsVrs8qnqSyx /AjrNohvMNgkLBkM34cT0+ahErQVqy1I7LOELJvwtFc2tpog0nJ0HSVdWg1yrbi9BV52 VhAuEonYKrA4U8o0pVb4PM1oE0DPKtuQXaRjvXVSJh719XOlXUPbOUBjoqPSeXn0jS1h oVng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@svenpeter.dev header.s=fm2 header.b=tUS2K8xR; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=NPYhxIAe; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=svenpeter.dev Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cw13-20020a170906478d00b007814ff4ce25si3968118ejc.285.2022.09.19.09.51.46; Mon, 19 Sep 2022 09:52:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@svenpeter.dev header.s=fm2 header.b=tUS2K8xR; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=NPYhxIAe; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=svenpeter.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230184AbiISQt6 (ORCPT + 99 others); Mon, 19 Sep 2022 12:49:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230122AbiISQtx (ORCPT ); Mon, 19 Sep 2022 12:49:53 -0400 Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25B9D5F9B; Mon, 19 Sep 2022 09:49:42 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 89C3B5C03D3; Mon, 19 Sep 2022 12:49:41 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 19 Sep 2022 12:49:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=svenpeter.dev; h=cc:cc:content-transfer-encoding:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1663606181; x= 1663692581; bh=Bogm0BjoknB2hpgssYrM4PmNTv/LKnDbzuF5OGZyNTY=; b=t US2K8xRJ8XwOL/yyfdJxfRJMaQLC9I2gpzb24CkVAhK5Em62bxqB/xYirWYDGJjF 1DgyzhpSBNKdoMXfcXkgQ2uuN6dCbuOaCMEVt/iebO0oc+nTwS5M6g9g944XE0ag eNUmEXOdGzzu66k45FhKEZJyKyLLp8m4RbWQdDatPT7+GqHnYqFOlJ4CmwSqMYyY iLMKkBXiThCdhlBV5qI7r5eYUHPHO0uHxDLzS12z5SnEvEcoPJtL2JN/2N8QCWMR CJ0pyx+SUpWSPPa8qusnn2Iz8iwIZPZANH8eo/H/ObG8JfRVr4do3ON5poeF9KZX hAIwoTLKZp3MqHvpZ7+HQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1663606181; x=1663692581; bh=Bogm0BjoknB2h pgssYrM4PmNTv/LKnDbzuF5OGZyNTY=; b=NPYhxIAeTyJJihXAJ/xkeVeWauK/L MAlPQNoNz8YhlHBFKm6RhTKK2mk6IcQsAT8BV0mwG1kM+4B+R5Ty05tmBCrc8VMc 5UjwNskoCzHGcpZrxx323Vn5gFoVApIvsbViCHNXK+Lx37poS3G7Hmg4xmR5ZyBQ cCDKe9b9QbY0DvLI1YY/lZfp9fOFyqLArxZ3pFGqaQIxC4WGQyGmTfOZphyRMnMx DwCpbxoMmgldGhZkNzNnKAg8zjEBFQXfW5pXbqzDfhC2dd+174noZjR/58xpn9S2 Ec8yLC11QIN5CjmZ/IBb6O6fiVgFHg5+9bWi4JiRhz4JX68zHnHZ7H7Lw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedvjedguddtkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefuvhgv nhcurfgvthgvrhcuoehsvhgvnhesshhvvghnphgvthgvrhdruggvvheqnecuggftrfgrth htvghrnhepjeeiheehkeegvdejhfevkeejgfdutdefhfethedtieffleekieeuudefleek jeegnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehmrghilhhfrhhomhepsh hvvghnsehsvhgvnhhpvghtvghrrdguvghv X-ME-Proxy: Feedback-ID: i51094778:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 19 Sep 2022 12:49:39 -0400 (EDT) From: Sven Peter To: Marcel Holtmann , Johan Hedberg , Luiz Augusto von Dentz Cc: Sven Peter , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Krzysztof Kozlowski , Paolo Abeni , Rob Herring , Hector Martin , Alyssa Rosenzweig , asahi@lists.linux.dev, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 4/7] Bluetooth: hci_event: Ignore reserved bits in LE Extended Adv Report Date: Mon, 19 Sep 2022 18:48:31 +0200 Message-Id: <20220919164834.62739-5-sven@svenpeter.dev> X-Mailer: git-send-email 2.30.1 (Apple Git-130) In-Reply-To: <20220919164834.62739-1-sven@svenpeter.dev> References: <20220919164834.62739-1-sven@svenpeter.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Broadcom controllers present on Apple Silicon devices use the upper 8 bits of the event type in the LE Extended Advertising Report for the channel on which the frame has been received. These bits are reserved according to the Bluetooth spec anyway such that we can just drop them to ensure that the advertising results are parsed correctly. The following excerpt from a btmon trace shows a report received on channel 37 by these controllers: > HCI Event: LE Meta Event (0x3e) plen 55 LE Extended Advertising Report (0x0d) Num reports: 1 Entry 0 Event type: 0x2513 Props: 0x0013 Connectable Scannable Use legacy advertising PDUs Data status: Complete Reserved (0x2500) Legacy PDU Type: Reserved (0x2513) Address type: Public (0x00) Address: XX:XX:XX:XX:XX:XX (Shenzhen Jingxun Software [...]) Primary PHY: LE 1M Secondary PHY: No packets SID: no ADI field (0xff) TX power: 127 dBm RSSI: -76 dBm (0xb4) Periodic advertising interval: 0.00 msec (0x0000) Direct address type: Public (0x00) Direct address: 00:00:00:00:00:00 (OUI 00-00-00) Data length: 0x1d [...] Flags: 0x18 Simultaneous LE and BR/EDR (Controller) Simultaneous LE and BR/EDR (Host) Company: Harman International Industries, Inc. (87) Data: [...] Service Data (UUID 0xfddf): Name (complete): JBL Flip 5 Signed-off-by: Sven Peter --- changes from v2: - removed quirk and apply mask unconditionally since only bit 0-6 are used according to the spec changes from v1: - adjusted the commit message a bit to make checkpatch happy include/net/bluetooth/hci.h | 1 + net/bluetooth/hci_event.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index cf29511b25a8..556916110636 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -2576,6 +2576,7 @@ struct hci_ev_le_conn_complete { #define LE_EXT_ADV_DIRECT_IND 0x0004 #define LE_EXT_ADV_SCAN_RSP 0x0008 #define LE_EXT_ADV_LEGACY_PDU 0x0010 +#define LE_EXT_ADV_EVT_TYPE_MASK 0x007f #define ADDR_LE_DEV_PUBLIC 0x00 #define ADDR_LE_DEV_RANDOM 0x01 diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 6643c9c20fa4..00616cae596a 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -6481,7 +6481,7 @@ static void hci_le_ext_adv_report_evt(struct hci_dev *hdev, void *data, info->length)) break; - evt_type = __le16_to_cpu(info->type); + evt_type = __le16_to_cpu(info->type) & LE_EXT_ADV_EVT_TYPE_MASK; legacy_evt_type = ext_evt_type_to_legacy(hdev, evt_type); if (legacy_evt_type != LE_ADV_INVALID) { process_adv_report(hdev, legacy_evt_type, &info->bdaddr, -- 2.25.1