RDMA/cxgb3: Adjust ORD/IRD (if needed) for peer2peer connections

NFS/RDMA currently fails to set up connections if peer2peer is on.
This is due to the fact that the NFS/RDMA client sets its ORD to 0.

If peer2peer is set, make sure the active side ORD is >= 1 and the
passive side IRD is >=1.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

authored by Steve Wise and committed by Roland Dreier 96ac7e88 a939b96c

+8
+8
drivers/infiniband/hw/cxgb3/iwch_cm.c
··· 1830 1830 ep->com.rpl_err = 0; 1831 1831 ep->ird = conn_param->ird; 1832 1832 ep->ord = conn_param->ord; 1833 + 1834 + if (peer2peer && ep->ird == 0) 1835 + ep->ird = 1; 1836 + 1833 1837 PDBG("%s %d ird %d ord %d\n", __func__, __LINE__, ep->ird, ep->ord); 1834 1838 1835 1839 get_ep(&ep->com); ··· 1919 1915 conn_param->private_data, ep->plen); 1920 1916 ep->ird = conn_param->ird; 1921 1917 ep->ord = conn_param->ord; 1918 + 1919 + if (peer2peer && ep->ord == 0) 1920 + ep->ord = 1; 1921 + 1922 1922 ep->com.tdev = h->rdev.t3cdev_p; 1923 1923 1924 1924 cm_id->add_ref(cm_id);