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 F07803F0A81 for ; Thu, 30 Jul 2026 09:34:00 +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=1785404042; cv=none; b=IOwzoIvf8Fp4siNEk4HwkcGSqLSdAc2NnNlpGqSQVy7z371k7B0WrdQ/l3uw3ZI4pfog7Q0+5jD5+inOTEt+7XYoAHnRBabxIyLkq1Khw0iIPGSDbP9t5o9ptR0BXaoDfut8YpDM2U+rFDMpl0tklsu747nDlM5NSEMoZ5m+KZ4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785404042; c=relaxed/simple; bh=UhTBfnQS8cA2GPBi+FeqGZY6d8NuD/cQ8gl6nCxgS/A=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=oknfnU9ZBVV/u+2gwleA7oNPUG4+gV1ttKg0CWsPP10dba4lBZc4y76RoGC/m8FiAgCnKZT5qDCfSbReLbms5C/CRrcLmxbDfg+WseV/3c8mDUcEPwR2T/9nN5kceUoWEVKWUNRYPAFYbyViv442EBwV79MODZ/8RG1QlnMoGPc= 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=c+kORpkz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PI0BlCSa; 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="c+kORpkz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PI0BlCSa" 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 66U9CSBN618917 for ; Thu, 30 Jul 2026 09:33:59 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= zAnGl1yQ6HSH/lR+AcnuDHk24BuAb/i+djMLcJ2t8A8=; b=c+kORpkzdQZBC3Rc CnRGLdPAhNcqEx62UHmDI+kWH/x2x3PkcQxVO8Debvz9exY2E3Aipypn/B6ZWRZ1 sJHEI1x9fQsSqLhKnxUHM/j431PzXM8qrbqwhHHTLDkW+Hz8dXM17Yl9VOVoYNiz UezGH6y6XA7suQm6xcXSdAYE4ewx/qw/2qY3lMTR47P185kSLVHLDOZz831nVh+L WrWmpJC6AuhKszeanc/L3A/sdlNCM8fCYVDNwKIWIj+/IoF9T4qcIw/brlkhpdhF td2yuciCcCZRhPce6nhzurcNjdlQnEFWip2JEqqThmne/1xrsEIYVGGpw0/JC2du 0KPhqQ== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fr3sd8359-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Jul 2026 09:33:59 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38ecc48b3c2so992376a91.1 for ; Thu, 30 Jul 2026 02:33:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785404038; x=1786008838; 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=zAnGl1yQ6HSH/lR+AcnuDHk24BuAb/i+djMLcJ2t8A8=; b=PI0BlCSase98gPbNF8VNokmXWrG45HP8Y1nV5paMv9EplqA6gbLv8andM49wXC3mhd CBrCGJG8ADcGwgK2V4icUYKNuHQOLrjdTKO39yBIE4NbRmpY2ynifEITrTyF9DLFop7k hbFocQagOa9ZgbtrBpDuIe7qtUMi8EBLGGU4VX0w8VWoYm7UWcC88AaJHM4pnI5YkCyH Su7faPFhj5FYS0vSxwOg1qNrnn6xwrH02opZLLO+fWUKorEQHwrt+0c1eIJl+lR8AYJw UDB4EY6gI5jevmibh7e4ptpXojiZJfc5U6WeKnwaIVusZDK7jBEYcCRajm8nPaRAJRHU ZsCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785404038; x=1786008838; 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=zAnGl1yQ6HSH/lR+AcnuDHk24BuAb/i+djMLcJ2t8A8=; b=HLYmPLbcNP3tonBizy5sHL8Cu312A1Ia+tA9Rd9T3Ey+J+idjLuJFOoNIBZv9kOksl zca4X07+Khk/p5ifx6kdCcAl7q1CMsc0zpkwNXSCYZWTqVeRcVrNc8X4FTUiArOjVFJn Rf67rFX++D1+XSsDs9X/V1FfEWb8BqSJ6hk8i6HBDFtsBbJQF6lD9QTNkqpYzmFugwJP u4ILGp/9Qrn0EF6LorEggTO80h/MtPVtx4YzQClfnCvHsgZvWTYwu65fx6ENHI1kt8b9 NF+nmSVNyOB3weHcDbu9J95/DWqj2Q0dpRbQdHbLvCJac5HGt/E4iTsUssReZv9Wr3th PamQ== X-Forwarded-Encrypted: i=1; AHgh+RpHGwYtW7cHH0Pw3mKaQB12clmpp++u9y04DDtNCGD4rg0SA2WxvBFSWNUdMMca/f0ErQGrZi33oPCgqFc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy78eDqF7OMC3fZc+y+0NDC8ikbpUew+zeSwN+GHQuIQ+Px1eyq 4X2/YPQHpGbCWRlZY2PnA3xR0pmkwL8tYwTFP1t7k4+GY/DmRI7EeWoSGOL9u2nBGmFcMv/MfeI RIeJoGoY4LwYqw8R6p5Wn3BUW4j4GBNrkHhvbWAcUnL/oSVGnic3PlbtoniFMpc9pXK8= X-Gm-Gg: AR+sD120YnGBYmve8003W8UWkC0yNGyK51QlwORrih4DAdgNTeS8t1FBIiJOdJLbutR Y58a9ovTU1sfj4WWUJoi8AzQgOlMapYPBFbbgoWaB8T5H2CqIPp5RQyClCQX+Y4sTwooigCGup8 GwVOGy6IAx9WJmdYVCYPk1waXpZx+f1O5B1+YvBofVHN2ZE1ESZdhBjoLD4SEZ7TCmJctZA//pn 36UpBArr3cN2pDYebPx2YWyz4jNrb4Yw4KNbv4UM4o2j+qfnJWGgotq6zkLz7YdXry3Zalfvd3N tYMIR216lcILDd50YprJilFGp7dxA/zoJxmJxWgFOnzb1JjFZHwYgBcoXsoIBs8mbN6ZQ1q6zWp dCWJnjNCdLWy3E9Wt8Y7i7Oi0FoBqqMwNj/4fQGix X-Received: by 2002:a17:90b:4d8e:b0:387:df8f:1406 with SMTP id 98e67ed59e1d1-38f9c04002emr1506894a91.39.1785404038496; Thu, 30 Jul 2026 02:33:58 -0700 (PDT) X-Received: by 2002:a17:90b:4d8e:b0:387:df8f:1406 with SMTP id 98e67ed59e1d1-38f9c04002emr1506877a91.39.1785404038044; Thu, 30 Jul 2026 02:33:58 -0700 (PDT) Received: from [10.152.199.23] ([202.46.23.19]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13e7265010esm19576966c88.6.2026.07.30.02.33.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 30 Jul 2026 02:33:57 -0700 (PDT) Message-ID: Date: Thu, 30 Jul 2026 15:03:37 +0530 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 v8] wifi: ath11k: fix resource leak on error in ext IRQ setup To: ZhaoJinming , Baochen Qiang , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath11k@lists.infradead.org, linux-kernel@vger.kernel.org References: <20260729020005.219253-1-zhaojinming@uniontech.com> From: Rameshkumar Sundaram Content-Language: en-US In-Reply-To: <20260729020005.219253-1-zhaojinming@uniontech.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-ORIG-GUID: dAn0Rg6gIX5jO2D0YogZfq1JavNY_qK4 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzMwMDA3MCBTYWx0ZWRfX2izvyjVutOcI rJgNpPBCl/kZZZDdE9f+dd9ToMPrI9Odu3ryZrLQu00N5adrG6znfBeuhzoVdXBn+FKIqd3/y/B it9Fm5mdLqtz8QN1H4GndsbSUAzSo+c= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzMwMDA3MCBTYWx0ZWRfX3cmVIdmWoNiO JNzQIZ5JRKk0aaqZsV/HNO+ThocAKSv7CZo78uMm+lviztKDq6K/UPjWrMFVNOfdzSw/QVDKh4E PXT0TTvoMcNGyv+kpgdx4bt5kIAly0bCD/ReKCmtoeRjEXCFNbaBvq1M6vpdlSPGU33LW4+Cxt0 aDGCciwBndVptpPnGKoT6+rViXazXRQe88nZ3mcDmS2Q28Ts8O1f1erDvOBVOl/YzFjf0rHJPkB WJZK56kp5VqCdiioVe1oAfY7LsWer3bE6dJ+IgqdbLe1MW9Npx/3cXJCVC802HDZLz9yYve2Dx6 8Jg4kHavRHLU5rav9T3wCTYCXCB7Sf7D3BJupB5bng2CAKiscYYpROrBgn7NScK0jHkTldHk8rS Jl4aohZk1S+ARKrWS6yuhmrVg2LtXzoC26D+ZvD79HYMTytgfQpCWo3IvYbSDZnqeGGERxNNo6X DNqyvvbXtmVWVNNA9lQ== X-Authority-Analysis: v=2.4 cv=OJ8XGyaB c=1 sm=1 tr=0 ts=6a6b1a87 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=j4ogTh8yFefVWWEFDRgCtg==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=iHwBjlyiAAAA:8 a=EUspDBNiAAAA:8 a=t70t56v2sCmPkK01i0IA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 a=uNSKXYNwxGiU6LD0JREI:22 X-Proofpoint-GUID: dAn0Rg6gIX5jO2D0YogZfq1JavNY_qK4 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-30_02,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607300070 On 7/29/2026 7:30 AM, ZhaoJinming wrote: > In ath11k_ahb_config_irq(), when a CE request_irq() fails, the function > returns the error immediately without freeing the CE IRQs that were > successfully registered in previous loop iterations. The probe error > path does not call ath11k_ahb_free_irq() either, so the previously > registered CE IRQ handlers remain attached to the interrupt lines and > are never released. > > In ath11k_ahb_config_ext_irq(), when an external request_irq() fails, > the error is only logged and the loop continues. The function then > returns 0 indicating success, leaving the device in a partially > configured state where some external IRQs are not registered. This > causes enable_irq()/disable_irq()/free_irq() to be called on > unregistered IRQs during runtime and remove/shutdown, triggering > WARN_ON(!desc->action), and missing interrupt handlers lead to data > loss. > > Additionally, if alloc_netdev_dummy() fails for a later IRQ group, the > function returns -ENOMEM without freeing the ext IRQs and napi_ndev > that were successfully set up for earlier groups. > > Fix all three issues: propagate the error up to the caller and unwind > all successfully registered IRQs and allocated resources on failure. > Also move ab->irq_num[irq_idx] assignment after request_irq() succeeds > in the ext IRQ path to match the CE IRQ path and avoid storing a stale > IRQ number on failure. > > Signed-off-by: ZhaoJinming Reviewed-by: Rameshkumar Sundaram