RE: [PATCH v6 1/1] PRUSS UIO driver support

From: Thomas Gleixner
Date: Tue Mar 01 2011 - 04:53:37 EST


On Tue, 1 Mar 2011, TK, Pratheesh Gangadhar wrote:
> > On Tue, Mar 01, 2011 at 02:31:35AM +0530, Pratheesh Gangadhar wrote:
> > > +
> > > + /* Register PRUSS IRQ lines */
> > > + p->irq = IRQ_DA8XX_EVTOUT0 + cnt;
> > > + p->handler = pruss_handler;
> > > +
> > > + ret = uio_register_device(&dev->dev, p);
> > > +
> > > + if (ret < 0)
> > > + goto out_free;
> > > + }
> > > +
> > > + spin_lock_init(&lock);
> >
> > That's too late. uio_register_device() enables the irq, and your spin_lock
> > is not ready at that time.
>
> This is ok in this context as "modprobe uio_pruss" is pre-requisite for
> running PRUSS firmware and without firmware running PRUSS won't
> generate interrupts. Actually PRUSS INTC is not setup till we start
> user application.

No, it's not. If you enable interrupts you have to be prepared for
getting one whether the device mask is enabled or not. It's that
simple.

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/