Index: bcm43xx_dma.c =================================================================== --- bcm43xx_dma.c (revision 1088) +++ bcm43xx_dma.c (working copy) @@ -944,8 +944,12 @@ *slot = next_slot(ring, *slot); cnt++; } - printkl(KERN_ERR PFX "DMA RX buffer too small. %d dropped.\n", - cnt); + printkl(KERN_ERR PFX "DMA RX buffer too small " + "(frame: %u, buffer: %u, dropped: %d).\n", + len, ring->rx_buffersize, cnt); + + /* recycle the descriptor buffer. */ + sync_descbuffer_for_device(ring, meta->dmaaddr, ring->rx_buffersize); goto drop; } len -= IEEE80211_FCS_LEN;