From: Brice Goglin Date: Mon, 10 Jul 2006 01:10:18 +0000 (-0400) Subject: [PATCH] myri10ge return value fix X-Git-Tag: v2.6.18-rc2~101^2~7 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c2248cc57f83ce551511a6c1736383938dd9d1b;p=linux-2.6 [PATCH] myri10ge return value fix Andrew Morton wrote: > All these functions return error codes, and we're not checking them. We > should. So there's a patch which marks all these things as __must_check, > which causes around 1,500 new warnings. > The following patch fixes such a warning in myri10ge. Check pci_enable_device() return value in myri10ge_resume(). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index ee1de971a7..07ca9480a6 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c @@ -2412,14 +2412,20 @@ static int myri10ge_resume(struct pci_dev *pdev) return -EIO; } myri10ge_restore_state(mgp); - pci_enable_device(pdev); + + status = pci_enable_device(pdev); + if (status < 0) { + dev_err(&pdev->dev, "failed to enable device\n"); + return -EIO; + } + pci_set_master(pdev); status = request_irq(pdev->irq, myri10ge_intr, IRQF_SHARED, netdev->name, mgp); if (status != 0) { dev_err(&pdev->dev, "failed to allocate IRQ\n"); - goto abort_with_msi; + goto abort_with_enabled; } myri10ge_reset(mgp); @@ -2438,7 +2444,8 @@ static int myri10ge_resume(struct pci_dev *pdev) return 0; -abort_with_msi: +abort_with_enabled: + pci_disable_device(pdev); return -EIO; }