]> 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 d25e936461637911b8dccbea231ed8b66db982d0..5e789ae4e56bb36881f5772727389ae9edd85c25 100644 (file)
@@ -14,7 +14,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
@@ -37,8 +37,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");
        }
@@ -127,7 +130,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);