Hi all,
I have written this small patch yesterday. It is removing the "auto release"
after timeout from lchan and will directly release the channel ones the ref
count drops to zero.
This means that any use of the lchan after a put_lchan is illegal (the code
using a timeout used to workaround this issue). I have changed three call
sites to follow this convention, I have added a BUG_ON into the abis_rsl
method.
From a quick test (Location Updating Request and a call) the BUG_ON in the
abis_rsl.c is hit by:
- The lchan release code (okay... a false warning and avoided by
increasing use_count and decreasing it...)
- CM Service Request Ack and such is sent without anyone holding
a reference to it. I think this warning is safe to ignore for now as
no one has simply claimed the channel. I plan to fix this in
January/February when moving our MSC code over to the On Waves
BSC abstraction.
The benefit of this change is that we free our channels a lot earlier. I think
this change would be beneficial for the 26C3 and I would like to hear opinions
and see some testing with it.
regards
z.