diff options
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_av.c')
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_av.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_av.c b/drivers/infiniband/hw/ehca/ehca_av.c index 0d6e2c4bb245..3cd6bf3402d1 100644 --- a/drivers/infiniband/hw/ehca/ehca_av.c +++ b/drivers/infiniband/hw/ehca/ehca_av.c | |||
@@ -118,7 +118,7 @@ struct ib_ah *ehca_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr) | |||
118 | } | 118 | } |
119 | memcpy(&av->av.grh.word_1, &gid, sizeof(gid)); | 119 | memcpy(&av->av.grh.word_1, &gid, sizeof(gid)); |
120 | } | 120 | } |
121 | av->av.pmtu = EHCA_MAX_MTU; | 121 | av->av.pmtu = shca->max_mtu; |
122 | 122 | ||
123 | /* dgid comes in grh.word_3 */ | 123 | /* dgid comes in grh.word_3 */ |
124 | memcpy(&av->av.grh.word_3, &ah_attr->grh.dgid, | 124 | memcpy(&av->av.grh.word_3, &ah_attr->grh.dgid, |
@@ -137,6 +137,8 @@ int ehca_modify_ah(struct ib_ah *ah, struct ib_ah_attr *ah_attr) | |||
137 | struct ehca_av *av; | 137 | struct ehca_av *av; |
138 | struct ehca_ud_av new_ehca_av; | 138 | struct ehca_ud_av new_ehca_av; |
139 | struct ehca_pd *my_pd = container_of(ah->pd, struct ehca_pd, ib_pd); | 139 | struct ehca_pd *my_pd = container_of(ah->pd, struct ehca_pd, ib_pd); |
140 | struct ehca_shca *shca = container_of(ah->pd->device, struct ehca_shca, | ||
141 | ib_device); | ||
140 | u32 cur_pid = current->tgid; | 142 | u32 cur_pid = current->tgid; |
141 | 143 | ||
142 | if (my_pd->ib_pd.uobject && my_pd->ib_pd.uobject->context && | 144 | if (my_pd->ib_pd.uobject && my_pd->ib_pd.uobject->context && |
@@ -192,7 +194,7 @@ int ehca_modify_ah(struct ib_ah *ah, struct ib_ah_attr *ah_attr) | |||
192 | memcpy(&new_ehca_av.grh.word_1, &gid, sizeof(gid)); | 194 | memcpy(&new_ehca_av.grh.word_1, &gid, sizeof(gid)); |
193 | } | 195 | } |
194 | 196 | ||
195 | new_ehca_av.pmtu = EHCA_MAX_MTU; | 197 | new_ehca_av.pmtu = shca->max_mtu; |
196 | 198 | ||
197 | memcpy(&new_ehca_av.grh.word_3, &ah_attr->grh.dgid, | 199 | memcpy(&new_ehca_av.grh.word_3, &ah_attr->grh.dgid, |
198 | sizeof(ah_attr->grh.dgid)); | 200 | sizeof(ah_attr->grh.dgid)); |