My Thinkpad T40 has IBM's 802.11a/b/g wireless card and this connects to the downstairs router, a DLink G604 using WPA and TKIP.
On several occasions I have observed laptop CPU usage suddenly climb to around 100% and then stay there indefinitely, and, after installing the latest drivers and BIOS, this still wasn't fixed. If you disabled the wireless card then CPU usage dropped right back down to zero again. Re-enable it and up went the CPU.
After a good deal of headscratching I found that if I wandered downstairs with the laptop and put it close to the router, suddenly CPU usage dropped back down to zero. But the signal strength upstairs was shown as excellent and the transmit rate was 54Mbps. So what was going on?
I went back upstairs and the CPU usage then climbed back up again. So I did a network scan and found that, hmm, there are three other networks in the area, each with signal strength around 80%. Now, when I first set everything up there was only my network when I scanned.
So then I thought, I wonder what happens if I select 802.11b transmit mode on the card?. Well, this fixed the problem, albeit with a transfer rate now set to 11Mbps. This isn't terribly much of a problem as obviously my broadband link to the outside world is slower than that, but this is a very interesting discovery. If you get a problem like this and your card supports an alternative mode compatible with the router, it might be worth trying that mode.
My suspicion is that there is a problem with the driver. When there are multiple networks it starts doing a flurry of channel hopping and signal strength checking - the diagnostic logs seem to support this theory - and this chews up CPU like crazy. This might affect other Atheros-based cards, as well.