Hi Archie, On Tue, Jun 9, 2020 at 8:03 AM Archie Pusaka <apusaka@xxxxxxxxxx> wrote: > > Hi Luiz, > > Sorry, I didn't realize sooner that the version which I sent earlier > as v1 is different than the one in my local repo. This is the correct > version. > > Thanks, > Archie > > > On Tue, 9 Jun 2020 at 22:58, Archie Pusaka <apusaka@xxxxxxxxxx> wrote: > > > > From: Archie Pusaka <apusaka@xxxxxxxxxxxx> > > > > According to bluetooth HID Profile spec Ver 1.0, section 7.2.2, A > > host or device shall always complete the disconnection of the > > interrupt channel before disconnecting the control channel. > > However, the current implementation disconnects them both > > simultaneously. > > > > This patch postpone the disconnection of control channel to the > > callback of interrupt watch, which shall be called upon receiving > > interrupt channel disconnection response. > > --- > > > > Changes in v2: > > -change socket shut mode to SHUT_WR > > > > profiles/input/device.c | 15 ++++++++++----- > > 1 file changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/profiles/input/device.c b/profiles/input/device.c > > index d89da2d7c..e2ea459fe 100644 > > --- a/profiles/input/device.c > > +++ b/profiles/input/device.c > > @@ -1026,14 +1026,19 @@ static bool is_connected(struct input_device *idev) > > > > static int connection_disconnect(struct input_device *idev, uint32_t flags) > > { > > + int sock; > > + > > if (!is_connected(idev)) > > return -ENOTCONN; > > > > - /* Standard HID disconnect */ > > - if (idev->intr_io) > > - g_io_channel_shutdown(idev->intr_io, TRUE, NULL); > > - if (idev->ctrl_io) > > - g_io_channel_shutdown(idev->ctrl_io, TRUE, NULL); > > + /* Standard HID disconnect > > + * Intr channel must be disconnected before ctrl channel, so only > > + * disconnect intr here, ctrl is disconnected in intr_watch_cb. > > + */ > > + if (idev->intr_io) { > > + sock = g_io_channel_unix_get_fd(idev->intr_io); > > + shutdown(sock, SHUT_WR); > > + } > > > > if (idev->uhid) > > return 0; > > -- > > 2.27.0.278.ge193c7cf3a9-goog > > Applied, thanks. -- Luiz Augusto von Dentz