From: Stephen Hemminger Date: Tue, 23 Aug 2016 19:17:51 +0000 (-0700) Subject: hv_netvsc: init completion during alloc X-Git-Tag: v4.9-rc1~127^2~405^2~6 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=fd612602d6a7919982779fda914bd521e5778593;hp=e08f3ea586d4145e36c77f0dd1602374b5d7e928;p=cascardo%2Flinux.git hv_netvsc: init completion during alloc Move initialization to allocate where other fields are initialized. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller --- diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index 2ece27ad8429..27eb507d64f9 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -164,6 +164,7 @@ static struct netvsc_device *alloc_net_device(void) atomic_set(&net_device->open_cnt, 0); net_device->max_pkt = RNDIS_MAX_PKT_DEFAULT; net_device->pkt_align = RNDIS_PKT_ALIGN_DEFAULT; + init_completion(&net_device->channel_init_wait); return net_device; } @@ -1442,9 +1443,6 @@ int netvsc_device_add(struct hv_device *device, void *additional_info) net_device->ring_size = ring_size; - /* Initialize the NetVSC channel extension */ - init_completion(&net_device->channel_init_wait); - set_per_channel_state(device->channel, net_device->cb_buffer); /* Open the channel */