> drivers should be easy. What turns them hard is dealing with all the > bugs in the hardware.
vendors vary widly in the amount of bugs there are to deal with. errata can be your friends. i can't speak to wireless parts, but my experience is that intel parts generally work quite well with few errata. however, the errata are not necessarly as bad as the odd features! i have a recent experience. a certain $vendor has a $part. it has some bits in a register that specify the "endianness" of the data. unfortunately, the $spec specifies the bytes in order. it took a good long while to figure out that the $part's docs were specifying bytes with respect to the native word byte order. thus the mapping of the bits was the reverse of the expected. why such a feature would be included is beyond me. the special bits need to be fiddled together regardless and the data have no ordering. - erik
