* Maybe the hardware should maintain its own state and know when it has
  to refuse the packets ?

* Dabe's device has strange rx filter packets. investigate why and how
  they are used.

* ISLSM_TX_CONTROL_FILTER_MAGIC6 and ISLSM_TX_CONTROL_FILTER_MAGIC7
  constants should be gotten rid of.

* Add proper queue locking (needed for tx at least).

* Reorganize website

* Snoop PCI V2 driver.

* Double free of SKB in tx path.

* Test pci driver on PPC, and get mode debug.

* Only 32-bits pad for usb version 1 device. Not sure the PCI
  appreciates this.

* segfault when islpci_alloc_queue returns enomem in islpci_alloc_memory

* tasklet in PCI code : disable it on unloading. use tasklets for usb rx
  path

* tx path in PCI sleeps

* monitor mode : allocate enough headroom so we don't have to cow the
  buffer

* tx path : ask the netdev layer to allocate enough headroom so we don't
  have to realloc the tx skb -- this actually doesn't work as madwifi is
  in the middle.

* Debug needs rework

* see if bootup input is really needed as exported. Should be integrated
  into only one input function maybe.

* Parse the uploaded firmware. This is important and high priority; some
  protocol idiosyncrasies are hidden right there.

* Write a real p54u_init that will be called from the 802.11 state machine.

* Try to understand why on earth DHCP crashes the device while standard
  ifup/ifdown does not...

* Bug in version 2 Devices : two field in rx/tx filter, still unknown,
  have changed in those newer devices. Watch the mgmt response and try to
  tell where i can find the data.

* It would also be nice to allocate skbs with sufficient headroom so
  that there's no need to skb_clone in monitor mode. It would also be
  nice to use skb_clone in the monitor mode path, to simplify things a
  little.

* Fix bugs in hot unplug, and general bugs due to unknown causes (can we
  free the beacon allocated by the madwifi layer, for instance ?)

* Contact Viddy about :
  http://prism54.org/pipermail/prism54-devel/2004-June/001480.html
  He seems to have made the modules actually work (mine crashes
  miserably....), ask him if he can snoop the data.

* Instead of differentiating on version1/version2 in the code, write
  several functions and put them in an array to be initialized
  statically at device probe. especially usefull for usb init function
  (one function per device), transmit function (one function per device
  kind), and frequency change too, for instance.

* Due to code reorganization :
  replace the various desc fields in the queue description by only a
  struct usb_endpoint_descriptor *field.
  Use tasklets instead of BHs !!!!

* Understand more of the freq change packet thanks to the version 2 devices

* compare out PCI device initialization with the XH driver's one. This
  should be of utmost importance in understanding reported bugs "waiting
  for device initialization"... and so on.

* One field in the frequency change packets is still missing

* Gather log at fixed rate.

* Understand more of the stats packets -- this one is easy enough.

* Understand more of the tx packet -- hard, but now seems somewhat
  doable.

* Understand the id.magic1 field of the received frames : it is
  influenced by the rx/tx filter packet (changes for identical
  frames). Check how/why with active testing.

* reclaim alloc'd probe/beacon on unload -- see if madwifi tolerates
  that we free the beacon. Not sure...

* Decode the set_filter packet more

* versioning support (use MODULE_VERSION).

* Try to authenticate with the emacs mode. That should now be easy enough.

* Web page about pci snooping