From: Richard <h.vanberkum@chello.nl>
To: kernel-janitors@vger.kernel.org
Subject: [KJ] [PATCH] drivers/parisc/superio.c: check return values of
Date: Mon, 10 Jul 2006 23:41:34 +0000 [thread overview]
Message-ID: <20060711020442.GA17650@chello.nl> (raw)
Check return values of request region and act accordingly
Signed-off-by: Richard van Berkum <h.vanberkum at chello.nl>
---
My second attempt to correct some request_region code. Any input is
welcome.
drivers/parisc/superio.c | 31 +++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)
--- linux-2.6/drivers/parisc/superio.c 2006-07-06 16:58:12.083348600 +0200
+++ mytree/drivers/parisc/superio.c 2006-07-11 03:02:04.444958048 +0200
@@ -189,9 +189,20 @@ superio_init(struct pci_dev *pcidev)
sio->acpi_base &= ~1;
printk(KERN_INFO PFX "ACPI at 0x%x\n", sio->acpi_base);
- request_region (IC_PIC1, 0x1f, "pic1");
- request_region (IC_PIC2, 0x1f, "pic2");
- request_region (sio->acpi_base, 0x1f, "acpi");
+ if (!(request_region (IC_PIC1, 0x1f, "pic1"))) {
+ printk(KERN_ERR "can't get I/O %x\n", IC_PIC1);
+ goto err1;
+ }
+
+ if(!(request_region (IC_PIC2, 0x1f, "pic2"))) {
+ printk(KERN_ERR "can't get I/O %x\n", IC_PIC2);
+ goto err2;
+ }
+
+ if(!(request_region (sio->acpi_base, 0x1f, "acpi"))) {
+ printk(KERN_ERR "can't get I/O %x\n", sio->acpi_base);
+ goto err3;
+ }
/* Enable the legacy I/O function */
pci_read_config_word (pdev, PCI_COMMAND, &word);
@@ -276,10 +287,22 @@ superio_init(struct pci_dev *pcidev)
printk(KERN_ERR PFX "could not get irq\n");
BUG();
- return;
+
+ /*Free resources previously requested*/
+ goto err3;
}
sio->suckyio_irq_enabled = 1;
+
+ return;
+
+
+err3: release_region(IC_PIC2, 0x1f);
+
+err2: release_region(IC_PIC1, 0x1f);
+
+err1: return;
+
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init);
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
next reply other threads:[~2006-07-10 23:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-10 23:41 Richard [this message]
2006-07-11 15:32 ` [KJ] [PATCH] drivers/parisc/superio.c: check return values of Kyle McMartin
2006-07-11 15:44 ` Randy.Dunlap
2006-07-11 22:02 ` Richard
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=20060711020442.GA17650@chello.nl \
--to=h.vanberkum@chello.nl \
--cc=kernel-janitors@vger.kernel.org \
/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.