Prev: [PATCH 1/2] posix-cpu-timers: avoid "task->signal != NULL" checks
Next: [PATCH tip/core/urgent 0/2] RCU lockdep fix and shrink RCU API
From: Venkatesh Pallipadi on 18 Mar 2010 15:30 Acked-by: Venkatesh Pallipadi <venki(a)google.com> On Thu, Mar 18, 2010 at 10:59 AM, Bjorn Helgaas <bjorn.helgaas(a)hp.com> wrote: > > When hpet_alloc() fails, we should iounmap() the timer so we don't leak > the mapping. > > Signed-off-by: Bjorn Helgaas <bjorn.helgaas(a)hp.com> > --- > > �drivers/char/hpet.c | � �8 ++++++-- > �1 files changed, 6 insertions(+), 2 deletions(-) > > > diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c > index d132fef..8961985 100644 > --- a/drivers/char/hpet.c > +++ b/drivers/char/hpet.c > @@ -904,7 +904,7 @@ static int hpet_pnp_add(struct pnp_dev *dev, const struct pnp_device_id *dev_id) > �{ > � � � �struct hpet_data data; > � � � �struct resource *mem, *irq; > - � � � int i; > + � � � int i, ret; > > � � � �memset(&data, 0, sizeof(data)); > > @@ -924,7 +924,11 @@ static int hpet_pnp_add(struct pnp_dev *dev, const struct pnp_device_id *dev_id) > � � � �data.hd_phys_address = mem->start; > � � � �data.hd_address = ioremap(mem->start, resource_size(mem)); > > - � � � return hpet_alloc(&data); > + � � � ret = hpet_alloc(&data); > + � � � if (ret) > + � � � � � � � iounmap(data.hd_address); > + > + � � � return ret; > �} > > �static void hpet_pnp_remove(struct pnp_dev *dev) > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |