I just updated Documentation/networking/netdevices.txt locally to the attached file, which describes the synchronization rules for net drivers in the 2.4.x and 2.5.x kernels. (Astute readers will notice a striking similarity to 2.2.x locking rules as well)
Comments and corrections to the attached doc requested. I realize it's not much right now, but this is core info I want to make sure is correct, and that everyone agrees on.
Thanks to Robert Olsson for a pointer about dev->poll().
Future notes: this doc will hopefully expand in time to describe not only the netdevice API but also standard ethernet and net driver practices. Patches welcome!
Jeff