• Jiri Slaby's avatar
    Ath5k: flush work · 274c7c36
    Jiri Slaby authored
    Make sure that the irq is not in progress after stop. This means
    two things:
    - ensure the intr setting register is set by flushing posted values
    - call synchronize_irq() after that
    
    Also flush stop tx write, inform callers of the tx stop about still
    pending transfers (unsuccessful stop) and finally don't wait another
    3ms in ath5k_rx_stop, since ath5k_hw_stop_rx_dma ensures transfer to
    be finished.
    
    Make sure all writes will be ordered in respect to locks by mmiowb().
    Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
    Acked-by: default avatarNick Kossifidis <mickflemm@gmail.com>
    Cc: Luis R. Rodriguez <mcgrof@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    274c7c36
hw.c 112 KB