if (operation->callback)
                operation->callback(operation);
        else
-               complete_all(&operation->completion);
+               complete(&operation->completion);
        gb_operation_put(operation);
 }
 
-/*
- * Wait for a submitted operation to complete.  Returns the result
- * of the operation; this will be -EINTR if the wait was interrupted.
- */
-static int gb_operation_wait(struct gb_operation *operation)
-{
-       int ret;
-
-       ret = wait_for_completion_interruptible(&operation->completion);
-       if (ret < 0)
-               gb_operation_cancel(operation, -EINTR);
-
-       return operation->errno;
-}
-
 #if 0
 static void gb_operation_request_handle(struct gb_operation *operation)
 {
        if (ret || callback)
                return ret;
 
-       return gb_operation_wait(operation);
+       /* Cancel the operation if interrupted */
+       ret = wait_for_completion_interruptible(&operation->completion);
+       if (ret < 0)
+               gb_operation_cancel(operation, -EINTR);
+
+       return operation->errno;
 }
 
 /*