linuxtorvalds / rpms / kernel

Forked from rpms/kernel 2 years ago
Clone
7a5d70
From ee2efd8e1b4cae38cb8264ce1b8e110d937e8061 Mon Sep 17 00:00:00 2001
7a5d70
From: Chad Dupuis <chad.dupuis@qlogic.com>
7a5d70
Date: Thu, 13 Mar 2014 14:16:40 -0400
7a5d70
Subject: [PATCH] [SCSI] qla2xxx: Fix build errors related to invalid print
7a5d70
 fields on some architectures.
7a5d70
7a5d70
Fixes some build warnings such as:
7a5d70
drivers/scsi/qla2xxx/qla_attr.c:162:6: warning: format '%lx' expects argument of
7a5d70
type 'long unsigned int', but argument 6 has type 'size_t'"
7a5d70
and
7a5d70
drivers/scsi/qla2xxx/qla_init.c:5198:7: warning: format '%lx' expects argument
7a5d70
of type 'long unsigned int', but argument 5 has type 'uint32_t' [-Wformat]
7a5d70
7a5d70
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
7a5d70
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
7a5d70
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
7a5d70
---
7a5d70
 drivers/scsi/qla2xxx/qla_attr.c |  6 +++---
7a5d70
 drivers/scsi/qla2xxx/qla_init.c | 12 ++++++------
7a5d70
 2 files changed, 9 insertions(+), 9 deletions(-)
7a5d70
7a5d70
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
7a5d70
index deca736..ecadd80 100644
7a5d70
--- a/drivers/scsi/qla2xxx/qla_attr.c
7a5d70
+++ b/drivers/scsi/qla2xxx/qla_attr.c
7a5d70
@@ -159,7 +159,7 @@ qla2x00_sysfs_read_fw_dump_template(struct file *filp, struct kobject *kobj,
7a5d70
 		return 0;
7a5d70
 
7a5d70
 	ql_dbg(ql_dbg_user, vha, 0x70e2,
7a5d70
-	    "chunk <- off=%llx count=%lx\n", off, count);
7a5d70
+	    "chunk <- off=%llx count=%zx\n", off, count);
7a5d70
 	return memory_read_from_buffer(buf, count, &off,
7a5d70
 	    ha->fw_dump_template, ha->fw_dump_template_len);
7a5d70
 }
7a5d70
@@ -200,11 +200,11 @@ qla2x00_sysfs_write_fw_dump_template(struct file *filp, struct kobject *kobj,
7a5d70
 	if (off + count > ha->fw_dump_template_len) {
7a5d70
 		count = ha->fw_dump_template_len - off;
7a5d70
 		ql_dbg(ql_dbg_user, vha, 0x70d3,
7a5d70
-		    "chunk -> truncating to %lx bytes.\n", count);
7a5d70
+		    "chunk -> truncating to %zx bytes.\n", count);
7a5d70
 	}
7a5d70
 
7a5d70
 	ql_dbg(ql_dbg_user, vha, 0x70d4,
7a5d70
-	    "chunk -> off=%llx count=%lx\n", off, count);
7a5d70
+	    "chunk -> off=%llx count=%zx\n", off, count);
7a5d70
 	memcpy(ha->fw_dump_template + off, buf, count);
7a5d70
 
7a5d70
 	if (off + count == ha->fw_dump_template_len) {
7a5d70
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
7a5d70
index 8e36bb5..e6cc187 100644
7a5d70
--- a/drivers/scsi/qla2xxx/qla_init.c
7a5d70
+++ b/drivers/scsi/qla2xxx/qla_init.c
7a5d70
@@ -5343,8 +5343,8 @@ qla24xx_load_risc_flash(scsi_qla_host_t *vha, uint32_t *srisc_addr,
7a5d70
 	    "-> template size %x bytes\n", dlen);
7a5d70
 	if (dlen > risc_size * sizeof(*dcode)) {
7a5d70
 		ql_log(ql_log_warn, vha, 0x0167,
7a5d70
-		    "Failed fwdump template exceeds array by %lx bytes\n",
7a5d70
-		    dlen - risc_size * sizeof(*dcode));
7a5d70
+		    "Failed fwdump template exceeds array by %x bytes\n",
7a5d70
+		    (uint32_t)(dlen - risc_size * sizeof(*dcode)));
7a5d70
 		goto default_template;
7a5d70
 	}
7a5d70
 	ha->fw_dump_template_len = dlen;
7a5d70
@@ -5610,8 +5610,8 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
7a5d70
 	ha->fw_dump_template_len = 0;
7a5d70
 
7a5d70
 	ql_dbg(ql_dbg_init, vha, 0x171,
7a5d70
-	    "Loading fwdump template from %lx\n",
7a5d70
-	    (void *)fwcode - (void *)blob->fw->data);
7a5d70
+	    "Loading fwdump template from %x\n",
7a5d70
+	    (uint32_t)((void *)fwcode - (void *)blob->fw->data));
7a5d70
 	risc_size = be32_to_cpu(fwcode[2]);
7a5d70
 	ql_dbg(ql_dbg_init, vha, 0x172,
7a5d70
 	    "-> array size %x dwords\n", risc_size);
7a5d70
@@ -5645,8 +5645,8 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
7a5d70
 	    "-> template size %x bytes\n", dlen);
7a5d70
 	if (dlen > risc_size * sizeof(*fwcode)) {
7a5d70
 		ql_log(ql_log_warn, vha, 0x0177,
7a5d70
-		    "Failed fwdump template exceeds array by %lx bytes\n",
7a5d70
-		    dlen - risc_size * sizeof(*fwcode));
7a5d70
+		    "Failed fwdump template exceeds array by %x bytes\n",
7a5d70
+		    (uint32_t)(dlen - risc_size * sizeof(*fwcode)));
7a5d70
 		goto default_template;
7a5d70
 	}
7a5d70
 	ha->fw_dump_template_len = dlen;
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From 7a21a71e1c702b523676267fa09048f21918636f Mon Sep 17 00:00:00 2001
7a5d70
From: Paul Bolle <pebolle@tiscali.nl>
7a5d70
Date: Mon, 30 Jun 2014 16:32:29 +0200
7a5d70
Subject: [PATCH] x86: Remove unused variable "polling"
7a5d70
7a5d70
Compile tested. "polling" is unused since commit f80c5b39b80a
7a5d70
("sched/idle, x86: Switch from TS_POLLING to TIF_POLLING_NRFLAG").
7a5d70
7a5d70
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
7a5d70
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
7a5d70
Cc: Jiri Kosina <jkosina@suse.cz>
7a5d70
Link: http://lkml.kernel.org/r/1404138749.2978.6.camel@x41
7a5d70
Signed-off-by: Ingo Molnar <mingo@kernel.org>
7a5d70
---
7a5d70
 arch/x86/kernel/apm_32.c | 1 -
7a5d70
 1 file changed, 1 deletion(-)
7a5d70
7a5d70
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
7a5d70
index 8fdcec6..66d3b1f 100644
7a5d70
--- a/arch/x86/kernel/apm_32.c
7a5d70
+++ b/arch/x86/kernel/apm_32.c
7a5d70
@@ -841,7 +841,6 @@ static int apm_do_idle(void)
7a5d70
 	u32 eax;
7a5d70
 	u8 ret = 0;
7a5d70
 	int idled = 0;
7a5d70
-	int polling;
7a5d70
 	int err = 0;
7a5d70
 
7a5d70
 	if (!need_resched()) {
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From f9cfccee5ef4d923e21394c852b7f75d9c5c4a61 Mon Sep 17 00:00:00 2001
7a5d70
From: John Stultz <john.stultz@linaro.org>
7a5d70
Date: Wed, 16 Jul 2014 21:03:56 +0000
7a5d70
Subject: [PATCH] ktime: Change ktime_set() to take 64bit seconds value
7a5d70
7a5d70
In order to support dates past 2038 on 32bit systems, ktime_set()
7a5d70
needs to handle 64bit second values.
7a5d70
7a5d70
[ tglx: Removed the BITS_PER_LONG check ]
7a5d70
7a5d70
Signed-off-by: John Stultz <john.stultz@linaro.org>
7a5d70
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
7a5d70
Signed-off-by: John Stultz <john.stultz@linaro.org>
7a5d70
---
7a5d70
 include/linux/ktime.h | 7 +++----
7a5d70
 1 file changed, 3 insertions(+), 4 deletions(-)
7a5d70
7a5d70
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
7a5d70
index 320f5da..5fa1494 100644
7a5d70
--- a/include/linux/ktime.h
7a5d70
+++ b/include/linux/ktime.h
7a5d70
@@ -71,13 +71,12 @@ typedef union ktime ktime_t;		/* Kill this */
7a5d70
  *
7a5d70
  * Return the ktime_t representation of the value
7a5d70
  */
7a5d70
-static inline ktime_t ktime_set(const long secs, const unsigned long nsecs)
7a5d70
+static inline ktime_t ktime_set(const s64 secs, const unsigned long nsecs)
7a5d70
 {
7a5d70
-#if (BITS_PER_LONG == 64)
7a5d70
 	if (unlikely(secs >= KTIME_SEC_MAX))
7a5d70
 		return (ktime_t){ .tv64 = KTIME_MAX };
7a5d70
-#endif
7a5d70
-	return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs };
7a5d70
+
7a5d70
+	return (ktime_t) { .tv64 = secs * NSEC_PER_SEC + (s64)nsecs };
7a5d70
 }
7a5d70
 
7a5d70
 /* Subtract two ktime_t variables. rem = lhs -rhs: */
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From af80f3a91846c33852e97c18fd986d0db774d7f1 Mon Sep 17 00:00:00 2001
7a5d70
From: Richard Cochran <richardcochran@gmail.com>
7a5d70
Date: Sun, 29 Mar 2015 23:11:56 +0200
7a5d70
Subject: [PATCH] ptp: bnx2x: convert to the 64 bit get/set time methods.
7a5d70
7a5d70
This driver's clock is implemented using a timecounter, and so with
7a5d70
this patch the driver is ready for the year 2038.
7a5d70
7a5d70
Compile tested only.
7a5d70
7a5d70
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
7a5d70
Acked-by: Sony Chacko <sony.chacko@qlogic.com>
7a5d70
Signed-off-by: David S. Miller <davem@davemloft.net>
7a5d70
---
7a5d70
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 4 ++--
7a5d70
 1 file changed, 2 insertions(+), 2 deletions(-)
7a5d70
7a5d70
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
7a5d70
index dc20474..fb0ebc9 100644
7a5d70
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
7a5d70
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
7a5d70
@@ -13366,8 +13366,8 @@ static void bnx2x_register_phc(struct bnx2x *bp)
7a5d70
 	bp->ptp_clock_info.pps = 0;
7a5d70
 	bp->ptp_clock_info.adjfreq = bnx2x_ptp_adjfreq;
7a5d70
 	bp->ptp_clock_info.adjtime = bnx2x_ptp_adjtime;
7a5d70
-	bp->ptp_clock_info.gettime = bnx2x_ptp_gettime;
7a5d70
-	bp->ptp_clock_info.settime = bnx2x_ptp_settime;
7a5d70
+	bp->ptp_clock_info.gettime64 = bnx2x_ptp_gettime;
7a5d70
+	bp->ptp_clock_info.settime64 = bnx2x_ptp_settime;
7a5d70
 	bp->ptp_clock_info.enable = bnx2x_ptp_enable;
7a5d70
 
7a5d70
 	bp->ptp_clock = ptp_clock_register(&bp->ptp_clock_info, &bp->pdev->dev);
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From 23e58ec4890fa12e6965fb79e4924a151c6072fd Mon Sep 17 00:00:00 2001
7a5d70
From: Richard Cochran <richardcochran@gmail.com>
7a5d70
Date: Sun, 29 Mar 2015 23:12:04 +0200
7a5d70
Subject: [PATCH] ptp: ixgbe: convert to the 64 bit get/set time methods.
7a5d70
7a5d70
This driver's clock is implemented using a timecounter, and so with
7a5d70
this patch the driver is ready for the year 2038.
7a5d70
7a5d70
Compile tested only.
7a5d70
7a5d70
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
7a5d70
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
7a5d70
Signed-off-by: David S. Miller <davem@davemloft.net>
7a5d70
---
7a5d70
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 8 ++++----
7a5d70
 1 file changed, 4 insertions(+), 4 deletions(-)
7a5d70
7a5d70
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
7a5d70
index e70158c..e5ba040 100644
7a5d70
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
7a5d70
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
7a5d70
@@ -871,8 +871,8 @@ static int ixgbe_ptp_create_clock(struct ixgbe_adapter *adapter)
7a5d70
 		adapter->ptp_caps.pps = 1;
7a5d70
 		adapter->ptp_caps.adjfreq = ixgbe_ptp_adjfreq;
7a5d70
 		adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
7a5d70
-		adapter->ptp_caps.gettime = ixgbe_ptp_gettime;
7a5d70
-		adapter->ptp_caps.settime = ixgbe_ptp_settime;
7a5d70
+		adapter->ptp_caps.gettime64 = ixgbe_ptp_gettime;
7a5d70
+		adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
7a5d70
 		adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
7a5d70
 		break;
7a5d70
 	case ixgbe_mac_82599EB:
7a5d70
@@ -887,8 +887,8 @@ static int ixgbe_ptp_create_clock(struct ixgbe_adapter *adapter)
7a5d70
 		adapter->ptp_caps.pps = 0;
7a5d70
 		adapter->ptp_caps.adjfreq = ixgbe_ptp_adjfreq;
7a5d70
 		adapter->ptp_caps.adjtime = ixgbe_ptp_adjtime;
7a5d70
-		adapter->ptp_caps.gettime = ixgbe_ptp_gettime;
7a5d70
-		adapter->ptp_caps.settime = ixgbe_ptp_settime;
7a5d70
+		adapter->ptp_caps.gettime64 = ixgbe_ptp_gettime;
7a5d70
+		adapter->ptp_caps.settime64 = ixgbe_ptp_settime;
7a5d70
 		adapter->ptp_caps.enable = ixgbe_ptp_feature_enable;
7a5d70
 		break;
7a5d70
 	default:
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From 51c2e67006049959ad5f983caf0e00ccef973b55 Mon Sep 17 00:00:00 2001
7a5d70
From: Florian Westphal <fw@strlen.de>
7a5d70
Date: Wed, 17 Jun 2015 23:58:28 +0200
7a5d70
Subject: [PATCH] netfilter: xtables: fix warnings on 32bit platforms
7a5d70
7a5d70
On 32bit archs gcc complains due to cast from void* to u64.
7a5d70
Add intermediate casts to long to silence these warnings.
7a5d70
7a5d70
include/linux/netfilter/x_tables.h:376:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
7a5d70
include/linux/netfilter/x_tables.h:384:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
7a5d70
include/linux/netfilter/x_tables.h:391:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
7a5d70
include/linux/netfilter/x_tables.h:400:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
7a5d70
7a5d70
Fixes: 71ae0dff02d756e ("netfilter: xtables: use percpu rule counters")
7a5d70
Reported-by: kbuild test robot <fengguang.wu@intel.com>
7a5d70
Signed-off-by: Florian Westphal <fw@strlen.de>
7a5d70
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7a5d70
---
7a5d70
 include/linux/netfilter/x_tables.h | 8 ++++----
7a5d70
 1 file changed, 4 insertions(+), 4 deletions(-)
7a5d70
7a5d70
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
7a5d70
index 88a9b35..1b6a065 100644
7a5d70
--- a/include/linux/netfilter/x_tables.h
7a5d70
+++ b/include/linux/netfilter/x_tables.h
7a5d70
@@ -377,7 +377,7 @@ static inline u64 xt_percpu_counter_alloc(void)
7a5d70
 		if (res == NULL)
7a5d70
 			return (u64) -ENOMEM;
7a5d70
 
7a5d70
-		return (__force u64) res;
7a5d70
+		return (u64) (__force unsigned long) res;
7a5d70
 	}
7a5d70
 
7a5d70
 	return 0;
7a5d70
@@ -385,14 +385,14 @@ static inline u64 xt_percpu_counter_alloc(void)
7a5d70
 static inline void xt_percpu_counter_free(u64 pcnt)
7a5d70
 {
7a5d70
 	if (nr_cpu_ids > 1)
7a5d70
-		free_percpu((void __percpu *) pcnt);
7a5d70
+		free_percpu((void __percpu *) (unsigned long) pcnt);
7a5d70
 }
7a5d70
 
7a5d70
 static inline struct xt_counters *
7a5d70
 xt_get_this_cpu_counter(struct xt_counters *cnt)
7a5d70
 {
7a5d70
 	if (nr_cpu_ids > 1)
7a5d70
-		return this_cpu_ptr((void __percpu *) cnt->pcnt);
7a5d70
+		return this_cpu_ptr((void __percpu *) (unsigned long) cnt->pcnt);
7a5d70
 
7a5d70
 	return cnt;
7a5d70
 }
7a5d70
@@ -401,7 +401,7 @@ static inline struct xt_counters *
7a5d70
 xt_get_per_cpu_counter(struct xt_counters *cnt, unsigned int cpu)
7a5d70
 {
7a5d70
 	if (nr_cpu_ids > 1)
7a5d70
-		return per_cpu_ptr((void __percpu *) cnt->pcnt, cpu);
7a5d70
+		return per_cpu_ptr((void __percpu *) (unsigned long) cnt->pcnt, cpu);
7a5d70
 
7a5d70
 	return cnt;
7a5d70
 }
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From 1c0e600bbb7566eba7f3e29d3797de32d211330e Mon Sep 17 00:00:00 2001
7a5d70
From: Arnd Bergmann <arnd@arndb.de>
7a5d70
Date: Wed, 7 Oct 2015 14:10:04 +0200
7a5d70
Subject: [PATCH] RDMA/cxgb4: re-fix 32-bit build warning
7a5d70
7a5d70
Casting a pointer to __be64 produces a warning on 32-bit architectures:
7a5d70
7a5d70
drivers/infiniband/hw/cxgb4/mem.c:147:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
7a5d70
    req->wr.wr_lo = (__force __be64)&wr_wait;
7a5d70
7a5d70
This was fixed at least twice for this driver in different places,
7a5d70
and accidentally reverted once more. This puts the correct version
7a5d70
back in place.
7a5d70
7a5d70
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7a5d70
Fixes: 6198dd8d7a6a7 ("iw_cxgb4: 32b platform fixes")
7a5d70
Signed-off-by: Doug Ledford <dledford@redhat.com>
7a5d70
---
7a5d70
 drivers/infiniband/hw/cxgb4/mem.c | 2 +-
7a5d70
 1 file changed, 1 insertion(+), 1 deletion(-)
7a5d70
7a5d70
diff --git a/drivers/infiniband/hw/cxgb4/mem.c b/drivers/infiniband/hw/cxgb4/mem.c
7a5d70
index 30f0720..65b2474 100644
7a5d70
--- a/drivers/infiniband/hw/cxgb4/mem.c
7a5d70
+++ b/drivers/infiniband/hw/cxgb4/mem.c
7a5d70
@@ -137,7 +137,7 @@ static int _c4iw_write_mem_inline(struct c4iw_rdev *rdev, u32 addr, u32 len,
7a5d70
 		if (i == (num_wqe-1)) {
7a5d70
 			req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR) |
7a5d70
 						    FW_WR_COMPL_F);
7a5d70
-			req->wr.wr_lo = (__force __be64)&wr_wait;
7a5d70
+			req->wr.wr_lo = (__force __be64)(unsigned long)&wr_wait;
7a5d70
 		} else
7a5d70
 			req->wr.wr_hi = cpu_to_be32(FW_WR_OP_V(FW_ULPTX_WR));
7a5d70
 		req->wr.wr_mid = cpu_to_be32(
7a5d70
-- 
7a5d70
1.8.3.1
7a5d70
7a5d70
From 11eee7bee939b945f9daca56c2347c1d8d680a95 Mon Sep 17 00:00:00 2001
7a5d70
From: Arnd Bergmann <arnd@arndb.de>
7a5d70
Date: Wed, 7 Oct 2015 14:29:51 +0200
7a5d70
Subject: [PATCH] IB/core: avoid 32-bit warning
7a5d70
7a5d70
The INIT_UDATA() macro requires a pointer or unsigned long argument for
7a5d70
both input and output buffer, and all callers had a cast from when
7a5d70
the code was merged until a recent restructuring, so now we get
7a5d70
7a5d70
core/uverbs_cmd.c: In function 'ib_uverbs_create_cq':
7a5d70
core/uverbs_cmd.c:1481:66: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
7a5d70
7a5d70
This makes the code behave as before by adding back the cast to
7a5d70
unsigned long.
7a5d70
7a5d70
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7a5d70
Fixes: 565197dd8fb1 ("IB/core: Extend ib_uverbs_create_cq")
7a5d70
Reviewed-by: Yann Droneaud <ydroneaud@opteya.com>
7a5d70
Signed-off-by: Doug Ledford <dledford@redhat.com>
7a5d70
---
7a5d70
 drivers/infiniband/core/uverbs_cmd.c | 2 +-
7a5d70
 1 file changed, 1 insertion(+), 1 deletion(-)
7a5d70
7a5d70
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
7a5d70
index bbb02ff..30f3011 100644
7a5d70
--- a/drivers/infiniband/core/uverbs_cmd.c
7a5d70
+++ b/drivers/infiniband/core/uverbs_cmd.c
7a5d70
@@ -1463,7 +1463,7 @@ ssize_t ib_uverbs_create_cq(struct ib_uverbs_file *file,
7a5d70
 	if (copy_from_user(&cmd, buf, sizeof(cmd)))
7a5d70
 		return -EFAULT;
7a5d70
 
7a5d70
-	INIT_UDATA(&ucore, buf, cmd.response, sizeof(cmd), sizeof(resp));
7a5d70
+	INIT_UDATA(&ucore, buf, (unsigned long)cmd.response, sizeof(cmd), sizeof(resp));
7a5d70
 
7a5d70
 	INIT_UDATA(&uhw, buf + sizeof(cmd),
7a5d70
 		   (unsigned long)cmd.response + sizeof(resp),
7a5d70
-- 
7a5d70
1.8.3.1