[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <B85A65D85D7EB246BE421B3FB0FBB593024BF36683@dbde02.ent.ti.com>
Date: Wed, 2 Mar 2011 02:49:54 +0530
From: "TK, Pratheesh Gangadhar" <pratheesh@...com>
To: "Hans J. Koch" <hjk@...sjkoch.de>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"gregkh@...e.de" <gregkh@...e.de>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"sshtylyov@...sta.com" <sshtylyov@...sta.com>,
"arnd@...db.de" <arnd@...db.de>,
"Chatterjee, Amit" <amit.chatterjee@...com>,
"davinci-linux-open-source@...ux.davincidsp.com"
<davinci-linux-open-source@...ux.davincidsp.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH v6 1/1] PRUSS UIO driver support
Hi,
> -----Original Message-----
> From: Hans J. Koch [mailto:hjk@...sjkoch.de]
> Sent: Wednesday, March 02, 2011 12:04 AM
> To: TK, Pratheesh Gangadhar
> Cc: Hans J. Koch; linux-kernel@...r.kernel.org; gregkh@...e.de;
> tglx@...utronix.de; sshtylyov@...sta.com; arnd@...db.de; Chatterjee, Amit;
> davinci-linux-open-source@...ux.davincidsp.com; linux-arm-
> kernel@...ts.infradead.org
> Subject: Re: [PATCH v6 1/1] PRUSS UIO driver support
>
> On Tue, Mar 01, 2011 at 10:15:27AM +0530, TK, Pratheesh Gangadhar wrote:
> > Hi,
> >
> > > -----Original Message-----
> > > From: Hans J. Koch [mailto:hjk@...sjkoch.de]
> > > Sent: Tuesday, March 01, 2011 2:57 AM
> > > To: TK, Pratheesh Gangadhar
> > > Cc: linux-kernel@...r.kernel.org; hjk@...sjkoch.de; gregkh@...e.de;
> > > tglx@...utronix.de; sshtylyov@...sta.com; arnd@...db.de; Chatterjee,
> Amit;
> > > davinci-linux-open-source@...ux.davincidsp.com; linux-arm-
> > > kernel@...ts.infradead.org
> > > Subject: Re: [PATCH v6 1/1] PRUSS UIO driver support
> > >
> > > 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.
>
> What if the user application is stopped, UIO driver module unloaded
> and loaded again?
>
This is a possible scenario - may be a buggy application. Normally when
application is stopped, PRUs are stopped by exit handler.
> Anyway, please don't use that kind of argumentation. The next newbie
> developer might copy your work as a basis for his new driver, and there
> it probably won't work.
>
> Simply put the spin_lock_init before the loop.
>
Agree, will fix this in next version.
Thanks,
Pratheesh
--
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