{
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) {
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) {
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);