On Sat, Jan 29, 2022 at 08:16:04AM +0100, Christophe JAILLET wrote: > The error handling path of mpc52xx_lpbfifo_probe() and a request_irq() is > not balanced by a corresponding free_irq(). > > Add the missing call, as already done in the remove function. > > Fixes: 3c9059d79f5e ("powerpc/5200: add LocalPlus bus FIFO device driver") > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> > --- > Another strange thing is that the remove function has: > /* Release the bestcomm transmit task */ > free_irq(bcom_get_task_irq(lpbfifo.bcom_tx_task), &lpbfifo); > but I've not been able to find a corresponding request_irq(). > > Is it dead code? Is there something missing in the probe? > (...Is it working?...) I think you're right that the tx_task IRQ is never allocated. I'm pretty sure that if you free a zero IRQ then it's a no-op. It won't find the 0 in the radix tree so irq_to_desc() returns NULL and free_irq() returns early. regards, dan carpenter