Commit 23ecdcd0 authored by Jens Axboe's avatar Jens Axboe
Browse files

IB/hfi1: check for user backed iterator, not specific iterator type



In preparation for switching single segment iterators to using ITER_UBUF,
swap the check for whether we are user backed or not. While at it, move
it outside the srcu locking area to clean up the code a bit.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent de4f5fed
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -267,6 +267,8 @@ static ssize_t hfi1_write_iter(struct kiocb *kiocb, struct iov_iter *from)

	if (!HFI1_CAP_IS_KSET(SDMA))
		return -EINVAL;
	if (!from->user_backed)
		return -EINVAL;
	idx = srcu_read_lock(&fd->pq_srcu);
	pq = srcu_dereference(fd->pq, &fd->pq_srcu);
	if (!cq || !pq) {
@@ -274,11 +276,6 @@ static ssize_t hfi1_write_iter(struct kiocb *kiocb, struct iov_iter *from)
		return -EIO;
	}

	if (!iter_is_iovec(from) || !dim) {
		srcu_read_unlock(&fd->pq_srcu, idx);
		return -EINVAL;
	}

	trace_hfi1_sdma_request(fd->dd, fd->uctxt->ctxt, fd->subctxt, dim);

	if (atomic_read(&pq->n_reqs) == pq->n_max_reqs) {