Bugs in FreeBSD 9 Drivers

The bugs in this table are from drivers in FreeBSD 9.

Driver Bug Details
es137x There appears to be a hardware-dependence bug in es_pci_detach. A spurious interrupt could occur, for example, before the call to bus_teardown_intr but after the call to callout_stop. The interrupt handler then calls chn_intr, which attempts to acquire the c->lock lock. However, the pcm_channel (c) is invalid at this point because of calls that take place in pcm_unregister, which itself is called at the start of es_pci_detach. This bug is not fixed.
maestro Hardware dependence bug in agg_attach. The driver calls snd_setup_intr before it's ready to service interrupts. If a spurious interrupt arrives immediately after this call, it will crash. It appears the crash can be fixed by moving this call to immediately before the call to pcm_setstatus, which is essentially at the end of the function (agg_attach). This bug is not fixed.