You might find http://www.linuxemporium.co.uk/products/wireless/ a useful resource. A friend of mine bought one from there for use with a Linux laptop and has had no problems with it. Not the cheapest, but you've got more guarantee of decent Linux support than you'll get elsewhere.
Edit: One thing to be aware of when following specific recommendations is that it is not unusual for two devices with exactly the same model number (and sometimes no other easily identifiable differences) to have different versions of the chipset and it can be that one works well with Linux and the other doesn't reliably (or at all). Worse, it is not unheard of for externally identical (including model numbers) devices to have different chipsets altogether.
If you do end up buying a device online that should work will with Linux (as per someone's recommendation) but doesn't, remember your right to a cooling off period of seven days from receiving the goods during which you can get a full refund. See this recent BBC article, and this one too, for some detail on that.