Re: [PATCH] ntb: use correct mw_count function in ntb_tool and ntb_transport

From: Jon Mason
Date: Mon Jul 17 2017 - 11:16:56 EST


On Tue, Jun 27, 2017 at 12:04 PM, Allen Hubbe <Allen.Hubbe@xxxxxxxx> wrote:
> 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 <logang@xxxxxxxxxxxx>
>> Cc: Jon Mason <jdmason@xxxxxxxx>
>> Cc: Dave Jiang <dave.jiang@xxxxxxxxx>
>> Cc: Allen Hubbe <Allen.Hubbe@xxxxxxx>
>> Cc: Serge Semin <fancer.lancer@xxxxxxxxx>
>
> Acked-by: Allen Hubbe <Allen.Hubbe@xxxxxxxx>
>
>> ---
>>
>> 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.

Per your request, this has been applied to my ntb-next branch.

Thanks,
Jon

>>
>> 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
>