Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2244152ybz; Thu, 30 Apr 2020 13:32:34 -0700 (PDT) X-Google-Smtp-Source: APiQypINxommW2w6aoNet+D17d0j/nAR9nV15BOONqqDaiEsWCYghMOkletbBAs1gEsNVhpuSjwC X-Received: by 2002:a17:906:9443:: with SMTP id z3mr260406ejx.114.1588278753948; Thu, 30 Apr 2020 13:32:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588278753; cv=none; d=google.com; s=arc-20160816; b=p7D3lMg7soG/LiQr5c41zDET9d4nduYlQ0wbv+TUVMWMXXXyn2TI2hHL7DqeIf1ln6 80sj0j1eptfQj/8pl6yxlQGijNjzMFfD5nAj2YHDUObh5BF8P9Lgp8XWK0ilVTxOo3j1 qPSov3R6zeQB5FC4of3xy+YkmcP4w1+ke3VYhRoKfaSCpO4gW49F5VFArwDeVRQHPsTe yHIuRx69zFETIUCOsjh+341OVmyDdBlZUgF9Aj4LBaQlabaDiyurIDi1aa1SleEmmr9w lJ5RMCwvOw16r3wBOKbrPhKuPtP/w/WJN2SpjwCjMm5GQRHSymMji+rbcNiwGcGlzV6x qAPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=xAXau+H2BRlr3qiQPI1Js4m85L4y7pPnx/TOVT1RYNw=; b=CE2LYcgZgiIzpJ6Mbtln0lRIpiLjFbHK5nX8yykc5t5OzlPmFfzEosMiIXHGO9OwpT /Suq3CnHANiGJqwXZwvCgQ3kCriC/diu0lyDjZJubUjwORN9zEEj8N4bTMvZCD235CWM 8Ft8TdaH7oDnXSdJOPXDb8UNYBMcS0V38rKWDvK3rnw7U/ubioKP6O84BWRs32LJ19fy /Tfiif39pxDstyhticR0fti8z8M00ZD84bLGjzGhc3aNgJj5RLhIYVmnVpCUXqL7Xtbb cCo0W/7zwqHQbSOqgeJiJZrKDOBRlZqRKFMG9dlb101Fn1km25zjLIsNGk19rW2+F+gO xHTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GUvL0Jcy; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q24si441391ejz.458.2020.04.30.13.31.40; Thu, 30 Apr 2020 13:32:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GUvL0Jcy; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726930AbgD3UbL (ORCPT + 99 others); Thu, 30 Apr 2020 16:31:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:48744 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726338AbgD3UbL (ORCPT ); Thu, 30 Apr 2020 16:31:11 -0400 Received: from localhost.localdomain.com (unknown [151.48.155.206]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 71ABE20731; Thu, 30 Apr 2020 20:31:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588278670; bh=dodLZODMKGnV6dizLxKLvCaa2y0mojKga6d+qKIU/EU=; h=From:To:Cc:Subject:Date:From; b=GUvL0JcyRrqBEAyyQRUhuiGTBER6lt1uhJ0diovIg1MMijcv6rnPKikZUvB/0Ua2u krOdL+SO+sO4BVBBltmKhr9VbIPKu/Qp3j94sHRFByorotKjlrkuPbS5r4H61oU6hO dBiLs7vWShNxk6LRTR5D9XiPZP2ULXPPrd0cF4Kk= From: Lorenzo Bianconi To: nbd@nbd.name Cc: linux-wireless@vger.kernel.org, lorenzo.bianconi@redhat.com, sean.wang@mediatek.com, linux-mediatek@lists.infradead.org, soul.huang@mediatek.com Subject: [PATCH] mt76: mt7615: free pci_vector if mt7615_pci_probe fails Date: Thu, 30 Apr 2020 22:31:03 +0200 Message-Id: X-Mailer: git-send-email 2.25.4 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Always free pci irq vector if mt7615_pci_probe routine fails Moreover free irq in mt7615_pci_remove routine Co-developed-by: Soul Huang Signed-off-by: Soul Huang Signed-off-by: Lorenzo Bianconi --- drivers/net/wireless/mediatek/mt76/mt7615/pci.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/pci.c b/drivers/net/wireless/mediatek/mt76/mt7615/pci.c index c53760a40cbb..05011b481885 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/pci.c @@ -39,13 +39,21 @@ static int mt7615_pci_probe(struct pci_dev *pdev, ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); if (ret) - return ret; + goto error; mt76_pci_disable_aspm(pdev); map = id->device == 0x7663 ? mt7663e_reg_map : mt7615e_reg_map; - return mt7615_mmio_probe(&pdev->dev, pcim_iomap_table(pdev)[0], - pdev->irq, map); + ret = mt7615_mmio_probe(&pdev->dev, pcim_iomap_table(pdev)[0], + pdev->irq, map); + if (ret) + goto error; + + return 0; +error: + pci_free_irq_vectors(pdev); + + return ret; } static void mt7615_pci_remove(struct pci_dev *pdev) @@ -54,6 +62,7 @@ static void mt7615_pci_remove(struct pci_dev *pdev) struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt7615_unregister_device(dev); + devm_free_irq(&pdev->dev, pdev->irq, dev); pci_free_irq_vectors(pdev); } -- 2.25.4