From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 A2FAD30648A for ; Mon, 13 Jul 2026 03:17:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783912643; cv=none; b=U9b1SIc/zduIeU2tUaDN7hbpteUh0YkU7M+rL/T6sfXX6A1nucVS4aSfmXbwxpSknp8kbzpIgn96/tR/rmbxev9uZTTs0Twrp7+0RcctKLsKl4XV0AJJI0gAS9Fe16IvwuSDm5ny72ePYJStdlU44bK70f2NRmmJhjYvhJe5mog= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783912643; c=relaxed/simple; bh=zJKHp9iCwjibEtIInY1UuB8YTsoROjceOoSY+LhflZE=; h=Message-ID:Date:MIME-Version:Subject:To:References:From: In-Reply-To:Content-Type; b=PnZR9zqcj7LUVA/6ww6UL51y61xyBqoPJrKzJI0Q6kbMfztkv9k/0pcYhLGatUedatjtMqdURExEguR9YfSk3sIjR1maNPROKogFLmpJp1hVjMkeyyeB68s71hHS26eZ8bPKzPiqhiZxYmFugUe44DwsAgGdfbdFyeCi54S7d3g= 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=J/PMKQLh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cdMxSA6G; arc=none smtp.client-ip=205.220.168.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="J/PMKQLh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cdMxSA6G" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66D3AZYf235057 for ; Mon, 13 Jul 2026 03:17:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= s6UXAXxEYf1SyoIhABxkkWxNHAbHxvZk97YORSHe2A4=; b=J/PMKQLhV3BuVb8b va4ch5GmkcEg+e2TB0QAD4eywnjCh9Q6EQcnCwzJpqDJk1JUuXeuH8DQdgWdGm3c EYJzeJlOal2S5pltkEPZGL7kcux6G0PdU1sqzAiuctUQN+uwqLsnqtgUTgZ1wR/y 0XN1Rj7LqKfsOLL0EviHyyDr3YS8LgXF9z9rAF14oqLA3d6EmewEnu1DjRayMyGp RHJEpSNe4GvozV8NGuGpfPgET7dCUpQrBTHB89TfhAZA2fL8xFETaQnas8z8qipi WkkaWq9IHTqXzoGTQ3XhqGBt3wfXn1XpC3iZiCvdMX6hMS7ruBKUvzbzMj70UEYk pgIJdQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcjnm0kpn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 03:17:19 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cce14a21faso45427855ad.0 for ; Sun, 12 Jul 2026 20:17:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783912638; x=1784517438; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:content-language :from:references:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to:content-type; bh=s6UXAXxEYf1SyoIhABxkkWxNHAbHxvZk97YORSHe2A4=; b=cdMxSA6GUy5x+16Z00aY59EkY0iy+impV0rlByXzAmimeN2uE4cJN45xXXxuP8AOKG BnQwhkXDbCS5JtT3Exwz/ZEdXtuUlJJFA0ux+16qef/Bj3Xl+NI/NbwaR0aMUe2jYYL4 P8pilp2d7kknO5v+EEMo9hvnixVWedI+UrFd6Ac56pEx7J9QeiNNe0FHfQytUB5Ftx9z 8MbjbR8OBN/AMZ63coATpFWXLXf4dTqPujuer/ZYErg1gMnqXbq/YrudOYBeDKhTuVLX pyKtxnfP9uxSSCi6/CJC+8lvVb02y7uptWCmEJfwea1e7MbuBcBkuMxSgAZICAkoHf/a mnzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783912638; x=1784517438; h=content-transfer-encoding:content-type:in-reply-to:content-language :from:references: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=s6UXAXxEYf1SyoIhABxkkWxNHAbHxvZk97YORSHe2A4=; b=KJBKGsJI8WfSLGhZhALWlUezLpLRP5cySYugq2NUv+3zKTg4KRhx7E6DDn7CV/5EwG ZfpNC4B3+KGmuVeDTQyUlA9/y/xp63TVxbJ86/zWHU1y+cqNwHfzpiStZTVKV3PF59XD LHHDhoq+BBLDZFZxe97J7KIfe+4Ks5U17K9RTCBF9fn3lsPlhxlpIAtd4GLA+79cYXyP SZix3UCk7Ebr6swhZT3Vf+Ij5/NkhhlNR1aRCBgVnYRf1wC5PfyWwqHJhFmeTrX20nhN pXfDXYdL+9XxdjeBw6cpldbLjGsRFXF+gQx1yIzOvEFvKUsdfJfBaHDwAIpPBtJARy7j T2BQ== X-Forwarded-Encrypted: i=1; AHgh+RrYaDtJd2r72k07ZN33OVnAkM5XEOkwz0z9HTfTHwHT3FQYECLDCKq516OcuwGq0j9+wLhBV1i1pDjWUrA=@vger.kernel.org X-Gm-Message-State: AOJu0YyAv01LtRlKxBzSw53ZXq8EjGFolepF9EsDQPXf6qWRTPGBGh6a KdUczLORWG+yFisolwrGjYyaJ7wXWrewML/IFFabG/psYybeBYus3/TrSD3RE+wX+0eC1ueXtWV R4vzasrUS4rx1xScSqqIC+BI5H+Se0+yt5ejmScpeV2ftmoTGKzcLYKj1zU5GhAtaOnY= X-Gm-Gg: AfdE7clCfYZcjiA8S+bixvyeKsdsnhySz8RDp1mvsGp9Os7q2WAf0spUbkcd7GcnWWe jJzVQP0HFe6cRCGUB2T+F7GkDdn7Sw7Wxbt3KbKBzPcjsplGw/XqNWS1MtnXiZoTmycZze+YqNw NLBZXoOeDm4/auoKEGgGtMGWZhSxnaINnqipJzh+NoODpDaMpB8/KUPT2sQnlPcaQ4ftN/bHvEM R++c+a6uRlwtfDIQLRfj2AVRRKRGNiYBcRBEzPip9d1c2WpgFARSUHZE7X2uWXODFD1/iEtSfxi gtQwrUb0nUM5OUmQdaYZ7Yt1+avfuUL41bQec2P0pJvMkSZ2wKlKI87KgQqH2EQA+DVQKi3Lt9r sQ7+laUF2pQG7vigD/nrD9d8yIL318EeaXDY9RjOOwCamVW6AkXxxa9S9iBZrt5iZKQpQy8hifa 6ZF/Ek9Kk= X-Received: by 2002:a17:902:d2c7:b0:2c9:994c:9a5 with SMTP id d9443c01a7336-2ce8298a501mr112386145ad.30.1783912638371; Sun, 12 Jul 2026 20:17:18 -0700 (PDT) X-Received: by 2002:a17:902:d2c7:b0:2c9:994c:9a5 with SMTP id d9443c01a7336-2ce8298a501mr112385915ad.30.1783912637929; Sun, 12 Jul 2026 20:17:17 -0700 (PDT) Received: from [10.133.33.33] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9bf7858sm92067285ad.23.2026.07.12.20.17.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Jul 2026 20:17:17 -0700 (PDT) Message-ID: <8133bce1-2b7e-46fb-8989-f5946ff341a8@oss.qualcomm.com> Date: Mon, 13 Jul 2026 11:17:14 +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] wifi: ath12k: release QMI handle on late init failures To: Guangshuo Li , Jeff Johnson , Vasanthakumar Thiagarajan , linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org References: <20260708100924.744386-1-lgs201920130244@gmail.com> From: Baochen Qiang Content-Language: en-US In-Reply-To: <20260708100924.744386-1-lgs201920130244@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: C3zV6Q8zG1VMlt1tLmCwN9fV5pM8IFA1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDAyOSBTYWx0ZWRfXwy9d3ff/me3O gSg0JGiws9kzh50R6KQlKazF5B/Od+l3VL8gzDA4lccAes+IuS4JHAeWNqTRZ0rHksTXISLLm3D Szmn6H87K1dahpbscKjR5ioXERJpp53lyvgMD/egVqlfpyE8KvalF8Ia4g7OA1qQHyB+2zkHWls KRyg+NZD85y+QfsMcGN0GV1x6p7j0t6ro8f5fIOi76CqLumFFZHV/RBSiiOQV0g0egYuwb2P8qk OW/EYMprMmZmFuhAy+cZrGjDjngr84FnW+TQdi7yWc2ftYHWZjehHks7r/Lh5LdSnfjjBgy1umC cUbEntB454Za2NdhYhczJZC5xoiHnp9N2lkVvIUG8fmxKqh0x0MPdF8eDhBYMQM+dbkT7lcEvlZ w8IoOGdGVdaae38FTxQKJ8BXaogp6YQdykR+GjYfILNwp8ABitTKjWnCEUxnc7o2+aqiKg+jV9H Vl0rKSsTPGgvfmbgKYg== X-Proofpoint-GUID: C3zV6Q8zG1VMlt1tLmCwN9fV5pM8IFA1 X-Authority-Analysis: v=2.4 cv=AfmB2XXG c=1 sm=1 tr=0 ts=6a5458bf cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=pGLkceISAAAA:8 a=BBdAH38HxtlORMPQ_CcA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDAyOSBTYWx0ZWRfX9fDR0z0z82ca 09UKIOSmOyM99VzoVzvD5hXevwyiAKAQy4mD/7nkOyTR+FkCNfnSI4hle9h1BTPPHT5DXCmhiCQ H3+PIqmH6DSOaK3Z5KGANfVGpQPhLj0= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_01,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 clxscore=1015 suspectscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130029 On 7/8/2026 6:09 PM, Guangshuo Li wrote: > The change referenced by the Fixes tag makes hardware group creation > skip the device whose ath12k_core_soc_create() failed, and only destroys > devices that were created successfully before it. > > That avoids releasing an uninitialized QMI handle when qmi_handle_init() > fails, but it also means that ath12k_qmi_init_service() must clean up any > resources it has already acquired before returning an error. > > qmi_handle_init() can succeed before later initialization steps fail. If > the QMI event workqueue allocation fails, or qmi_add_lookup() fails, the > function returns an error without releasing the already initialized QMI > handle. Since the failed device is now skipped by the hardware group > rollback path, that handle is leaked. > > Release the QMI handle on those late failure paths and clear ab->qmi.ab > so the failed device is left in the same state as the qmi_handle_init() > failure path. > > Fixes: 088a099690e4 ("wifi: ath12k: fix error handling in creating hardware group") > Signed-off-by: Guangshuo Li > --- > drivers/net/wireless/ath/ath12k/qmi.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath12k/qmi.c b/drivers/net/wireless/ath/ath12k/qmi.c > index fd762b5d7bb5..31e9fa9a62be 100644 > --- a/drivers/net/wireless/ath/ath12k/qmi.c > +++ b/drivers/net/wireless/ath/ath12k/qmi.c > @@ -4054,7 +4054,8 @@ int ath12k_qmi_init_service(struct ath12k_base *ab) > ab->qmi.event_wq = alloc_ordered_workqueue("ath12k_qmi_driver_event", 0); > if (!ab->qmi.event_wq) { > ath12k_err(ab, "failed to allocate workqueue\n"); > - return -EFAULT; > + ret = -EFAULT; > + goto err_release_qmi_handle; > } > > INIT_LIST_HEAD(&ab->qmi.event_list); > @@ -4067,9 +4068,15 @@ int ath12k_qmi_init_service(struct ath12k_base *ab) > if (ret < 0) { > ath12k_warn(ab, "failed to add qmi lookup\n"); > destroy_workqueue(ab->qmi.event_wq); > - return ret; > + goto err_release_qmi_handle; > } > > + return ret; > + > +err_release_qmi_handle: > + qmi_handle_release(&ab->qmi.handle); > + ab->qmi.ab = NULL; should this be ? ab->qmi.handle = NULL; > + > return ret; > } >