• Helmut Schaa's avatar
    rt2x00: Fix TX_STA_FIFO handling · 3afa626a
    Helmut Schaa authored
    Currently rt2800pci will read TX_STA_FIFO until the previously read value
    matches the current value. However, it is obvious that TX_STA_FIFO only
    contains values that can easily be the same for multiple consecutive frames
    (especially when communicating with only one other STA). Hence, we often
    ended up with reading only the first entry and ignoring the rest.
    
    One result was that when the TX_STA_FIFO contained multiple entires, only
    the first one was read and properly handled while the others remained in the
    tx queue.
    
    Thus, drop this check but introduce a maximum number of reads. All legacy
    drivers use the size of the tx ring as limit but state that the TX_STA_FIFO
    has only 16 entries. So, let's just stick with the tx ring size for now.
    Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
    Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    3afa626a
rt2800pci.c 35.3 KB