[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