When running a 2.6.37 without CONFIG_BKL dahdi 2.4.0 fails to compile. The referenced URL contains two possible patches to fix the issue, as explained, I think the -nolocked patch should be OK but there may well be reason to rather use the -locked patch instead. The only difference is that -locked uses a mutex to protect concurrent access to the ioctl instead of the BKL, -unlocked just cleans up some code in order to get rid of the [un]lock_kernel calls. Reproducible: Always
Created attachment 259640 [details, diff] dahdi-2.4.0-semaphores.patch The mutex stuff in the kernel is no longer implemented as semaphores (not that I have a clue as to the exact difference to be honest). This required a few additional changes, this patch was built on an unpacked dahdi-2.4.0 package, I don't know what of this needs to go upstream and what not. Also, it might break the build for <2.6.37 as from memory I think DEFINE_SEMAPHORE was previously DECLARE_MUTEX _or_ DECLARE_SEMAPHORE (identical macros) but not DEFINE_SEMAPHORE (which is the more accurate name anyway).
Created attachment 259643 [details, diff] dahdi-2.4.0-linux-2.6.37-unlocked.patch Attaching the recommended patch for dealing with the BKL.
Created attachment 260576 [details, diff] dahdi-2.4.0-linux-2.6.37-unlocked-global_dialparams_lock.patch As my plain unlocked patch got shot down upstream I made the suggested modifications and this is the retry. This complies with the requests that sruffell made and should get accepted upstream (into trunk though).
Tony - is there anything holding this back still? Getting tired of ebuild unpack prepare ... patch ... compile merge cycle.
Yes, please commit this or something even better.
*** Bug 352985 has been marked as a duplicate of this bug. ***
Version 2.4.1 in the tree should cope with this scenario; thank you for submitting your fix upstream.