From: K. Y. Srinivasan Date: Fri, 13 May 2011 02:35:05 +0000 (-0700) Subject: Staging: hv: netvsc_drv: Get the ring size information from struct netvsc_device_info X-Git-Tag: v3.0-rc1~336^2~183 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=aae23986fd5baaf48c7112612fbff7fb1094ad03;p=karo-tx-linux.git Staging: hv: netvsc_drv: Get the ring size information from struct netvsc_device_info Get the ring size information from struct netvsc_device_info. Signed-off-by: K. Y. Srinivasan Signed-off-by: Haiyang Zhang Signed-off-by: Abhishek Kane Signed-off-by: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/hv/netvsc.c b/drivers/staging/hv/netvsc.c index 6ab5b77936ab..2eaa667295f8 100644 --- a/drivers/staging/hv/netvsc.c +++ b/drivers/staging/hv/netvsc.c @@ -1084,10 +1084,10 @@ int netvsc_device_add(struct hv_device *device, void *additional_info) { int ret = 0; int i; + int ring_size = + ((struct netvsc_device_info *)additional_info)->ring_size; struct netvsc_device *net_device; struct hv_netvsc_packet *packet, *pos; - struct netvsc_driver *net_driver = - drv_to_netvscdrv(device->device.driver); net_device = alloc_net_device(device); if (!net_device) { @@ -1116,8 +1116,8 @@ int netvsc_device_add(struct hv_device *device, void *additional_info) init_completion(&net_device->channel_init_wait); /* Open the channel */ - ret = vmbus_open(device->channel, net_driver->ring_buf_size, - net_driver->ring_buf_size, NULL, 0, + ret = vmbus_open(device->channel, ring_size * PAGE_SIZE, + ring_size * PAGE_SIZE, NULL, 0, netvsc_channel_cb, device); if (ret != 0) { diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c index 1b9820289175..6463f320c324 100644 --- a/drivers/staging/hv/netvsc_drv.c +++ b/drivers/staging/hv/netvsc_drv.c @@ -354,6 +354,7 @@ static int netvsc_probe(struct hv_device *dev) INIT_WORK(&net_device_ctx->work, netvsc_send_garp); /* Notify the netvsc driver of the new device */ + device_info.ring_size = ring_size; ret = rndis_filte_device_add(dev, &device_info); if (ret != 0) { free_netdev(net);