Commit ed56954c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull rdma fixes from Jason Gunthorpe:
 "Fix two build warnings on 32 bit platforms

  It seems the linux-next CI and 0-day bot are not testing enough 32 bit
  configurations, as soon as you merged the rdma pull request there were
  two instant reports of warnings on these sytems that I would have
  thought should have been covered by time in linux-next

  Anyhow, here are the fixes so people don't hit problems with -Werror"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
  RDMA/siw: Fix pointer cast warning
  RDMA/rxe: Fix compile warnings on 32-bit
parents 6830d503 5244ca88
Loading
Loading
Loading
Loading
+40 −32
Original line number Diff line number Diff line
@@ -785,21 +785,14 @@ static enum resp_states atomic_reply(struct rxe_qp *qp,
	return ret;
}

static enum resp_states atomic_write_reply(struct rxe_qp *qp,
#ifdef CONFIG_64BIT
static enum resp_states do_atomic_write(struct rxe_qp *qp,
					struct rxe_pkt_info *pkt)
{
	u64 src, *dst;
	struct resp_res *res = qp->resp.res;
	struct rxe_mr *mr = qp->resp.mr;
	int payload = payload_size(pkt);
	u64 src, *dst;

	if (!res) {
		res = rxe_prepare_res(qp, pkt, RXE_ATOMIC_WRITE_MASK);
		qp->resp.res = res;
	}

	if (!res->replay) {
#ifdef CONFIG_64BIT
	if (mr->state != RXE_MR_STATE_VALID)
		return RESPST_ERR_RKEY_VIOLATION;

@@ -824,14 +817,29 @@ static enum resp_states atomic_write_reply(struct rxe_qp *qp,

	qp->resp.opcode = pkt->opcode;
	qp->resp.status = IB_WC_SUCCESS;

	return RESPST_ACKNOWLEDGE;
}
#else
static enum resp_states do_atomic_write(struct rxe_qp *qp,
					struct rxe_pkt_info *pkt)
{
	return RESPST_ERR_UNSUPPORTED_OPCODE;
}
#endif /* CONFIG_64BIT */

static enum resp_states atomic_write_reply(struct rxe_qp *qp,
					   struct rxe_pkt_info *pkt)
{
	struct resp_res *res = qp->resp.res;

	if (!res) {
		res = rxe_prepare_res(qp, pkt, RXE_ATOMIC_WRITE_MASK);
		qp->resp.res = res;
	}

	if (res->replay)
		return RESPST_ACKNOWLEDGE;
	return do_atomic_write(qp, pkt);
}

static struct sk_buff *prepare_ack_packet(struct rxe_qp *qp,
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ static struct page *siw_get_pblpage(struct siw_mem *mem, u64 addr, int *idx)
	dma_addr_t paddr = siw_pbl_get_buffer(pbl, offset, NULL, idx);

	if (paddr)
		return virt_to_page((void *)paddr);
		return virt_to_page((void *)(uintptr_t)paddr);

	return NULL;
}