• Stuart MacDonald's avatar
    [PATCH] More wh patches · a0992864
    Stuart MacDonald authored
    Inlined are a few more patches to 2.5.43 that fix problems that
    were discovered during QA.
    
    1-firm4.07 :: I've moved to the bottom since it's huge
    
    Updates the firmware to 4.07. Fixes a bug introduced in 4.05 where
    RTS is high after boot. Also fixes a bug where the whiteheat would
    allow data reception after boot when no ports were open.
    
    2-fix-dtr-rts
    
    I didn't know this, but the firmware open command also handles
    raising the signals for me. This code is superflous.
    
    3-fix-read-urb
    
    Read polling was started right away in whiteheat_open(). Coupled
    with the firmware bug fixed above where data could be received
    by a port that wasn't open, this caused the whiteheat_read_callback
    to fire before open() was finished, and in some cases this caused
    harm to the tty layer. I didn't track down the exact mechanism
    because either moving the read polling to the last operation of open()
    or using the fixed firmware caused the crash to stop happening. I
    have stack traces if you'd like to have a look; it looks like something
    scribbles on the stack, but I couldn't figure out what eactly, as the
    scribbled data didn't match anything in the whiteheat driver or the
    test applications.
    
    4-fix-ixoff
    
    RELEVANT_IFLAG masks off the software flow control bits, so that
    a change that is restricted to the soft flow bits will be ignored. This
    is the email I sent earlier; I've decided to just not use the macro for
    now, but I'd still like to know if the macro should be fixed,.
    
    ..Stu
    a0992864
whiteheat.c 35.6 KB