Menu

#179 lircd not calling deinit_func

0.9.4
closed
nobody
None
fixed
2016-04-26
2016-04-09
No

There is a problem in this commit (in master and the 0.9.4 branches):
dfaa2bf Temporay fix for uinput device setup (#161)

The call to use_hw has lost its ! while use_hw itself has not changed.

I'm not clear about what use_hw does, but this change disables the call of deinit_func on removal of client for the ftdi and irtoy drivers.

Without deinit_func, the irtoy driver leaves the serial port lockfile and suffers reduced reliability.

The ftdi driver connects to the device OK for the first client after starting lircd, then fails to open it for the second and subsequent clients with libftdi's "unable to claim usb device. Make sure the default FTDI driver is not in use". The driver API doc says "the driver should not break if e.g., the init_func() is called on an already open device" so perhaps that should also be fixed, but in practice it worked on earlier versions.

In the release-0_9_3 branch,
7b5d693 Fix uinput device setup (#161)
is almost the same patch, but did not change the line in question.
In the 0.9.3a release, lircd is doing the right thing for ftdi and irtoy.

Discussion

  • Alec Leamas

    Alec Leamas - 2016-04-25

    Indeed. Thansk for a really good catch! Fixed in [64a77b] (release branch, postponing master for now)

     

    Related

    Commit: [64a77b]

  • Alec Leamas

    Alec Leamas - 2016-04-26
    • status: open --> closed
    • Resolution: na --> fixed
     
  • Alec Leamas

    Alec Leamas - 2016-04-26

    Pushed master fix: [07b4ab]. Closing.

     

    Related

    Commit: [07b4ab]


Log in to post a comment.

MongoDB Logo MongoDB