From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Wed, 28 Jul 2010 20:00:02 +0000 Subject: Re: [PATCH 09/10] oss: msnd: check request_region() return value Message-Id: <20100728200002.GP26313@bicker> List-Id: References: <1280335296-23475-1-git-send-email-segooon@gmail.com> In-Reply-To: <1280335296-23475-1-git-send-email-segooon@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Kulikov Vasiliy Cc: kernel-janitors@vger.kernel.org, Andrew Veliath , Jaroslav Kysela , Takashi Iwai , Arnd Bergmann , Tejun Heo , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org On Wed, Jul 28, 2010 at 08:41:36PM +0400, Kulikov Vasiliy wrote: > request_region() may fail, if so return -ENOMEM. > > Signed-off-by: Kulikov Vasiliy > --- > sound/oss/msnd_pinnacle.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/sound/oss/msnd_pinnacle.c b/sound/oss/msnd_pinnacle.c > index bfaac5f..cd70b9a 100644 > --- a/sound/oss/msnd_pinnacle.c > +++ b/sound/oss/msnd_pinnacle.c > @@ -1400,9 +1400,13 @@ static int __init attach_multisound(void) > printk(KERN_ERR LOGNAME ": Couldn't grab IRQ %d\n", dev.irq); > return err; > } > - request_region(dev.io, dev.numio, dev.name); This should be -EBUSY as well. The same for "[PATCH 06/10] ALSA: msnd: check request_region() return value" Another way to write that would be: - request_region(dev.io, dev.numio, dev.name); + err = request_region(dev.io, dev.numio, dev.name); + if (err) { + free_irq(dev.irq, &dev); + return err; + } regards, dan carpenter > + if (request_region(dev.io, dev.numio, dev.name) = NULL) { > + free_irq(dev.irq, &dev); > + return -ENOMEM; > + }