]> rtime.felk.cvut.cz Git - sysless.git/commitdiff
call the callback function after marked the messsage as FINNISHED. It's more clear...
authorsmolik <smolik>
Sun, 10 Aug 2008 22:07:16 +0000 (22:07 +0000)
committersmolik <smolik>
Sun, 10 Aug 2008 22:07:16 +0000 (22:07 +0000)
libs4c/i2c/i2c_c552.c

index 56837d0f3f236be7289d733332d7363a619298de..7cede723be3f117763588223b4c26abe154dd70b 100644 (file)
@@ -79,14 +79,14 @@ static int c552_sfnc_ms_end(struct i2c_drv *drv)
   i2c_msg_head_t *msg=drv->msg_act;
 
   if(msg) {
-    if((msg->flags&I2C_MSG_CB_END) && (msg->callback))
-      msg->callback(drv,I2C_MSG_CB_END,msg);
     if(msg->flags&I2C_MSG_REPEAT){
       drv->master_queue=msg->next;
     }else{
       i2c_drv_queue_msg(msg->flags&I2C_MSG_NOPROC?NULL:&drv->proc_queue,msg);
     }
     msg->flags|=I2C_MSG_FINISHED;
+    if((msg->flags&I2C_MSG_CB_END) && (msg->callback))
+      msg->callback(drv,I2C_MSG_CB_END,msg);
   }
 
   if(drv->master_queue) {