Lines Matching refs:newchannel

463 	struct vmbus_channel *newchannel =  in vmbus_add_channel_work()  local
465 struct vmbus_channel *primary_channel = newchannel->primary_channel; in vmbus_add_channel_work()
473 newchannel->state = CHANNEL_OPEN_STATE; in vmbus_add_channel_work()
479 if (vmbus_add_channel_kobj(dev, newchannel)) in vmbus_add_channel_work()
483 primary_channel->sc_creation_callback(newchannel); in vmbus_add_channel_work()
485 newchannel->probe_done = true; in vmbus_add_channel_work()
492 newchannel->device_obj = vmbus_device_create( in vmbus_add_channel_work()
493 &newchannel->offermsg.offer.if_type, in vmbus_add_channel_work()
494 &newchannel->offermsg.offer.if_instance, in vmbus_add_channel_work()
495 newchannel); in vmbus_add_channel_work()
496 if (!newchannel->device_obj) in vmbus_add_channel_work()
499 newchannel->device_obj->device_id = newchannel->device_id; in vmbus_add_channel_work()
510 ret = vmbus_device_register(newchannel->device_obj); in vmbus_add_channel_work()
514 newchannel->offermsg.child_relid); in vmbus_add_channel_work()
518 newchannel->probe_done = true; in vmbus_add_channel_work()
528 newchannel->probe_done = true; in vmbus_add_channel_work()
531 list_del(&newchannel->listentry); in vmbus_add_channel_work()
533 list_del(&newchannel->sc_list); in vmbus_add_channel_work()
536 vmbus_channel_unmap_relid(newchannel); in vmbus_add_channel_work()
540 vmbus_release_relid(newchannel->offermsg.child_relid); in vmbus_add_channel_work()
542 free_channel(newchannel); in vmbus_add_channel_work()
549 static void vmbus_process_offer(struct vmbus_channel *newchannel) in vmbus_process_offer() argument
582 init_vp_index(newchannel); in vmbus_process_offer()
585 if (is_hvsock_channel(newchannel) || is_sub_channel(newchannel)) in vmbus_process_offer()
596 &newchannel->offermsg.offer.if_type) && in vmbus_process_offer()
598 &newchannel->offermsg.offer.if_instance)) { in vmbus_process_offer()
605 list_add_tail(&newchannel->listentry, in vmbus_process_offer()
611 if (newchannel->offermsg.offer.sub_channel_index == 0) { in vmbus_process_offer()
618 kfree(newchannel); in vmbus_process_offer()
625 newchannel->primary_channel = channel; in vmbus_process_offer()
626 list_add_tail(&newchannel->sc_list, &channel->sc_list); in vmbus_process_offer()
629 vmbus_channel_map_relid(newchannel); in vmbus_process_offer()
655 INIT_WORK(&newchannel->add_channel_work, vmbus_add_channel_work); in vmbus_process_offer()
658 queue_work(wq, &newchannel->add_channel_work); in vmbus_process_offer()
924 struct vmbus_channel *oldchannel, *newchannel; in vmbus_onoffer() local
1004 newchannel = alloc_channel(); in vmbus_onoffer()
1005 if (!newchannel) { in vmbus_onoffer()
1012 vmbus_setup_channel_state(newchannel, offer); in vmbus_onoffer()
1014 vmbus_process_offer(newchannel); in vmbus_onoffer()