All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Anderson <seanga2@gmail.com>
To: "David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	netdev@vger.kernel.org
Cc: Nick Bowler <nbowler@draconx.ca>,
	Rolf Eike Beer <eike-kernel@sf-tec.de>,
	Zheyu Ma <zheyuma97@gmail.com>,
	linux-kernel@vger.kernel.org (open list),
	Sean Anderson <seanga2@gmail.com>
Subject: [PATCH net-next v2 05/13] sunhme: Regularize probe errors
Date: Fri, 23 Sep 2022 21:53:31 -0400	[thread overview]
Message-ID: <20220924015339.1816744-6-seanga2@gmail.com> (raw)
In-Reply-To: <20220924015339.1816744-1-seanga2@gmail.com>

This fixes several error paths to ensure they return an appropriate error
(instead of ENODEV).

Signed-off-by: Sean Anderson <seanga2@gmail.com>
---

Changes in v2:
- Set err inside error branches

 drivers/net/ethernet/sun/sunhme.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/sun/sunhme.c b/drivers/net/ethernet/sun/sunhme.c
index b0843210beb9..26b5e44a6f2e 100644
--- a/drivers/net/ethernet/sun/sunhme.c
+++ b/drivers/net/ethernet/sun/sunhme.c
@@ -2945,7 +2945,6 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
 	if (err)
 		goto err_out;
 	pci_set_master(pdev);
-	err = -ENODEV;
 
 	if (!strcmp(prom_name, "SUNW,qfe") || !strcmp(prom_name, "qfe")) {
 		qp = quattro_pci_find(pdev);
@@ -2963,9 +2962,10 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
 	}
 
 	dev = alloc_etherdev(sizeof(struct happy_meal));
-	err = -ENOMEM;
-	if (!dev)
+	if (!dev) {
+		err = -ENOMEM;
 		goto err_out;
+	}
 	SET_NETDEV_DEV(dev, &pdev->dev);
 
 	hp = netdev_priv(dev);
@@ -2982,18 +2982,22 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
 	}
 
 	hpreg_res = pci_resource_start(pdev, 0);
-	err = -ENODEV;
+	err = -EINVAL;
 	if ((pci_resource_flags(pdev, 0) & IORESOURCE_IO) != 0) {
 		printk(KERN_ERR "happymeal(PCI): Cannot find proper PCI device base address.\n");
 		goto err_out_clear_quattro;
 	}
-	if (pci_request_regions(pdev, DRV_NAME)) {
+
+	err = pci_request_regions(pdev, DRV_NAME);
+	if (err) {
 		printk(KERN_ERR "happymeal(PCI): Cannot obtain PCI resources, "
 		       "aborting.\n");
 		goto err_out_clear_quattro;
 	}
 
-	if ((hpreg_base = ioremap(hpreg_res, 0x8000)) == NULL) {
+	hpreg_base = ioremap(hpreg_res, 0x8000);
+	if (!hpreg_base) {
+		err = -ENOMEM;
 		printk(KERN_ERR "happymeal(PCI): Unable to remap card memory.\n");
 		goto err_out_free_res;
 	}
@@ -3063,9 +3067,10 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
 
 	hp->happy_block = dma_alloc_coherent(&pdev->dev, PAGE_SIZE,
 					     &hp->hblock_dvma, GFP_KERNEL);
-	err = -ENODEV;
-	if (!hp->happy_block)
+	if (!hp->happy_block) {
+		err = -ENOMEM;
 		goto err_out_iounmap;
+	}
 
 	hp->linkcheck = 0;
 	hp->timer_state = asleep;
-- 
2.37.1


  parent reply	other threads:[~2022-09-24  1:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-24  1:53 [PATCH net-next v2 00/13] net: sunhme: Cleanups and logging improvements Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 01/13] sunhme: remove unused tx_dump_ring() Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 02/13] sunhme: Remove version Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 03/13] sunhme: forward the error code from pci_enable_device() Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 04/13] sunhme: Return an ERR_PTR from quattro_pci_find Sean Anderson
2022-09-24  1:53 ` Sean Anderson [this message]
2022-09-24  1:53 ` [PATCH net-next v2 06/13] sunhme: switch to devres Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 07/13] sunhme: Convert FOO((...)) to FOO(...) Sean Anderson
2022-09-27  7:58   ` David Laight
2022-09-27 13:57     ` Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 08/13] sunhme: Clean up debug infrastructure Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 09/13] sunhme: Convert printk(KERN_FOO ...) to pr_foo(...) Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 10/13] sunhme: Use (net)dev_foo wherever possible Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 11/13] sunhme: Combine continued messages Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 12/13] sunhme: Use vdbg for spam-y prints Sean Anderson
2022-09-24  1:53 ` [PATCH net-next v2 13/13] sunhme: Add myself as a maintainer Sean Anderson
2022-09-27  0:50 ` [PATCH net-next v2 00/13] net: sunhme: Cleanups and logging improvements patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220924015339.1816744-6-seanga2@gmail.com \
    --to=seanga2@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=eike-kernel@sf-tec.de \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nbowler@draconx.ca \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=zheyuma97@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.