From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 55E0D314D34 for ; Fri, 3 Jul 2026 04:04:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783051467; cv=none; b=TkOlF/5HucqoWbaFjJYifbuljJT+RmWvX5WpLd5JgILYZGIbb9xZsuN2CJ26jtPi+fSO8Xy7c4b3HibM2eN8RqTiPrHVAxxQsOa7ZJMWgXOU204+/7JQMSRm5XKDmeymxhG56TiQaZwbwZb2EwhJOhpVswDHtch/q4UGbn0nHcA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783051467; c=relaxed/simple; bh=kf/yeeVf4WxfhkoYyJbFFPpZX0wBWrQCx5re/O82vFo=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=YxUlMVG5fp3lntMH2osrumuhEkR+Bp/Evbkx4lSu57UodC0gpjMpt56WY6m547nF/z0P9h3rGvAY4pfTmGT1a5Ew8sL7kT8GZ/y2QT3ZfiwTZEAWUiuuHnZKAVvJgDla9lfsUwOWihwdZZoHlISG1O6p/PYnEjBdSouF0TMOBpI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=mYXqgeJW; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=giJ2Ge1f; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="mYXqgeJW"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="giJ2Ge1f" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 663433LA2825751 for ; Fri, 3 Jul 2026 04:04:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= cuaojvJeCpfd+fb1L4y3F4PQXD2n4Bkmi4X904ZQT9E=; b=mYXqgeJWrZw+iqp1 EfP+MdjWkSf+bp9Zygv4U5szLfKHGC0FopoICZ8F/Q1YAluTEkCrLx7LJSBkQT3f MyC58oM673XpXDfBNxW372e1z/aDdaokwtnxwBV3eTLZS7plvr+SuPmIHLN5B0IF NX/nvNwyOCU2CdpYOAsMWSOp5UHar6Lh1JOBwMtpLeiSLYOgHClauFBFFjkA68wK 4TvwOHXr7DwDByeZdC/6B0x3tVC/pLsXRr2V8sZxIthsc6ZH8iym6qDy/+ggCyd1 HdCP+wGYmaEm5Sjj7KjnJQX9o8WUskxEMMJgtThHssAPrrGusWPIk4iQpAyQ3ecU VO118w== Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f65qcg042-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 03 Jul 2026 04:04:16 +0000 (GMT) Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-c916d17dd43so259517a12.3 for ; Thu, 02 Jul 2026 21:04:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783051455; x=1783656255; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to:content-type; bh=cuaojvJeCpfd+fb1L4y3F4PQXD2n4Bkmi4X904ZQT9E=; b=giJ2Ge1fw+3g1L8gYozz+4tSH9r8K27vIJA6PkuagUB+sEDCs5yi5ujMmhTSkoJ/U0 xT73pUyVlPqfep6zIPHGqLuE7V/0pJf2QNuGBMODp8kQxc6Zv9rZcsyIpjhXnF7ezRdq mIhv2/YHOLEJEQZecGH0lJ/f34n59wjVw58gCHltO196d7HXKTkAoYyZT7sz/gCViKaB om4rIM2TqdoDNohA8nBbLk9kUsM4Z9VBpj1Ry+OBRaWyHJlG/0FMfi03k8zlI02n72po eo+QA6rEPfdBaDpXSaoV5uXexHUU/mQssF6PgbZWKL1J0FVtpBwRpKPZo/JLDPQjrNgS 5kMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783051455; x=1783656255; h=content-transfer-encoding:content-type:in-reply-to:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=cuaojvJeCpfd+fb1L4y3F4PQXD2n4Bkmi4X904ZQT9E=; b=srKuH2nPcHvzc9Qc2iWFz2LfC230cGVwQrZ4nMFOMEuW0y+2QThQlyuSDaNHkfNuRo AvX/hgwyj80yPWskwAckX76hGJH5+I5IluZxfazuOfHUxwDHFBBtCO4NMUBWSnp9pWMo CqeKMMyJ4ZJ/q4XjB9us3EjWS4v1dhpsfhmeOEunH5yAp5NfuUlcbfuatuLDADC6j11b pOOfEmORZoAuQDox8gLr9sYPFDqDw36W2luFIfkBbr22XLWAD9sB9+v1h9nAeNJoQdKu jPACEoqnHyIGbsxsuBO3uxk10a18PsdT8ZyvwPxgOfjU9ikuS7vnWn9Op4ka7bbnY1mk RdlA== X-Forwarded-Encrypted: i=1; AHgh+Rp13LYQxHq2/oIa8FCT9PFpkAJTZLmNd4KFNlfSLIiZrUx4oity8yv794CPW9AAlthR+zMfAI3uQx/g7Iw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3wONTVFgImlaJLHGCUb0tXiR3er/BZ9RbfNfX7vTacP3mN9Sg K+n/qgLyCaAP3b9aimvyKJQnKSbqrZkpRJ3i6vv5RErUYIkna705YuVJM66n1vrmOB9s8iOMHNX LRa6BxjMcxJwQ0TRu1PYb3YI36znrdf4TNHFFxgd/Un5mro2kj922lJltjT8Ljn7FhuM= X-Gm-Gg: AfdE7cmPlKoCOEGqfOQhpaXsfKhMm4/CEzxygE7AVdpGtsCZagd4UAeH3ReSKoTN37T mSrO6Hn3rZgLonaAWQhiJpfc+kAfC1B/DIExylLZOJqZwHQpQDr2HJXZbzE7YATGCrsscWdXvBU wdBeZXt5ClE+wm2YIfnGT4ZbxpTfMM08bH0Kv34HN2gf4QpLfmI2CUUelbntDGNceXsSM67Epcw DGgk8hQIt/2DXo6np7TFzmAnzDS1Xo82jLeo+0bved/Mqcs+u2IzbIEg9Xp7baBaBjNxjo0kmNF WzS63nn89PEA6d6StDZxb+5lGlTy7EdFLyI34/JxtK48T2hQIEFBvZJ6/xUegVMdeyhTszPDwqA xlYxyiXkKGEdQ9blmPw7LoHlQYFawQNQggj34imSKR/xglBKMeIf6QV+f8rmZ/UUgZc8RQpPsAM QioGGzO2GW X-Received: by 2002:a17:90b:2f05:b0:36b:a2cc:485b with SMTP id 98e67ed59e1d1-380aa18d19dmr9189799a91.21.1783051455201; Thu, 02 Jul 2026 21:04:15 -0700 (PDT) X-Received: by 2002:a17:90b:2f05:b0:36b:a2cc:485b with SMTP id 98e67ed59e1d1-380aa18d19dmr9189762a91.21.1783051454538; Thu, 02 Jul 2026 21:04:14 -0700 (PDT) Received: from [10.133.33.211] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38127ccd661sm320299a91.15.2026.07.02.21.04.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Jul 2026 21:04:14 -0700 (PDT) Message-ID: <980e1f5c-a845-4180-970d-02f6496f2956@oss.qualcomm.com> Date: Fri, 3 Jul 2026 12:04:10 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RESEND] wifi: ath12k: fix MAC address copy on big endian To: Alexander Wilhelm Cc: Jeff Johnson , linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org References: <20260629-fix-mac-addr-copy-on-big-endian-v1-1-3de40f74c13e@westermo.com> From: Baochen Qiang Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: pQkqVfQ7lQrQeyWnzWX5_1eEr4Vz5LpO X-Authority-Analysis: v=2.4 cv=Bb7oFLt2 c=1 sm=1 tr=0 ts=6a4734c0 cx=c_pps a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=Iwk81yimAAAA:8 a=0cw6PLzwVsJPIFfh21UA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=_Vgx9l1VpLgwpw_dHYaR:22 a=PqBb7rsBcpu_OT3Qf5tX:22 X-Proofpoint-ORIG-GUID: pQkqVfQ7lQrQeyWnzWX5_1eEr4Vz5LpO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzAzMDAzNiBTYWx0ZWRfX2wD6zoCQAZ/M 4JiLg/CNd1kn+c4ETZP4S6hViElDbfKoZ3vEEPOWRhrNAo/eIYknBkJqaj9/8Wvwi221hL3On2w wroIIOZYLCypKgrgLpLy14xsntZwwJhcIZ1rncz4L31+lxMaiVa4SyXdTMeOwmoyPCombQxOWHq zsQEuZbHB0XOsMJoRH0QiZBvk6ztAEKEQdYjpfcFBmE7oywLmRo5tvw8ve0kfyxSPatFJBeOFBc 50Y3gfLvsLLKvUvoLsTcBmlBuLXfOPZGZntfANknhBgXAh+pCTixUawDKWgXW1y8eBdiPOs9i4J QgaOo9dZuVbFazXKu2qWwOL1xLR3skxLAF/YBfkJ25rjr9vwhK+IwuY0so4Ukz9pK0yfTOFCGA1 IiknuWFJTr71JtnYii1LDPuFMKYsMQAiC9dm6AUclJD/g4PoYglyc/hxiXt0LKtJRqbujgOlswf lJWuGv+kfUPWrOI5Kzw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzAzMDAzNiBTYWx0ZWRfXxl5D3C3H67PJ 7WqBlWBng1fs+lsEcvK19VjUILbmJoYRzejBfMTWmCyrGL/kVsZ5GmIkOT14/OsvfaDgQQvZ+Xs nQg1GROUpnmvJGfjKpXcJx4Ye0KkY5g= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-07-03_01,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 clxscore=1015 impostorscore=0 suspectscore=0 phishscore=0 adultscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607030036 On 7/2/2026 8:06 PM, Alexander Wilhelm wrote: > On Thu, Jul 02, 2026 at 05:56:01PM +0800, Baochen Qiang wrote: >> >> >> On 7/2/2026 5:17 PM, Alexander Wilhelm wrote: >>> On Thu, Jul 02, 2026 at 10:41:25AM +0200, Alexander Wilhelm wrote: >>>> On Thu, Jul 02, 2026 at 04:12:00PM +0800, Baochen Qiang wrote: >>>>> >>>>> >>>>> On 6/29/2026 3:55 PM, Alexander Wilhelm wrote: >>>>>> The ath12k_dp_get_mac_addr function performs a simple memcpy from a >>>>>> CPU-native data types into an u8 array. On a big-endian architecture, this >>>>>> later results in a null‑pointer dereference. Convert the data to >>>>> >>>>> Alex, did you find a time to investigate the root cause of the null pointer? >>> >>> Hi Baochen, >>> >>> I am now running kernel v6.18.26, and it looks like the null-pointer issue is >>> gone. I only see the following log messages: >>> >>> ath12k_pci 0001:01:00.0: failed to vdev 0 create peer for AP: -110 >> >> what is the actual mac addr reported from firmware in the PEER MAP event? My understanding >> is that, without this patch (if we really need it) we get a wrong mac addr, then in >> ath12k_dp_link_peer_map_event() we are more likely to fail the peer look up hence would >> create a new peer and wakeup the waiting thread. But the log here clearly indicates that >> the wait timeout, which does not make sense to me. I think I can understand the behavior here: even if wakeup happens, the waiter in ath12k_wait_for_dp_link_peer_common() checks the map result by calling ath12k_dp_link_peer_find_by_vdev_and_addr(). Since the mac addr of the newly created peer does not match, check failed. Finally we get timeout. > > I have now added the following debug output for `peer_map_ev` inside of > `ath12k_dp_htt_htc_t2h_msg_handler`: > > /* DEBUG */ > switch (type) { > case HTT_T2H_MSG_TYPE_PEER_MAP: > case HTT_T2H_MSG_TYPE_PEER_MAP2: > case HTT_T2H_MSG_TYPE_PEER_MAP3: > ath12k_err(ab, "[DEBUG]: resp->peer_map_ev.info: %08X\n", le32_to_cpu(resp->peer_map_ev.info)); > ath12k_err(ab, "[DEBUG]: resp->peer_map_ev.mac_addr_l32: %08X\n", le32_to_cpu(resp->peer_map_ev.mac_addr_l32)); > ath12k_err(ab, "[DEBUG]: resp->peer_map_ev.info1: %08X\n", le32_to_cpu(resp->peer_map_ev.info1)); > ath12k_err(ab, "[DEBUG]: resp->peer_map_ev.info2: %08X\n", le32_to_cpu(resp->peer_map_ev.info2)); > break; > default: > break; > } > > Here is the result: > > ath12k_pci 0001:01:00.0: [DEBUG]: resp->peer_map_ev.info: 0002002B > ath12k_pci 0001:01:00.0: [DEBUG]: resp->peer_map_ev.mac_addr_l32: C921F004 > ath12k_pci 0001:01:00.0: [DEBUG]: resp->peer_map_ev.info1: FFFF0EE0 > ath12k_pci 0001:01:00.0: [DEBUG]: resp->peer_map_ev.info2: 000502F5 > ath12k_pci 0001:01:00.0: failed to vdev 0 create peer for AP: -110 > ath12k_pci 0001:01:00.0: failed to create vdev 04:f0:21:c9:e0:0e ret -110 > ath12k_pci 0001:01:00.0: failed to assign chanctx for vif 04:f0:21:c9:e0:0e link id 0 link vif is already started > ath12k_pci 0001:01:00.0: invalid vdev id in vdev delete resp ev 0 > > Let me know if you see anything suspicious or if you need additional debug > information. I am not really sure about the final mac addr and vdev id passed to ath12k_dp_link_peer_map_event(), so can you also add print below? diff --git a/drivers/net/wireless/ath/ath12k/dp_peer.c b/drivers/net/wireless/ath/ath12k/dp_peer.c index 47d009a0d61f..3e8201d536a5 100644 --- a/drivers/net/wireless/ath/ath12k/dp_peer.c +++ b/drivers/net/wireless/ath/ath12k/dp_peer.c @@ -162,6 +162,9 @@ void ath12k_dp_link_peer_map_event(struct ath12k_base *ab, u8 vdev_id, u16 peer_ struct ath12k_dp *dp = ath12k_ab_to_dp(ab); struct ath12k *ar; + pr_info("peer map event: vdev_id %u peer_id %u mac_addr %pM ast_hash %u hw_peer_id %u\n", + vdev_id, peer_id, mac_addr, ast_hash, hw_peer_id); + spin_lock_bh(&dp->dp_lock); peer = ath12k_dp_link_peer_find_by_vdev_and_addr(dp, vdev_id, mac_addr); if (!peer) { > > > Best regards > Alexander Wilhelm