From: Vadim Lomovtsev <vadim.lomovt...@caviumnetworks.com>
Date: Fri,  6 Apr 2018 04:14:25 -0700

> diff --git a/drivers/net/ethernet/cavium/thunder/nic.h 
> b/drivers/net/ethernet/cavium/thunder/nic.h
> index 5fc46c5a4f36..448d1fafc827 100644
> --- a/drivers/net/ethernet/cavium/thunder/nic.h
> +++ b/drivers/net/ethernet/cavium/thunder/nic.h
> @@ -265,14 +265,9 @@ struct nicvf_drv_stats {
>  
>  struct cavium_ptp;
>  
> -struct xcast_addr {
> -     struct list_head list;
> -     u64              addr;
> -};
> -
>  struct xcast_addr_list {
> -     struct list_head list;
>       int              count;
> +     u64              mc[];
>  };
>  
>  struct nicvf_work {
> diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_main.c 
> b/drivers/net/ethernet/cavium/thunder/nicvf_main.c
> index 1e9a31fef729..a26d8bc92e01 100644
> --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c
> +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c
> @@ -1929,7 +1929,7 @@ static void nicvf_set_rx_mode_task(struct work_struct 
> *work_arg)
>                                                 work.work);
>       struct nicvf *nic = container_of(vf_work, struct nicvf, rx_mode_work);
>       union nic_mbx mbx = {};
> -     struct xcast_addr *xaddr, *next;
> +     u8 idx = 0;
        ^^^^^^^^^^^

>  
>       if (!vf_work)
>               return;
> @@ -1956,16 +1956,10 @@ static void nicvf_set_rx_mode_task(struct work_struct 
> *work_arg)
>       /* check if we have any specific MACs to be added to PF DMAC filter */
>       if (vf_work->mc) {
>               /* now go through kernel list of MACs and add them one by one */
> -             list_for_each_entry_safe(xaddr, next,
> -                                      &vf_work->mc->list, list) {
> +             for (idx = 0; idx < vf_work->mc->count; idx++) {

vf_work->mx->count is an 'int' therefore 'idx' should be declared 'int' as well,
not a 'u8'.

Reply via email to