On Tue, Sep 18, 2018 at 10:27:58AM +0000, Karoly Pados wrote:

> >> Does that mean something can call into our module while this method is 
> >> running?
> >> If not, I'm clueless about the possible race here.
> > 
> > Correct, you can get gpio callbacks until the gpio chip has been
> > deregistered (anything coming in after that would be a gpiolib bug).
> 
> I'm just puzzled by the fact that this can still happen even while the port 
> removal code is running. It also makes me ask the question what else here can
> run in parallel. Don't we need mutexes here-and-there in the ftx gpio 
> functions too
> in this case? Or does gpiolib make sure to serialize multiple pin and 
> direction
> setting calls?

Good point. The old sysfs interface would keep things serialised, but
the new chardev-based one does not (nor does the in-kernel interface).

So yeah, we need to add a mutex protecting the gpio state (i.e.
direction and value).

Thanks,
Johan

Reply via email to