From: Jakub Kicinski Date: Mon, 19 Nov 2018 23:21:39 +0000 (-0800) Subject: nfp: abm: size threshold table to account for bands X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=68e9864221cae716680f64ac2832c4bfa50006f0;p=openwrt%2Fstaging%2Fblogic.git nfp: abm: size threshold table to account for bands Make sure the threshold table is large enough to hold information for all bands. Signed-off-by: Jakub Kicinski Reviewed-by: John Hurley Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/netronome/nfp/abm/main.c b/drivers/net/ethernet/netronome/nfp/abm/main.c index a5732d3bd1b7..b21250b95475 100644 --- a/drivers/net/ethernet/netronome/nfp/abm/main.c +++ b/drivers/net/ethernet/netronome/nfp/abm/main.c @@ -422,7 +422,7 @@ static int nfp_abm_init(struct nfp_app *app) goto err_free_abm; err = -ENOMEM; - abm->num_thresholds = NFP_NET_MAX_RX_RINGS; + abm->num_thresholds = array_size(abm->num_bands, NFP_NET_MAX_RX_RINGS); abm->threshold_undef = bitmap_zalloc(abm->num_thresholds, GFP_KERNEL); if (!abm->threshold_undef) goto err_free_abm; @@ -431,7 +431,7 @@ static int nfp_abm_init(struct nfp_app *app) sizeof(*abm->thresholds), GFP_KERNEL); if (!abm->thresholds) goto err_free_thresh_umap; - for (i = 0; i < NFP_NET_MAX_RX_RINGS; i++) + for (i = 0; i < abm->num_bands * NFP_NET_MAX_RX_RINGS; i++) __nfp_abm_ctrl_set_q_lvl(abm, i, NFP_ABM_LVL_INFINITY); /* We start in legacy mode, make sure advanced queuing is disabled */