> -----Original Message----- > From: Michael Kelley (EOSG) > Sent: Saturday, March 24, 2018 12:48 PM > To: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; davem@xxxxxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx > Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>; Stephen Hemminger > <sthemmin@xxxxxxxxxxxxx>; olaf@xxxxxxxxx; vkuznets@xxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: RE: [PATCH net-next,1/2] hv_netvsc: Fix the return status in RX path > > > -----Original Message----- > > From: linux-kernel-owner@xxxxxxxxxxxxxxx > > <linux-kernel-owner@xxxxxxxxxxxxxxx> On Behalf Of Haiyang Zhang > > Sent: Thursday, March 22, 2018 12:01 PM > > To: davem@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx > > Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; KY Srinivasan > > <kys@xxxxxxxxxxxxx>; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; > > olaf@xxxxxxxxx; vkuznets@xxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; > > linux-kernel@xxxxxxxxxxxxxxx > > Subject: [PATCH net-next,1/2] hv_netvsc: Fix the return status in RX > > path > > > > From: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > > > > As defined in hyperv_net.h, the NVSP_STAT_SUCCESS is one not zero. > > Some functions returns 0 when it actually means NVSP_STAT_SUCCESS. > > This patch fixes them. > > > > In netvsc_receive(), it puts the last RNDIS packet's receive status > > for all packets in a vmxferpage which may contain multiple RNDIS > > packets. > > This patch puts NVSP_STAT_FAIL in the receive completion if one of the > > packets in a vmxferpage fails. > > This patch changes the status field that is being reported back to the Hyper-V > host in the receive completion message in > enq_receive_complete(). The current code reports 0 on success, > and with the patch, it will report 1 on success. So does this change affect > anything on the Hyper-V side? Or is Hyper-V just ignoring > the value? If this change doesn't have any impact on the > interactions with Hyper-V, perhaps it would be good to explain why in the > commit message. Here is the definition of each status code for NetVSP. enum { NVSP_STAT_NONE = 0, NVSP_STAT_SUCCESS, NVSP_STAT_FAIL, NVSP_STAT_PROTOCOL_TOO_NEW, NVSP_STAT_PROTOCOL_TOO_OLD, NVSP_STAT_INVALID_RNDIS_PKT, NVSP_STAT_BUSY, NVSP_STAT_PROTOCOL_UNSUPPORTED, NVSP_STAT_MAX, }; Existing code returns NVSP_STAT_NONE = 0, and with this patch we return NVSP_STAT_SUCCESS = 1. Based on testing, either way works for now. But for correctness and future stability (e.g. host side becomes more stringent), we should follow the protocol. Thanks, - Haiyang _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel