diff options
author | Jeremiah Mahler <jmmahler@gmail.com> | 2015-01-18 03:17:52 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-01-25 19:59:14 +0800 |
commit | a1ccbf9cc4f6828c4615642bbe664aed2103247b (patch) | |
tree | 26572a1079c6819f1edd0c6e5a7a08d292e7d052 /drivers/staging/lustre | |
parent | 41dff7ac1a7c97f5532931154bfdf505d7ce1631 (diff) |
staging: lustre: fix min() comparison types lacks cast build warning
Recent changes to use the builtin min functions [1] introduced
type checking which wasn't present before. This resulted in
"comparision of distinct pointer types lacks a cast" build
warnings on non X86 architectures [2,3].
[1]: https://lkml.org/lkml/2014/12/25/145
[2]: https://lists.01.org/pipermail/kbuild-all/2015-January/008588.html
[3]: https://lists.01.org/pipermail/kbuild-all/2015-January/008589.html
The call to min() which resulted in this warning took the result
of kiblnd_rd_frag_size(), which returned a __u32, and the
variable 'resid', which is an int. 'resid' is inside a while
loop which is only entered if it is positive. Casting it as a
__u32 can be perormed without a loss of data or change in
functionality.
Fix the warning by casting 'resid' as a __u32.
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Jeremiah Mahler <jmmahler@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/lustre')
-rw-r--r-- | drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c index 4fd5d94dbbff..48d885dc51d9 100644 --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c @@ -1126,7 +1126,8 @@ kiblnd_init_rdma (kib_conn_t *conn, kib_tx_t *tx, int type, } wrknob = min(min(kiblnd_rd_frag_size(srcrd, srcidx), - kiblnd_rd_frag_size(dstrd, dstidx)), resid); + kiblnd_rd_frag_size(dstrd, dstidx)), + (__u32) resid); sge = &tx->tx_sge[tx->tx_nwrq]; sge->addr = kiblnd_rd_frag_addr(srcrd, srcidx); |