]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/finish.c
Merge branch 'master' into can-usb1
[lincan.git] / lincan / src / finish.c
index 93fb9272d27013fbf09cd8cf3915f25662b558d2..2766c01a7b0f5e49cb9f2d98b2e2b7b12154abe9 100644 (file)
@@ -39,7 +39,7 @@
 #include "../include/finish.h"
 #include "../include/setup.h"
 
-
+extern int next_minor;
 /**
  * msgobj_done - destroys one CAN message object
  * @obj: pointer to CAN message object structure
@@ -62,8 +62,11 @@ void msgobj_done(struct msgobj_t *obj)
        }
 
        if((obj->minor>=0)) {
-               if(objects_p[obj->minor] == obj)
+               if(objects_p[obj->minor] == obj){
                        objects_p[obj->minor] = NULL;
+                       if (--next_minor<0)
+                               next_minor=0;
+               }
                else
                        CANMSG("msgobj_done: not registered as minor\n");
        }
@@ -152,7 +155,7 @@ void canhardware_done(struct canhardware_t *canhw)
        int i;
        struct candevice_t *candev;
 
-       for(i=0; i<canhw->nr_boards; i++){
+       for(i=0; i<MAX_HW_CARDS; i++){
                if((candev=canhw->candevice[i])==NULL)
                        continue;
                candevice_done(candev);