From: Logan Gunthorpe
> After converting to the new API, both ntb_tool and ntb_transport are
> using ntb_mw_count to iterate through ntb_peer_get_addr when they
> should be using ntb_peer_mw_count.
> 
> This probably isn't an issue with the Intel and AMD drivers but
> this will matter for any future driver with asymetric memory window
> counts.
> 
> Signed-off-by: Logan Gunthorpe <log...@deltatee.com>
> Cc: Jon Mason <jdma...@kudzu.us>
> Cc: Dave Jiang <dave.ji...@intel.com>
> Cc: Allen Hubbe <allen.hu...@emc.com>
> Cc: Serge Semin <fancer.lan...@gmail.com>

Acked-by: Allen Hubbe <allen.hu...@dell.com>

> ---
> 
> Hi Guys,
> 
> I caught this issue while finishing up the switchtec rebase. (Which is
> now working again and I'll send the updated series after doing a bit more
> testing.)
> 
> However, seeing this is a bug in the new api patches I feel it should
> be applied to ntb-next tree before it's merged upstream.
> 
> Thanks,
> 
> Logan
> 
>  drivers/ntb/ntb_transport.c | 2 +-
>  drivers/ntb/test/ntb_tool.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
> index 9a03c5871efe..b29558ddfe95 100644
> --- a/drivers/ntb/ntb_transport.c
> +++ b/drivers/ntb/ntb_transport.c
> @@ -1059,7 +1059,7 @@ static int ntb_transport_probe(struct ntb_client *self, 
> struct ntb_dev *ndev)
>       int node;
>       int rc, i;
> 
> -     mw_count = ntb_mw_count(ndev, PIDX);
> +     mw_count = ntb_peer_mw_count(ndev);
> 
>       if (!ndev->ops->mw_set_trans) {
>               dev_err(&ndev->dev, "Inbound MW based NTB API is required\n");
> diff --git a/drivers/ntb/test/ntb_tool.c b/drivers/ntb/test/ntb_tool.c
> index f002bf48a08d..a69815c45ce6 100644
> --- a/drivers/ntb/test/ntb_tool.c
> +++ b/drivers/ntb/test/ntb_tool.c
> @@ -959,7 +959,7 @@ static int tool_probe(struct ntb_client *self, struct 
> ntb_dev *ntb)
>       tc->ntb = ntb;
>       init_waitqueue_head(&tc->link_wq);
> 
> -     tc->mw_count = min(ntb_mw_count(tc->ntb, PIDX), MAX_MWS);
> +     tc->mw_count = min(ntb_peer_mw_count(tc->ntb), MAX_MWS);
>       for (i = 0; i < tc->mw_count; i++) {
>               rc = tool_init_mw(tc, i);
>               if (rc)
> --
> 2.11.0

Reply via email to