It seems that we have discovered a memory leak in the rtl8723bs driver. The problem is that when the SDIO read fails in sd_recv_rxfifo() (in drivers/staging/rtl8723bs/hal/sdio_ops.c, l1016) the function simply returns NULL, but the dequeued recvbuf is never returned to the precvpriv->free_recv_buf_queue.

After several SDIO read failures it would bleed off the recvbuf queue and it would subsequently stop processing packets while producing endless flow of messages like this:

A possible fix might look like the following (however, this is only my testing hot-fix to make the driver work and I have to admit that I do not fully understand the whole thing - that's why I am not posting a patch at this point):