IrDA patches on the way...

From: Jean Tourrilhes (jt@bougret.hpl.hp.com)
Date: Thu Apr 18 2002 - 21:27:10 EST


        Hi Jeff,

        Would you mind to push the following batch of patches to Linus ?
        The first two patches feature a partial rewrite of the TTP
layer that fixes lots of things. Has been on my web page for over a
month and tested intensively.
        The remaining patches are less interesting. You may have
followed discussions about the wait_event stuff ;-)
        Regards,

        Jean

--------------------------------------------------------

[FEATURE] : Add a new feature to the IrDA stack
[CORRECT] : Fix to have the correct/expected behaviour
[CRITICA] : Fix potential kernel crash

ir258_flow_sched_lap_lmp-6.diff :
-------------------------------
                <Won't compile without ir258_flow_sched_ttp-6.diff>
        o [FEATURE] Reduce LAP Tx queue to 2 packets (from 10)
                Improve latency, reduce buffer usage
        o [FEATURE] LAP Tx queue not full notification (flow start)
                Poll higher layer to fill synchronously LAP window (7 packets)
        o [FEATURE] LMP LSAP scheduler
                Ensure Tx fairness between LSAPs (sockets, IrCOMM, IrNET...)

ir258_flow_sched_ttp-6.diff :
---------------------------
                <Won't compile without ir258_flow_sched_lap_lmp-6.diff>
        o [CORRECT] Fix race condition when starting todo timer
        o [CORRECT] Fix race condition when stopping higher layer
                Higher layer would think it is stopped and us it is started
        o [CORRECT] Give credit even if packets in Tx queue
                If Tx queue was stopped, could starve peer and deadlock
        o [CORRECT] Protect Rx credit update with spinlock
        o [CORRECT] Calculate properly self->avail_credit
                Didn't take into account queued Rx fragments
                Incremented even if Rx frame not delivered to higher layer
                -> would never stop the peer (i.e. not flow control)
                -> could become infinite
        o [CORRECT] Send credit when higher layer reenable receive
                Peer wouldn't restart Tx to us if flow stopped
        o [FEATURE] Implement LAP queue not full notification
                Lower latency, ...
        o [FEATURE] Reduce Tx queue to 8 packets (from 10)
                But make sure we can always send a full LAP window (7)
        o [FEATURE] Fix and optimise TTP flow control
                Make sure peer can always send a full LAP window (7)
                Minimise explicit credit updates (give_credit)
        o [FEATURE] Remove need for todo timer in Tx/Rx paths
                Less potential races, lower latency, lower context switches
                Could not use tasklet because broken API, better anyway ;-)

ir258_wait_event_fixes-2.diff :
-----------------------------
                <Following patch from Martin Diehl, mangled by me>
        o [FEATURE] Replace interruptible_sleep_on() with wait_event().
                Most races were taken care off, but cleaner anyway

ir258_mcp2120_driver.diff :
-------------------------
                <Following patch from Felix Tang>
        o [FEATURE] Dongle driver for mcp2120/crystal hardware

ir258_dongle_locking.diff :
-------------------------
        o [CORRECT] Load dongle module with irq disabled in irtty
        <Same fix need to go in irport, but irport doesn't work for me>

ir258_lsap_lap_close-2.diff :
---------------------------
                <apply after ir258_flow_sched_lap_lmp-6.diff to avoid fuzz>
        o [CORRECT] Cancel LSAP watchdog when putting socket back to listen
        o [CORRECT] Try to close LAP when closing LSAP still active
                <Following patch from Felix Tang>
        o [CORRECT] Header fix for compile on Alpha architecture

ir258_irnet_simult_race-2.diff :
------------------------------
        o [CORRECT] Prevent dealock on simultaneous peer IrNET connections
                Only the primary peer will accept the IrNET connection
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Apr 23 2002 - 22:00:23 EST