Re: [PATCH net-next v2 2/2] hv_netvsc: hide warnings about uninitialized/missing rndis device

From: Vitaly Kuznetsov
Date: Wed Nov 08 2017 - 04:36:41 EST


Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> writes:

> On Nov 2, 2017 19:35, "Vitaly Kuznetsov" <vkuznets@xxxxxxxxxx> wrote:
>
> Hyper-V hosts are known to send RNDIS messages even after we halt the
> device in rndis_filter_halt_device(). Remove user visible messages
> as they are not really useful.
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
> drivers/net/hyperv/rndis_filter.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
> index 0648eebda829..8b1242b8d8ef 100644
> --- a/drivers/net/hyperv/rndis_filter.c
> +++ b/drivers/net/hyperv/rndis_filter.c
> @@ -407,13 +407,13 @@ int rndis_filter_receive(struct net_device *ndev,
>
> /* Make sure the rndis device state is initialized */
> if (unlikely(!rndis_dev)) {
> - netif_err(net_device_ctx, rx_err, ndev,
> + netif_dbg(net_device_ctx, rx_err, ndev,
> "got rndis message but no rndis device!\n");
> return NVSP_STAT_FAIL;
> }
>
> if (unlikely(rndis_dev->state == RNDIS_DEV_UNINITIALIZED)) {
> - netif_err(net_device_ctx, rx_err, ndev,
> + netif_dbg(net_device_ctx, rx_err, ndev,
> "got rndis message uninitialized\n");
> return NVSP_STAT_FAIL;
> }
> --
> 2.13.6
>
> _______________________________________________
> devel mailing list
> devel@xxxxxxxxxxxxxxxxxxxxxx
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
>
> This should never happen since host removal should be setting device
> down which disables NAPI. If this is not working correctly, that needs
> to be fixed (rather than silencing the message).

This happens in between we halt RNDIS device in
rndis_filter_halt_device() and NAPI shutdown from netvsc_device_remove()
while the window is still open.

>
> Don't shoot the messenger

These messages are of no use for a random user: you change MTU on your
device and see 'got rndis message uninitialized' - what are you supposed
to do? I leave them at debugging level for us to actually debug.

--
Vitaly