[dpdk-dev] [PATCH] e1000/base: fix the wrong assignment to msgbuf[0]

Lu, Wenzhuo wenzhuo.lu at intel.com
Tue Feb 14 09:24:49 CET 2017


Hi Yong,

> -----Original Message-----
> From: Yong Wang [mailto:wang.yong19 at zte.com.cn]
> Sent: Tuesday, February 14, 2017 5:14 PM
> To: Lu, Wenzhuo
> Cc: dev at dpdk.org; Yong Wang
> Subject: [PATCH] e1000/base: fix the wrong assignment to msgbuf[0]
> 
> In function e1000_update_mc_addr_list_vf(), "msgbuf[0]" is used prior to
> initialization at "msgbuf[0] |= E1000_VF_SET_MULTICAST_OVERFLOW".
> And "msgbuf[0]" is overwritten at "msgbuf[0] = E1000_VF_SET_MULTICAST".
> Fix it by moving the second line prior to the first one that mentioned above.
> 
> Signed-off-by: Yong Wang <wang.yong19 at zte.com.cn>
> ---
>  drivers/net/e1000/base/e1000_vf.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/e1000/base/e1000_vf.c
> b/drivers/net/e1000/base/e1000_vf.c
> index 7845b48..44ab018 100644
> --- a/drivers/net/e1000/base/e1000_vf.c
> +++ b/drivers/net/e1000/base/e1000_vf.c
> @@ -421,12 +421,13 @@ void e1000_update_mc_addr_list_vf(struct
> e1000_hw *hw,
> 
>  	DEBUGOUT1("MC Addr Count = %d\n", mc_addr_count);
> 
> +	msgbuf[0] = E1000_VF_SET_MULTICAST;
> +
>  	if (mc_addr_count > 30) {
>  		msgbuf[0] |= E1000_VF_SET_MULTICAST_OVERFLOW;
>  		mc_addr_count = 30;
>  	}
> 
> -	msgbuf[0] = E1000_VF_SET_MULTICAST;
>  	msgbuf[0] |= mc_addr_count << E1000_VT_MSGINFO_SHIFT;
> 
>  	for (i = 0; i < mc_addr_count; i++) {
> --
> 1.8.3.1
Thanks for the patch. I believe it's a good fix.
As normally we don't change the base code. I'll double confirm it with my colleague.


More information about the dev mailing list