On Wed, Nov 05, 2014 at 12:51:22PM +0100, Mariusz Gorski wrote: > On Wed, Nov 05, 2014 at 01:19:10PM +0300, Dan Carpenter wrote: > > On Tue, Nov 04, 2014 at 10:47:19PM +0100, Mariusz Gorski wrote: > > > Fix the implementation of a single-open policy for both > > > devices (lcd and keypad) by using atomic_t instead of plain ints. > > > > > > > This seems like it might be a real life bug that you have experienced? > > No, I don't think it might really happen in real life. I found it just > by reading the code. A similar solution is used in Chapter 6 of the LDD3 > book, so I thought it might be a good idea to fix is here.
BTW, it should be kept in mind that I first wrote this driver on 2.0 or 2.2 and it used to run on an i386. So it's extremely likely that a lot of locking was missing by then and that until it gets discovered by code review as Mariusz did, issues may still be present. Note that I'm currently using this driver on production systems where this issue cannot happen since a few scripts are allowed to send data to the LCD (which might most always be the case by design given that nobody wants to build a system where many scripts send unreadable crap at the same time on the display). Thanks Mariusz for fixing this. Willy _______________________________________________ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel