On Thu, Aug 20, 2020 at 08:46:43PM +0200, Paul Cercueil wrote: > > > Le jeu. 20 août 2020 à 20:23, Lars-Peter Clausen <lars@xxxxxxxxxx> a écrit : > > On 8/20/20 1:59 PM, Paul Cercueil wrote: > > > Hi, > > > > > > Le dim. 16 août 2020 à 12:52, madhuparnabhowmik10@xxxxxxxxx a écrit > > > : > > > > From: Madhuparna Bhowmik <madhuparnabhowmik10@xxxxxxxxx> > > > > > > > > In probe IRQ is requested before zchan->id is initialized which > > > > can be > > > > read in the irq handler. Hence, shift request irq and enable > > > > clock after > > > > other initializations complete. Here, enable clock part is not > > > > part of > > > > the race, it is just shifted down after request_irq to keep the > > > > error > > > > path same as before. > > > > > > > > Found by Linux Driver Verification project (linuxtesting.org). > > > > > > > > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@xxxxxxxxx> > > > > > > I don't think there is a race at all, the interrupt handler won't be > > > called before the DMA is registered. > > > > > From a purely formal verification perspective there is a bug. The > > interrupt could fire if i.e. the hardware is buggy or something. In > > general it is a good idea to not request the IRQ until all the resources > > that are used in the interrupt handler are properly set up. Even if you > > know that in practice the interrupt will never fire this early. > > > > Fair enough, I'm fine with that, but the patch should be reworked so that > the clk_prepare_enable() call is not moved. > Sure, I will send the v2 of the patch with this change soon. Thanks, Madhuparna > Cheers, > -Paul > >