[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180918111912.GE3943@localhost>
Date: Tue, 18 Sep 2018 13:19:12 +0200
From: Johan Hovold <johan@...nel.org>
To: Karoly Pados <pados@...os.hu>
Cc: Johan Hovold <johan@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
Loic Poulain <loic.poulain@...aro.org>
Subject: Re: [PATCH v4] USB: serial: ftdi_sio: implement GPIO support for
FT-X devices
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
Powered by blists - more mailing lists