Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp843035rwi; Thu, 27 Oct 2022 08:10:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6ks9TCPfwEr/RjtlzXnJj7XA4KoQ06w6lnzRx05fioAsfInpjGDQxoxoyFyzqW1WNXdVUf X-Received: by 2002:a17:907:a43:b0:77b:ba98:d2f with SMTP id be3-20020a1709070a4300b0077bba980d2fmr43033742ejc.270.1666883451403; Thu, 27 Oct 2022 08:10:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666883451; cv=none; d=google.com; s=arc-20160816; b=PuZrNf+Nnn6n7apFDSZ+VkJ0Irk/iie/5GRgHQOWzhEqYGbbMoyi8REV+DR3562H/T yFj15Ut7TF2IMkQDNgDshLcCry7kdSiME5rV7REdiQfofN5ZQzLKJJNcSxfPzOuG7J6e 9j88s8b5GVTvmUhVJleZxOkUQofB+gngeuzBNb/8hVGZoiwyvKSzzdzwd+Nh7kAXV1cG ZPzdnBfyG/rX+Hm1/oL86Z+d83ixqsX7YNA92Kat326C7qHSW7QH61LGPZissnV3D8vL dBWU84LTNIWHL1DpDUZQWLrS5KMNUNMi92iP4yGExINq3PnMYtXGuES6ms21eZOxONL4 y5Dg== 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=NsyIxhCuy3NX42H2/3Rfy8Jj+bJmvXH1V0swWErvcpc=; b=Pa+O5/OdW/TodbQvWvtlwynb6SdDeAVe2SYRe/AKbHa9rkAiGuEPG8syofjdu0i/9s 6ypH9ccD0Fee1tmARqGZaUkJlE1lDf2cEgHzLAznl9XsaaOfeWshUSXqdJSKzOSRxovh MUSpVg24Q8r/srA+ldBsbwCf8Oufm+VmqTaTQMZ1r59wMyPa9/qt1Ib53u3NnQZfYU74 bxrLxIstxU23/DtkohIoM+i/C72D+FTJ9mheBrnv39l+bVH7gX6NPDC6spF4Y5wgtZUs UlXH84dRArc2hCkEO7WMRHiJ4ThKVPjbc1BwYky55Yxi4kfQBdpkOs/OpbssO+JpSij9 D/nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@svenpeter.dev header.s=fm3 header.b=at6BGC8Q; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=ETVcrVnY; 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 js7-20020a17090797c700b00797670441desi1702273ejc.911.2022.10.27.08.10.16; Thu, 27 Oct 2022 08:10:51 -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=fm3 header.b=at6BGC8Q; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=ETVcrVnY; 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 S236078AbiJ0PJR (ORCPT + 99 others); Thu, 27 Oct 2022 11:09:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236081AbiJ0PJC (ORCPT ); Thu, 27 Oct 2022 11:09:02 -0400 Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5251E18F0F0; Thu, 27 Oct 2022 08:08:55 -0700 (PDT) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 9C317320094D; Thu, 27 Oct 2022 11:08:53 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Thu, 27 Oct 2022 11:08:54 -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=fm3; t=1666883333; x= 1666969733; bh=NsyIxhCuy3NX42H2/3Rfy8Jj+bJmvXH1V0swWErvcpc=; b=a t6BGC8QmN/9Hb6apE4+YvkARHsuJC/Se81aqWzzHBBPAkQ/RN0UQAMpj7FCx/VxJ uOxTrU/wXVsYlxuQGiELaM9g9Zw3kYxMScPNW0/1SwF+Np0lLkkJSOkCyqY0edYp hTuHqNb+OR7GoqFhPYS4H8Fn8tAQxOkTl3d29sxpDkKV3uvkrkebdS2qZd0BVpoz h6lPm4jngA2gaEjMGlEV2hCIEG1zlWNrHX/3Z51ftjLof7JhzKy85MSlcQcPQ+i8 gxU5mKWcjRlk6qLRqkoG9VGGhewQbJc4Tm6hX1i3RhYO824kAYsXAmKE6BP0OA8d 1FnCSua03/ZZl57PiC9+w== 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=fm3; t=1666883333; x=1666969733; bh=NsyIxhCuy3NX4 2H2/3Rfy8Jj+bJmvXH1V0swWErvcpc=; b=ETVcrVnYu8JGiJ+L+omZhuRcpTqih ifkl4BBiTawa5t27HM2wS2/u1dd2mxD79j/RuCN5vGT/KVKAjZztitpTblllO0fP zaBDBGV3h/Z0z/a2VxuFhHYA/7Fk8ngcS3iea/rElA6WA6nPQlonTZ7EXGKmV1SK uwu8wVxSXCu44V6rSW3TckfUFPtAPoSsG/W71og9GSPfq/Uu4fOTHFl59TW0L03s wtTKOuBXTxd/jXac4VLbSSIYQB3Rn4RTE9wbHuKyadGPwmVanzrGAxU8e8tu7VNk Q+G0xj6BOhzEsOyoIUwChNTLI7QQvSKDch7KbDHDIdeChDtK3mCk1OdCQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtdeggdekfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefuvhgvnhcu rfgvthgvrhcuoehsvhgvnhesshhvvghnphgvthgvrhdruggvvheqnecuggftrfgrthhtvg hrnhepjeeiheehkeegvdejhfevkeejgfdutdefhfethedtieffleekieeuudefleekjeeg necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhvvg hnsehsvhgvnhhpvghtvghrrdguvghv X-ME-Proxy: Feedback-ID: i51094778:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Oct 2022 11:08:49 -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 v4 4/7] Bluetooth: hci_event: Ignore reserved bits in LE Extended Adv Report Date: Thu, 27 Oct 2022 17:08:19 +0200 Message-Id: <20221027150822.26120-5-sven@svenpeter.dev> X-Mailer: git-send-email 2.30.1 (Apple Git-130) In-Reply-To: <20221027150822.26120-1-sven@svenpeter.dev> References: <20221027150822.26120-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, RCVD_IN_MSPIKE_H2,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 --- 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 e004ba04a9ae..f4aa7b78a844 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -2580,6 +2580,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 faca701bce2a..ade2628aae0d 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -6494,7 +6494,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