diff options
author | Alex Shi <alex.shi@linaro.org> | 2018-03-26 02:31:04 +0000 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2018-03-26 02:31:04 +0000 |
commit | 205082557c52a684897058a4eb57568ee9ba0a31 (patch) | |
tree | b0face36fcc13165d64a7ba212f8ecc84bd510da /drivers/infiniband/ulp/ipoib/ipoib_ib.c | |
parent | 6d6267d9712d8d3ec5af042868ed4c2fe56cd917 (diff) | |
parent | 9764536dc592144beee43c987fef45d2e91ca55c (diff) |
Merge tag 'v3.18.102' into linux-linaro-lsk-v3.18lsk-v3.18-18.03linux-linaro-lsk-v3.18
This is the 3.18.102 stable release
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_ib.c')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_ib.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c index 72626c348174..963cef55dc60 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c @@ -955,6 +955,19 @@ static inline int update_parent_pkey(struct ipoib_dev_priv *priv) */ priv->dev->broadcast[8] = priv->pkey >> 8; priv->dev->broadcast[9] = priv->pkey & 0xff; + + /* + * Update the broadcast address in the priv->broadcast object, + * in case it already exists, otherwise no one will do that. + */ + if (priv->broadcast) { + spin_lock_irq(&priv->lock); + memcpy(priv->broadcast->mcmember.mgid.raw, + priv->dev->broadcast + 4, + sizeof(union ib_gid)); + spin_unlock_irq(&priv->lock); + } + return 0; } |