diff options
| -rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 9b4bc5ae5b10..cfc1d65c4577 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
| @@ -1442,6 +1442,7 @@ static int srp_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event) | |||
| 1442 | static int srp_send_tsk_mgmt(struct srp_target_port *target, | 1442 | static int srp_send_tsk_mgmt(struct srp_target_port *target, |
| 1443 | struct srp_request *req, u8 func) | 1443 | struct srp_request *req, u8 func) |
| 1444 | { | 1444 | { |
| 1445 | struct ib_device *dev = target->srp_host->srp_dev->dev; | ||
| 1445 | struct srp_iu *iu; | 1446 | struct srp_iu *iu; |
| 1446 | struct srp_tsk_mgmt *tsk_mgmt; | 1447 | struct srp_tsk_mgmt *tsk_mgmt; |
| 1447 | 1448 | ||
| @@ -1459,6 +1460,8 @@ static int srp_send_tsk_mgmt(struct srp_target_port *target, | |||
| 1459 | if (!iu) | 1460 | if (!iu) |
| 1460 | goto out; | 1461 | goto out; |
| 1461 | 1462 | ||
| 1463 | ib_dma_sync_single_for_cpu(dev, iu->dma, sizeof *tsk_mgmt, | ||
| 1464 | DMA_TO_DEVICE); | ||
| 1462 | tsk_mgmt = iu->buf; | 1465 | tsk_mgmt = iu->buf; |
| 1463 | memset(tsk_mgmt, 0, sizeof *tsk_mgmt); | 1466 | memset(tsk_mgmt, 0, sizeof *tsk_mgmt); |
| 1464 | 1467 | ||
| @@ -1468,6 +1471,8 @@ static int srp_send_tsk_mgmt(struct srp_target_port *target, | |||
| 1468 | tsk_mgmt->tsk_mgmt_func = func; | 1471 | tsk_mgmt->tsk_mgmt_func = func; |
| 1469 | tsk_mgmt->task_tag = req->index; | 1472 | tsk_mgmt->task_tag = req->index; |
| 1470 | 1473 | ||
| 1474 | ib_dma_sync_single_for_device(dev, iu->dma, sizeof *tsk_mgmt, | ||
| 1475 | DMA_TO_DEVICE); | ||
| 1471 | if (__srp_post_send(target, iu, sizeof *tsk_mgmt)) | 1476 | if (__srp_post_send(target, iu, sizeof *tsk_mgmt)) |
| 1472 | goto out; | 1477 | goto out; |
| 1473 | 1478 | ||
