diff options
Diffstat (limited to 'drivers/net/mlx4/mcg.c')
| -rw-r--r-- | drivers/net/mlx4/mcg.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/net/mlx4/mcg.c b/drivers/net/mlx4/mcg.c index a99e7729d333..57f7f1f0d4ec 100644 --- a/drivers/net/mlx4/mcg.c +++ b/drivers/net/mlx4/mcg.c | |||
| @@ -190,10 +190,6 @@ int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]) | |||
| 190 | } | 190 | } |
| 191 | index += dev->caps.num_mgms; | 191 | index += dev->caps.num_mgms; |
| 192 | 192 | ||
| 193 | err = mlx4_READ_MCG(dev, index, mailbox); | ||
| 194 | if (err) | ||
| 195 | goto out; | ||
| 196 | |||
| 197 | memset(mgm, 0, sizeof *mgm); | 193 | memset(mgm, 0, sizeof *mgm); |
| 198 | memcpy(mgm->gid, gid, 16); | 194 | memcpy(mgm->gid, gid, 16); |
| 199 | } | 195 | } |
| @@ -301,12 +297,10 @@ int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]) | |||
| 301 | mgm->qp[loc] = mgm->qp[i - 1]; | 297 | mgm->qp[loc] = mgm->qp[i - 1]; |
| 302 | mgm->qp[i - 1] = 0; | 298 | mgm->qp[i - 1] = 0; |
| 303 | 299 | ||
| 304 | err = mlx4_WRITE_MCG(dev, index, mailbox); | 300 | if (i != 1) { |
| 305 | if (err) | 301 | err = mlx4_WRITE_MCG(dev, index, mailbox); |
| 306 | goto out; | ||
| 307 | |||
| 308 | if (i != 1) | ||
| 309 | goto out; | 302 | goto out; |
| 303 | } | ||
| 310 | 304 | ||
| 311 | if (prev == -1) { | 305 | if (prev == -1) { |
| 312 | /* Remove entry from MGM */ | 306 | /* Remove entry from MGM */ |
