If you are familiar with this bug:
[ 3569.057366] iwlagn 0000:0c:00.0: Microcode SW error detected. Restarting 0x82000000
[ 1243.899938] iwlagn: Microcode SW error detected. Restarting 0x2000000.
and tried a lot of kernels (from 2.6.27 to 2.6.35) and firmwares, this may help you:
[11:31 vip@dzibutti:~]% vim /etc/modprobe.d/iwlagn.conf
options iwlagn 11n_disable50=1 11n_disable=1
It will disable .11n connectivity (as the param’s name says), no more problems with transferring files maximum speed and wifi disconnect.
Personally, this bug was almost invisible in 2.6.27.x, because driver restarted itself after few seconds.
On 126.96.36.199 kernel even rmmod iwlagn does not helps. It also makes my TP-LINK TL-WR1043ND (with OpenWRT, atheros, 188.8.131.52) unresponsible (to other clients, even eth0)
Hope it helps.