I'm using a Realtek 8180L, which suffers a lot from packet loss (more than 75% of the packets are never transmitted). This makes authentication etc a real pain.
I found that increasing the retry limits (min and max) helped a great lot. I am now using settings of 512 (instead of the defaults of 128), but maybe even more is even better. The packet loss is now less than 1% and the amount of hangcheck errors is greatly reduced too. I think the driver hangs when the retry limit is reached, so raising the retry limit reduces the number of driver hangs :-)
These settings can be adjusted in /etc/ndiswrapper/net8180/10EC:8180.conf (or whatever card you are using). This file is generated with 'ndiswrapper -m'.
Maybe this helps others too...