|
@@ -1536,7 +1536,7 @@ static void dma_rx(struct b43_dmaring *ring, int *slot)
|
|
|
dmaaddr = meta->dmaaddr;
|
|
|
goto drop_recycle_buffer;
|
|
|
}
|
|
|
- if (unlikely(len > ring->rx_buffersize)) {
|
|
|
+ if (unlikely(len + ring->frameoffset > ring->rx_buffersize)) {
|
|
|
/* The data did not fit into one descriptor buffer
|
|
|
* and is split over multiple buffers.
|
|
|
* This should never happen, as we try to allocate buffers
|