}
init_completion(&open_info->waitevent);
- open_info->waiting_channel = newchannel;
open_msg = (struct vmbus_channel_open_channel *)open_info->msg;
open_msg->header.msgtype = CHANNELMSG_OPENCHANNEL;
list_del(&open_info->msglistentry);
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
- if (newchannel->rescind) {
- err = -ENODEV;
- goto error_free_gpadl;
- }
-
if (open_info->response.open_result.status) {
err = -EAGAIN;
goto error_free_gpadl;
return ret;
init_completion(&msginfo->waitevent);
- msginfo->waiting_channel = channel;
gpadlmsg = (struct vmbus_channel_gpadl_header *)msginfo->msg;
gpadlmsg->header.msgtype = CHANNELMSG_GPADL_HEADER;
}
wait_for_completion(&msginfo->waitevent);
- if (channel->rescind) {
- ret = -ENODEV;
- goto cleanup;
- }
-
/* At this point, we received the gpadl created msg */
*gpadl_handle = gpadlmsg->gpadl;
return -ENOMEM;
init_completion(&info->waitevent);
- info->waiting_channel = channel;
msg = (struct vmbus_channel_gpadl_teardown *)info->msg;
wait_for_completion(&info->waitevent);
- if (channel->rescind) {
- ret = -ENODEV;
- goto post_msg_err;
- }
-
post_msg_err:
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
list_del(&info->msglistentry);