• J
    [PATCH] ieee80211: Fix TKIP, repeated fragmentation problem, and payload_size reporting · 1264fc04
    James Ketrenos 提交于
    tree 8428e9f510e6ad6c77baec89cb57374842abf733
    parent d78bfd3ddae9c422dd350159110f9c4d7cfc50de
    author Liu Hong <hong.liu@intel.com> 1124446520 -0500
    committer James Ketrenos <jketreno@linux.intel.com> 1127313183 -0500
    
    Fix TKIP, repeated fragmentation problem, and payload_size reporting
    
    1. TKIP encryption
        Originally, TKIP encryption issues msdu + mpdu encryption on every
        fragment. Change the behavior to msdu encryption on the whole
        packet, then mpdu encryption on every fragment.
    
    2. Avoid repeated fragmentation when !host_encrypt.
        We only need do fragmentation when using host encryption. Otherwise
        we only need pass the whole packet to driver, letting driver do the
        fragmentation.
    
    3. change the txb->payload_size to correct value
        FW will use this value to determine whether to do fragmentation. If
        we pass the wrong value, fw may cut on the wrong bound which will
        make decryption fail when we do host encryption.
    
    NOTE:  This requires changing drivers (hostap) that have
    extra_prefix_len used within them (structure member name change).
    Signed-off-by: NHong Liu <liu.hong@intel.com>
    Signed-off-by: NJames Ketrenos <jketreno@linux.intel.com>
    Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
    1264fc04
ieee80211_tx.c 15.9 KB