WiFi dongle warnings - TX queue 2 DMA timed out

I have OSMC installed on a Raspberry PI with EW-7318USg wifi dongle attached via a powered USB hub. At first the wifi connection didn’t seem to work at all: I was able to connect to a network but after a few seconds it would stop working. After a few restarts and unplugging the dongle and plugging it back, it now seems to work OK. But when I’m downloading larger files sometimes the speed is rather low and the whole system seems to become sluggish, even over SSH. I also get a lot of warnings in dmesg:

[ 3023.909655] ieee80211 phy2: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset [ 3024.029674] ieee80211 phy2: rt2x00usb_vendor_request: Error - Vendor Request 0x07 failed for offset 0x30c0 with error -110 [ 3024.129671] ieee80211 phy2: rt2x00usb_vendor_request: Error - Vendor Request 0x07 failed for offset 0x30c4 with error -110 [ 3024.940117] ieee80211 phy2: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset [ 3025.909852] ieee80211 phy2: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset [ 3029.909986] ieee80211 phy2: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset [ 3051.590499] ieee80211 phy2: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush [ 3054.610623] ieee80211 phy2: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush [ 3054.910665] ieee80211 phy2: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset [ 3056.520634] ieee80211 phy2: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush

Here are my full logs:
http://paste.osmc.io/atojicoyix

Any advice?
Thank you.