Re: [PATCH 1/1] Drivers: hv: vmbus: Fix rescind handling issues

From: Stephen Hemminger
Date: Thu Aug 24 2017 - 18:41:19 EST


On Fri, 11 Aug 2017 10:03:59 -0700
kys@xxxxxxxxxxxxxxxxxxxxxx wrote:

> From: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
>
> This patch handles the following issues that were observed when we are
> handling racing channel offer message and rescind message for the same
> offer:
>
> 1. Since the host does not respond to messages on a rescinded channel,
> in the current code, we could be indefinitely blocked on the vmbus_open() call.
>
> 2. When a rescinded channel is being closed, if there is a pending interrupt on the
> channel, we could end up freeing the channel that the interrupt handler would run on.
>
> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
> Tested-by: Dexuan Cui <decui@xxxxxxxxxxxxx>

This patch breaks re-initialization of the network device on MTU changes.

Doing:
# ip li set dev eth1 mtu 9000

will hang in rndis_filter_add waiting for subchannel notification.
This is likely because when the vmbus device is reopened the sub channels
are not correctly created. Not sure what is wrong with the patch, but my
suspicion is that the close/rescind events are no longer being sent to the
host.