Pull NTB fixes from Jon Mason: "NTB bug fixes to address an incorrect ntb_mw_count reference in the NTB transport, improperly bringing down the link if SPADs are corrupted, and an out-of-order issue regarding link negotiation and data passing" * tag 'ntb-4.13-bugfixes' of git://github.com/jonmason/ntb: ntb: ntb_test: ensure the link is up before trying to configure the mws ntb: transport shouldn't disable link due to bogus values in SPADs ntb: use correct mw_count function in ntb_tool and ntb_transport
Unified · Split
| @@ -924,10 +924,8 @@ out1: · 923 unmodified lines | ||
| 924 | 924 | ntb_free_mw(nt, i); |
| 925 | 925 | |
| 926 | 926 | /* if there's an actual failure, we should just bail */ |
| 927 | − if (rc < 0) { | |
| 928 | − ntb_link_disable(ndev); | |
| 927 | + if (rc < 0) | |
| 929 | 928 | return; |
| 930 | − } | |
| 931 | 929 | |
| 932 | 930 | out: |
| 933 | 931 | if (ntb_link_is_up(ndev, NULL, NULL) == 1) |
| @@ -1059,7 +1057,7 @@ static int ntb_transport_probe(struct ntb_client *self, struct ntb_dev *ndev) · 125 unmodified lines | ||
| 1059 | 1057 | int node; |
| 1060 | 1058 | int rc, i; |
| 1061 | 1059 | |
| 1062 | − mw_count = ntb_mw_count(ndev, PIDX); | |
| 1060 | + mw_count = ntb_peer_mw_count(ndev); | |
| 1063 | 1061 | |
| 1064 | 1062 | if (!ndev->ops->mw_set_trans) { |
| 1065 | 1063 | dev_err(&ndev->dev, "Inbound MW based NTB API is required\n"); |
| @@ -959,7 +959,7 @@ static int tool_probe(struct ntb_client *self, struct ntb_dev *ntb) · 958 unmodified lines | ||
| 959 | 959 | tc->ntb = ntb; |
| 960 | 960 | init_waitqueue_head(&tc->link_wq); |
| 961 | 961 | |
| 962 | − tc->mw_count = min(ntb_mw_count(tc->ntb, PIDX), MAX_MWS); | |
| 962 | + tc->mw_count = min(ntb_peer_mw_count(tc->ntb), MAX_MWS); | |
| 963 | 963 | for (i = 0; i < tc->mw_count; i++) { |
| 964 | 964 | rc = tool_init_mw(tc, i); |
| 965 | 965 | if (rc) |
| @@ -333,6 +333,10 @@ function ntb_tool_tests() · 332 unmodified lines | ||
| 333 | 333 | link_test $LOCAL_TOOL $REMOTE_TOOL |
| 334 | 334 | link_test $REMOTE_TOOL $LOCAL_TOOL |
| 335 | 335 | |
| 336 | + #Ensure the link is up on both sides before continuing | |
| 337 | + write_file Y $LOCAL_TOOL/link_event | |
| 338 | + write_file Y $REMOTE_TOOL/link_event | |
| 339 | + | |
| 336 | 340 | for PEER_TRANS in $(ls $LOCAL_TOOL/peer_trans*); do |
| 337 | 341 | PT=$(basename $PEER_TRANS) |
| 338 | 342 | write_file $MW_SIZE $LOCAL_TOOL/$PT |