Hi Sylvain,
thanks for looking into this issue.
On Wed, Sep 23, 2009 at 12:16:38AM +0200, Sylvain Munaut wrote:
I don't know if you saw that first email when I posted it (see below for reference), but I still can't decide where to put the trans_free. From the code, it's obvious you thought about it but apparently didn't decide yet since all call to it are commented :)
Yes, I also was not decided how to solve this problem properly. Most likely I first put it somewhere but then noticed that it doesn't work correctly and then placed a comment.
In gsm411_rx_rp_ack(...) there is a comment saying "/* do not free the transaction here, this is done by sending CP-ACK */", however this is no longer true, the method sending the cp_ack is now called _before_ gsm411_rx_rp_ack and so doesn't free up the transaction anymore (the trans_free call in gsm411_tx_cp_ack is commented out).
To me gsm411_rx_rp_ack sounds like the right place to do it but if you wrote that comment in the first place I guess you had reason not to do it there. Could you elaborate on that ?
I have played with so many different combinations and orders of the various commands/packets that I do not remember what worked how and with which phone.
Honestly, I have spent way too much time reading the specifications, and I think they are extremely vague in places and much more difficult than any other part of the GSM specs that I've read.
If you have a better understanding of them and can propose a fix, I'm happy to simply test and merge that, rather than again diving into this topic and wasting more than the days I have already put into it :(
Regards.