*/
 
 static int
-rpcrdma_convert_iovs(struct xdr_buf *xdrbuf, int pos,
+rpcrdma_convert_iovs(struct xdr_buf *xdrbuf, unsigned int pos,
        enum rpcrdma_chunktype type, struct rpcrdma_mr_seg *seg, int nsegs)
 {
        int len, n = 0, p;
        struct rpcrdma_req *req = rpcr_to_rdmar(rqst);
        struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(rqst->rq_task->tk_xprt);
        int nsegs, nchunks = 0;
-       int pos;
+       unsigned int pos;
        struct rpcrdma_mr_seg *seg = req->rl_segments;
        struct rpcrdma_read_chunk *cur_rchunk = NULL;
        struct rpcrdma_write_array *warray = NULL;
                                        (__be32 *)&cur_rchunk->rc_target.rs_offset,
                                        seg->mr_base);
                        dprintk("RPC:       %s: read chunk "
-                               "elem %d@0x%llx:0x%x pos %d (%s)\n", __func__,
+                               "elem %d@0x%llx:0x%x pos %u (%s)\n", __func__,
                                seg->mr_len, (unsigned long long)seg->mr_base,
                                seg->mr_rkey, pos, n < nsegs ? "more" : "last");
                        cur_rchunk++;