Re: [PATCH 09/10] oss: msnd: check request_region() return value

Dan Carpenter
2010-07-28T20:00:02Z

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 <segooon@gmail.com>
> ---
> 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;
> + }