[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <DB6PR0802MB253305028DB2B89F9BE09E5CE9D20@DB6PR0802MB2533.eurprd08.prod.outlook.com>
Date: Wed, 22 Apr 2020 10:37:22 +0000
From: Hadar Gat <Hadar.Gat@....com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
CC: Matt Mackall <mpm@...enic.com>,
Herbert Xu <herbert@...dor.apana.org.au>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <Mark.Rutland@....com>,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Florian Fainelli <f.fainelli@...il.com>,
Alexander Sverdlin <alexander.sverdlin@...ia.com>,
Thomas Gleixner <tglx@...utronix.de>,
Tomer Maimon <tmaimon77@...il.com>,
Randy Dunlap <rdunlap@...radead.org>,
Zaibo Xu <xuzaibo@...wei.com>,
Daniel Thompson <daniel.thompson@...aro.org>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Linux Crypto Mailing List <linux-crypto@...r.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Gilad Ben-Yossef <gilad@...yossef.com>,
Ofir Drang <Ofir.Drang@....com>, nd <nd@....com>
Subject: RE: [PATCH v7 2/3] hw_random: cctrng: introduce Arm CryptoCell driver
> > > > > > +static int cctrng_probe(struct platform_device *pdev) {
>
> > > > > > + /* register the driver isr function */
> > > > > > + rc = devm_request_irq(dev, irq, cc_isr, IRQF_SHARED,
> > > > > > + "cctrng", drvdata);
> > > > >
> > > > > Shoudn't this be done after clearing the pending interrupts below?
> > > >
> > > > I'm not sure what do you mean in your question...
> > > > I assume you're suggesting that the registration of the driver ISR
> > > > function
> > > should be done only after clearing the pending interrupts?!
> > >
> > > Indeed.
> > >
> > > > Anyway, any pending interrupt that might exist is irrelevant to
> > > > the current cctrng driver which just started (we're in the probe
> > > > function)
> > >
> > > If there is a pending interrupt, your interrupt handler (which
> > > returns IRQ_NONE in this case) will be called repeatedly, until the
> > > driver gets to clearing the pending interrupts below, or until the
> > > interrupt core decides to give up, and disable it for good.
> >
> > Ok, I get your point now.
> > But note that when the cctrng HW boots, the default is that all interrupts
> are masked, hence the interrupt handler will not be called.
>
> Is that also the case when booting into a new kernel using kexec?
Well.. no. ☹
A fix is needed here to consider also the case of kexec.
I'll fix that in another patch.
Thanks!
Powered by blists - more mailing lists