iface->writeNum = iface->readNum = pmsg->len;
        iface->result = 0;
        iface->timeout_count = 10;
+       init_completion(&(iface->complete));
        /* Set Transmit device address */
        write_MASTER_ADDR(iface, pmsg->addr);
 
        iface->read_write = read_write;
        iface->command = command;
        iface->timeout_count = 10;
+       init_completion(&(iface->complete));
 
        /* FIFO Initiation. Data in FIFO should be discarded before
         * start a new operation.
        }
 
        spin_lock_init(&(iface->lock));
-       init_completion(&(iface->complete));
 
        /* Find and map our resources */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);