Changeset 2585

Show
Ignore:
Timestamp:
07/13/07 17:46:33 (1 year ago)
Author:
mentor
Message:

Always skip buffers that are zero length; DMA sync. dies horribly otherwise

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ath/if_ath.c

    r2583 r2585  
    55635563#endif 
    55645564                rs = &bf->bf_dsstatus.ds_rxstat; 
     5565                 
     5566                len = rs->rs_datalen; 
     5567                /* DMA sync. dies spectacularly if len == 0 */ 
     5568                if (len == 0) 
     5569                        goto rx_next; 
     5570                 
    55655571                if (rs->rs_more) { 
    55665572                        /* 
     
    56135619                                 */ 
    56145620                                /* XXX frag's and QoS frames */ 
    5615                                 len = rs->rs_datalen; 
    56165621                                if (len >= sizeof (struct ieee80211_frame)) { 
    56175622                                        bus_dma_sync_single(sc->sc_bdev, 
     
    56435648                 * to receive another frame. 
    56445649                 */ 
    5645                 len = rs->rs_datalen; 
    56465650                bus_dma_sync_single(sc->sc_bdev, 
    56475651                        bf->bf_skbaddr, len, BUS_DMA_FROMDEVICE);