[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <A874F61F95741C4A9BA573A70FE3998F41EF1CF2@DQHE02.ent.ti.com>
Date: Thu, 30 Aug 2012 11:41:47 +0000
From: "Kim, Milo" <Milo.Kim@...com>
To: Devendra Naga <develkernel412222@...il.com>,
Anton Vorontsov <cbouatmailru@...il.com>
CC: David Woodhouse <dwmw2@...radead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 1/2] lp8727_charger: free_irq when lp8727_register_psy
fail
Best Regards,
Milo
> -----Original Message-----
> From: Devendra Naga [mailto:develkernel412222@...il.com]
> Sent: Friday, August 24, 2012 1:52 AM
> To: Anton Vorontsov
> Cc: David Woodhouse; linux-kernel@...r.kernel.org; Kim, Milo
> Subject: Re: [PATCH 1/2] lp8727_charger: free_irq when
> lp8727_register_psy fail
>
> Hi Anton,
>
> On Mon, Aug 20, 2012 at 2:20 AM, Anton Vorontsov
> <cbouatmailru@...il.com> wrote:
> > On Fri, Aug 10, 2012 at 10:05:55AM +0530, Devendra wrote:
> >> Sorry Guys on disturbing you,
> >>
> >> Will you guys please ACK, NACK or comment on this?
> >
> > Technically, it looks OK. But the irq registration logic is sill
> broken,
> > and the hidden issue is much more serious.
> >
> > 1. lp8727_init_device() -> the function enables interrupts in hw;
> > 2. lp8727_intr_config() -> the function requests interrupts, so CPU
> > is now able to process them;
> > 3. lp8727_register_psy() -> the function allocates power supply
> > objects.
> >
> > Now, the problem will arise if interrupt comes between "2." and
> > "3.", the interrupt service routine will cause NULL dereference.
> >
> > So, what you really want to fix the driver is to reorder "2." and
> "3.",
> > and on error condition call lp8727_unregister_psy().
Please refer to the patch below.
[PATCH 2/8] lp8727_charger: cleanup _probe() and _remove()
Best Regards,
Milo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists