On Tue, Nov 14, 2017 at 10:34:49AM +0000, Oleksandr Shamray wrote:
> > -----Original Message-----
> > From: Chip Bilbrey [mailto:[email protected]]
> > Sent: Monday, November 6, 2017 12:33 AM
> > To: Oleksandr Shamray <[email protected]>
> > Cc: [email protected]; [email protected]; linux-
> > [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; Vadim Pasternak <[email protected]>; system-sw-low-
> > level <[email protected]>; [email protected]; openocd-
> > [email protected]; [email protected];
> > [email protected]; [email protected]; Jiri Pirko <[email protected]>
> > Subject: Re: [v11,1/4] drivers: jtag: Add JTAG core driver
> >
> >
> > Oleksandr Shamray writes:
>
> [..]
>
> > I notice the single-open()-per-device lock was dropped by request in an
> > earlier
> > revision of your patches, but multiple processes trying to drive a single
> > JTAG
> > master could wreak serious havoc if transactions get interleaved. Would
> > something like an added JTAG_LOCKCHAIN/UNLOCKCHAIN
> > ioctl() for exclusive client access be reasonable to prevent this?
> >
>
> Yes, it dropped by recommendation of Greg KH <[email protected]>.
I asked to drop it as you didn't even implement it to work correctly :)
> Greg, what you can suggest about it. May be better to add again
> single-open()-per-device lock with right locking way like:
>
> >if (mutex_lock_interruptible(&jtag->open_lock)) {
You would stall an open? Why not just return saying you can't do that?
Anyway, if you want to only have one access to the device at a time,
great, but do it in a way that works properly.
thanks,
greg k-h