diff -u -p -r myorinoco-0.11b/orinoco.c myorinoco-0.11b_2/orinoco.c --- myorinoco-0.11b/orinoco.c Wed Jun 26 13:28:16 2002 +++ myorinoco-0.11b_2/orinoco.c Thu Jun 27 10:37:07 2002 @@ -4694,6 +4694,17 @@ orinoco_proc_dev_cleanup(struct orinoco_ TRACE_ENTER(priv->ndev->name); + /* This seems to be the only function called when the driver exits, + * so add my extra cleanup here - Jean II */ + orinoco_lock(priv); + if(priv->scan_result != NULL) { + DEBUG(1, "%s: scan KFREE %p\n", dev->name, priv->scan_result); + priv->scan_inprogress = 0; + kfree(priv->scan_result); + priv->scan_result = NULL; + } + orinoco_unlock(priv); + if (priv->dir_dev) { remove_proc_entry("prof", priv->dir_dev); remove_proc_entry("buf", priv->dir_dev); Only in myorinoco-0.11b_2: orinoco.c~