aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Marciniszyn <mike.marciniszyn@intel.com>2015-01-16 10:52:18 -0500
committerRoland Dreier <roland@purestorage.com>2015-02-20 12:04:09 -0500
commita46a2802f7470045714e8086d88a8b966b0753c3 (patch)
tree44b827ad27fd01f6442a89e667c32dc2a6503d1f
parent041af0bb765a5fd3a9206352ed9ec510a554f886 (diff)
IB/qib: Fix checkpatch warnings
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/hw/qib/qib.h7
-rw-r--r--drivers/infiniband/hw/qib/qib_common.h4
-rw-r--r--drivers/infiniband/hw/qib/qib_debugfs.c1
-rw-r--r--drivers/infiniband/hw/qib/qib_eeprom.c6
-rw-r--r--drivers/infiniband/hw/qib/qib_file_ops.c16
-rw-r--r--drivers/infiniband/hw/qib/qib_iba7322.c7
-rw-r--r--drivers/infiniband/hw/qib/qib_init.c7
-rw-r--r--drivers/infiniband/hw/qib/qib_intr.c1
-rw-r--r--drivers/infiniband/hw/qib/qib_pcie.c8
-rw-r--r--drivers/infiniband/hw/qib/qib_qsfp.c9
-rw-r--r--drivers/infiniband/hw/qib/qib_ruc.c4
-rw-r--r--drivers/infiniband/hw/qib/qib_sd7220.c4
-rw-r--r--drivers/infiniband/hw/qib/qib_user_sdma.c6
-rw-r--r--drivers/infiniband/hw/qib/qib_verbs.c4
-rw-r--r--drivers/infiniband/hw/qib/qib_wc_x86_64.c2
15 files changed, 42 insertions, 44 deletions
diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h
index b218254ee41b..ffd48bfc4923 100644
--- a/drivers/infiniband/hw/qib/qib.h
+++ b/drivers/infiniband/hw/qib/qib.h
@@ -1460,11 +1460,14 @@ const char *qib_get_unit_name(int unit);
1460 * Flush write combining store buffers (if present) and perform a write 1460 * Flush write combining store buffers (if present) and perform a write
1461 * barrier. 1461 * barrier.
1462 */ 1462 */
1463static inline void qib_flush_wc(void)
1464{
1463#if defined(CONFIG_X86_64) 1465#if defined(CONFIG_X86_64)
1464#define qib_flush_wc() asm volatile("sfence" : : : "memory") 1466 asm volatile("sfence" : : : "memory");
1465#else 1467#else
1466#define qib_flush_wc() wmb() /* no reorder around wc flush */ 1468 wmb(); /* no reorder around wc flush */
1467#endif 1469#endif
1470}
1468 1471
1469/* global module parameter variables */ 1472/* global module parameter variables */
1470extern unsigned qib_ibmtu; 1473extern unsigned qib_ibmtu;
diff --git a/drivers/infiniband/hw/qib/qib_common.h b/drivers/infiniband/hw/qib/qib_common.h
index 5670ace27c63..4fb78abd8ba1 100644
--- a/drivers/infiniband/hw/qib/qib_common.h
+++ b/drivers/infiniband/hw/qib/qib_common.h
@@ -257,7 +257,7 @@ struct qib_base_info {
257 257
258 /* shared memory page for send buffer disarm status */ 258 /* shared memory page for send buffer disarm status */
259 __u64 spi_sendbuf_status; 259 __u64 spi_sendbuf_status;
260} __attribute__ ((aligned(8))); 260} __aligned(8);
261 261
262/* 262/*
263 * This version number is given to the driver by the user code during 263 * This version number is given to the driver by the user code during
@@ -361,7 +361,7 @@ struct qib_user_info {
361 */ 361 */
362 __u64 spu_base_info; 362 __u64 spu_base_info;
363 363
364} __attribute__ ((aligned(8))); 364} __aligned(8);
365 365
366/* User commands. */ 366/* User commands. */
367 367
diff --git a/drivers/infiniband/hw/qib/qib_debugfs.c b/drivers/infiniband/hw/qib/qib_debugfs.c
index 6abd3ed3cd51..5e75b43c596b 100644
--- a/drivers/infiniband/hw/qib/qib_debugfs.c
+++ b/drivers/infiniband/hw/qib/qib_debugfs.c
@@ -255,7 +255,6 @@ void qib_dbg_ibdev_init(struct qib_ibdev *ibd)
255 DEBUGFS_FILE_CREATE(opcode_stats); 255 DEBUGFS_FILE_CREATE(opcode_stats);
256 DEBUGFS_FILE_CREATE(ctx_stats); 256 DEBUGFS_FILE_CREATE(ctx_stats);
257 DEBUGFS_FILE_CREATE(qp_stats); 257 DEBUGFS_FILE_CREATE(qp_stats);
258 return;
259} 258}
260 259
261void qib_dbg_ibdev_exit(struct qib_ibdev *ibd) 260void qib_dbg_ibdev_exit(struct qib_ibdev *ibd)
diff --git a/drivers/infiniband/hw/qib/qib_eeprom.c b/drivers/infiniband/hw/qib/qib_eeprom.c
index c1a8f448d2a7..4ea642ad7e11 100644
--- a/drivers/infiniband/hw/qib/qib_eeprom.c
+++ b/drivers/infiniband/hw/qib/qib_eeprom.c
@@ -259,9 +259,9 @@ void qib_get_eeprom_info(struct qib_devdata *dd)
259 if (len > sizeof(ifp->if_serial)) 259 if (len > sizeof(ifp->if_serial))
260 len = sizeof(ifp->if_serial); 260 len = sizeof(ifp->if_serial);
261 memcpy(snp, ifp->if_serial, len); 261 memcpy(snp, ifp->if_serial, len);
262 } else 262 } else {
263 memcpy(dd->serial, ifp->if_serial, 263 memcpy(dd->serial, ifp->if_serial, sizeof(ifp->if_serial));
264 sizeof(ifp->if_serial)); 264 }
265 if (!strstr(ifp->if_comment, "Tested successfully")) 265 if (!strstr(ifp->if_comment, "Tested successfully"))
266 qib_dev_err(dd, 266 qib_dev_err(dd,
267 "Board SN %s did not pass functional test: %s\n", 267 "Board SN %s did not pass functional test: %s\n",
diff --git a/drivers/infiniband/hw/qib/qib_file_ops.c b/drivers/infiniband/hw/qib/qib_file_ops.c
index b16ceb241db3..30bb16efb378 100644
--- a/drivers/infiniband/hw/qib/qib_file_ops.c
+++ b/drivers/infiniband/hw/qib/qib_file_ops.c
@@ -351,9 +351,10 @@ static int qib_tid_update(struct qib_ctxtdata *rcd, struct file *fp,
351 * unless perhaps the user has mpin'ed the pages 351 * unless perhaps the user has mpin'ed the pages
352 * themselves. 352 * themselves.
353 */ 353 */
354 qib_devinfo(dd->pcidev, 354 qib_devinfo(
355 "Failed to lock addr %p, %u pages: " 355 dd->pcidev,
356 "errno %d\n", (void *) vaddr, cnt, -ret); 356 "Failed to lock addr %p, %u pages: errno %d\n",
357 (void *) vaddr, cnt, -ret);
357 goto done; 358 goto done;
358 } 359 }
359 for (i = 0; i < cnt; i++, vaddr += PAGE_SIZE) { 360 for (i = 0; i < cnt; i++, vaddr += PAGE_SIZE) {
@@ -951,8 +952,8 @@ static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr,
951 /* rcvegrbufs are read-only on the slave */ 952 /* rcvegrbufs are read-only on the slave */
952 if (vma->vm_flags & VM_WRITE) { 953 if (vma->vm_flags & VM_WRITE) {
953 qib_devinfo(dd->pcidev, 954 qib_devinfo(dd->pcidev,
954 "Can't map eager buffers as " 955 "Can't map eager buffers as writable (flags=%lx)\n",
955 "writable (flags=%lx)\n", vma->vm_flags); 956 vma->vm_flags);
956 ret = -EPERM; 957 ret = -EPERM;
957 goto bail; 958 goto bail;
958 } 959 }
@@ -1247,10 +1248,7 @@ static int init_subctxts(struct qib_devdata *dd,
1247 if (!qib_compatible_subctxts(uinfo->spu_userversion >> 16, 1248 if (!qib_compatible_subctxts(uinfo->spu_userversion >> 16,
1248 uinfo->spu_userversion & 0xffff)) { 1249 uinfo->spu_userversion & 0xffff)) {
1249 qib_devinfo(dd->pcidev, 1250 qib_devinfo(dd->pcidev,
1250 "Mismatched user version (%d.%d) and driver " 1251 "Mismatched user version (%d.%d) and driver version (%d.%d) while context sharing. Ensure that driver and library are from the same release.\n",
1251 "version (%d.%d) while context sharing. Ensure "
1252 "that driver and library are from the same "
1253 "release.\n",
1254 (int) (uinfo->spu_userversion >> 16), 1252 (int) (uinfo->spu_userversion >> 16),
1255 (int) (uinfo->spu_userversion & 0xffff), 1253 (int) (uinfo->spu_userversion & 0xffff),
1256 QIB_USER_SWMAJOR, QIB_USER_SWMINOR); 1254 QIB_USER_SWMAJOR, QIB_USER_SWMINOR);
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index 900ec6ea8122..4cda560bfc5c 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -117,7 +117,7 @@ MODULE_PARM_DESC(chase, "Enable state chase handling");
117 117
118static ushort qib_long_atten = 10; /* 10 dB ~= 5m length */ 118static ushort qib_long_atten = 10; /* 10 dB ~= 5m length */
119module_param_named(long_attenuation, qib_long_atten, ushort, S_IRUGO); 119module_param_named(long_attenuation, qib_long_atten, ushort, S_IRUGO);
120MODULE_PARM_DESC(long_attenuation, \ 120MODULE_PARM_DESC(long_attenuation,
121 "attenuation cutoff (dB) for long copper cable setup"); 121 "attenuation cutoff (dB) for long copper cable setup");
122 122
123static ushort qib_singleport; 123static ushort qib_singleport;
@@ -153,7 +153,7 @@ static struct kparam_string kp_txselect = {
153static int setup_txselect(const char *, struct kernel_param *); 153static int setup_txselect(const char *, struct kernel_param *);
154module_param_call(txselect, setup_txselect, param_get_string, 154module_param_call(txselect, setup_txselect, param_get_string,
155 &kp_txselect, S_IWUSR | S_IRUGO); 155 &kp_txselect, S_IWUSR | S_IRUGO);
156MODULE_PARM_DESC(txselect, \ 156MODULE_PARM_DESC(txselect,
157 "Tx serdes indices (for no QSFP or invalid QSFP data)"); 157 "Tx serdes indices (for no QSFP or invalid QSFP data)");
158 158
159#define BOARD_QME7342 5 159#define BOARD_QME7342 5
@@ -6584,8 +6584,7 @@ static int qib_init_7322_variables(struct qib_devdata *dd)
6584 ppd->vls_supported = IB_VL_VL0_7; 6584 ppd->vls_supported = IB_VL_VL0_7;
6585 else { 6585 else {
6586 qib_devinfo(dd->pcidev, 6586 qib_devinfo(dd->pcidev,
6587 "Invalid num_vls %u for MTU %d " 6587 "Invalid num_vls %u for MTU %d , using 4 VLs\n",
6588 ", using 4 VLs\n",
6589 qib_num_cfg_vls, mtu); 6588 qib_num_cfg_vls, mtu);
6590 ppd->vls_supported = IB_VL_VL0_3; 6589 ppd->vls_supported = IB_VL_VL0_3;
6591 qib_num_cfg_vls = 4; 6590 qib_num_cfg_vls = 4;
diff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c
index 738269b46d83..9f62546a3eac 100644
--- a/drivers/infiniband/hw/qib/qib_init.c
+++ b/drivers/infiniband/hw/qib/qib_init.c
@@ -140,7 +140,7 @@ int qib_create_ctxts(struct qib_devdata *dd)
140 * Allocate full ctxtcnt array, rather than just cfgctxts, because 140 * Allocate full ctxtcnt array, rather than just cfgctxts, because
141 * cleanup iterates across all possible ctxts. 141 * cleanup iterates across all possible ctxts.
142 */ 142 */
143 dd->rcd = kzalloc(sizeof(*dd->rcd) * dd->ctxtcnt, GFP_KERNEL); 143 dd->rcd = kcalloc(dd->ctxtcnt, sizeof(*dd->rcd), GFP_KERNEL);
144 if (!dd->rcd) { 144 if (!dd->rcd) {
145 qib_dev_err(dd, 145 qib_dev_err(dd,
146 "Unable to allocate ctxtdata array, failing\n"); 146 "Unable to allocate ctxtdata array, failing\n");
@@ -1025,8 +1025,7 @@ static void qib_verify_pioperf(struct qib_devdata *dd)
1025 addr = vmalloc(cnt); 1025 addr = vmalloc(cnt);
1026 if (!addr) { 1026 if (!addr) {
1027 qib_devinfo(dd->pcidev, 1027 qib_devinfo(dd->pcidev,
1028 "Couldn't get memory for checking PIO perf," 1028 "Couldn't get memory for checking PIO perf, skipping\n");
1029 " skipping\n");
1030 goto done; 1029 goto done;
1031 } 1030 }
1032 1031
@@ -1178,7 +1177,7 @@ bail:
1178 if (!list_empty(&dd->list)) 1177 if (!list_empty(&dd->list))
1179 list_del_init(&dd->list); 1178 list_del_init(&dd->list);
1180 ib_dealloc_device(&dd->verbs_dev.ibdev); 1179 ib_dealloc_device(&dd->verbs_dev.ibdev);
1181 return ERR_PTR(ret);; 1180 return ERR_PTR(ret);
1182} 1181}
1183 1182
1184/* 1183/*
diff --git a/drivers/infiniband/hw/qib/qib_intr.c b/drivers/infiniband/hw/qib/qib_intr.c
index f4918f2165ec..086616d071b9 100644
--- a/drivers/infiniband/hw/qib/qib_intr.c
+++ b/drivers/infiniband/hw/qib/qib_intr.c
@@ -168,7 +168,6 @@ skip_ibchange:
168 ppd->lastibcstat = ibcs; 168 ppd->lastibcstat = ibcs;
169 if (ev) 169 if (ev)
170 signal_ib_event(ppd, ev); 170 signal_ib_event(ppd, ev);
171 return;
172} 171}
173 172
174void qib_clear_symerror_on_linkup(unsigned long opaque) 173void qib_clear_symerror_on_linkup(unsigned long opaque)
diff --git a/drivers/infiniband/hw/qib/qib_pcie.c b/drivers/infiniband/hw/qib/qib_pcie.c
index 61a0046efb76..243f8065dcad 100644
--- a/drivers/infiniband/hw/qib/qib_pcie.c
+++ b/drivers/infiniband/hw/qib/qib_pcie.c
@@ -210,7 +210,7 @@ static void qib_msix_setup(struct qib_devdata *dd, int pos, u32 *msixcnt,
210 /* We can't pass qib_msix_entry array to qib_msix_setup 210 /* We can't pass qib_msix_entry array to qib_msix_setup
211 * so use a dummy msix_entry array and copy the allocated 211 * so use a dummy msix_entry array and copy the allocated
212 * irq back to the qib_msix_entry array. */ 212 * irq back to the qib_msix_entry array. */
213 msix_entry = kmalloc(nvec * sizeof(*msix_entry), GFP_KERNEL); 213 msix_entry = kcalloc(nvec, sizeof(*msix_entry), GFP_KERNEL);
214 if (!msix_entry) 214 if (!msix_entry)
215 goto do_intx; 215 goto do_intx;
216 216
@@ -234,8 +234,10 @@ free_msix_entry:
234 kfree(msix_entry); 234 kfree(msix_entry);
235 235
236do_intx: 236do_intx:
237 qib_dev_err(dd, "pci_enable_msix_range %d vectors failed: %d, " 237 qib_dev_err(
238 "falling back to INTx\n", nvec, ret); 238 dd,
239 "pci_enable_msix_range %d vectors failed: %d, falling back to INTx\n",
240 nvec, ret);
239 *msixcnt = 0; 241 *msixcnt = 0;
240 qib_enable_intx(dd->pcidev); 242 qib_enable_intx(dd->pcidev);
241} 243}
diff --git a/drivers/infiniband/hw/qib/qib_qsfp.c b/drivers/infiniband/hw/qib/qib_qsfp.c
index fa71b1e666c5..98a2c251b92a 100644
--- a/drivers/infiniband/hw/qib/qib_qsfp.c
+++ b/drivers/infiniband/hw/qib/qib_qsfp.c
@@ -81,7 +81,7 @@ static int qsfp_read(struct qib_pportdata *ppd, int addr, void *bp, int len)
81 * Module could take up to 2 Msec to respond to MOD_SEL, and there 81 * Module could take up to 2 Msec to respond to MOD_SEL, and there
82 * is no way to tell if it is ready, so we must wait. 82 * is no way to tell if it is ready, so we must wait.
83 */ 83 */
84 msleep(2); 84 msleep(20);
85 85
86 /* Make sure TWSI bus is in sane state. */ 86 /* Make sure TWSI bus is in sane state. */
87 ret = qib_twsi_reset(dd); 87 ret = qib_twsi_reset(dd);
@@ -139,7 +139,7 @@ deselect:
139 else if (pass) 139 else if (pass)
140 qib_dev_porterr(dd, ppd->port, "QSFP retries: %d\n", pass); 140 qib_dev_porterr(dd, ppd->port, "QSFP retries: %d\n", pass);
141 141
142 msleep(2); 142 msleep(20);
143 143
144bail: 144bail:
145 mutex_unlock(&dd->eep_lock); 145 mutex_unlock(&dd->eep_lock);
@@ -189,7 +189,7 @@ static int qib_qsfp_write(struct qib_pportdata *ppd, int addr, void *bp,
189 * Module could take up to 2 Msec to respond to MOD_SEL, 189 * Module could take up to 2 Msec to respond to MOD_SEL,
190 * and there is no way to tell if it is ready, so we must wait. 190 * and there is no way to tell if it is ready, so we must wait.
191 */ 191 */
192 msleep(2); 192 msleep(20);
193 193
194 /* Make sure TWSI bus is in sane state. */ 194 /* Make sure TWSI bus is in sane state. */
195 ret = qib_twsi_reset(dd); 195 ret = qib_twsi_reset(dd);
@@ -234,7 +234,7 @@ deselect:
234 * going away, and there is no way to tell if it is ready. 234 * going away, and there is no way to tell if it is ready.
235 * so we must wait. 235 * so we must wait.
236 */ 236 */
237 msleep(2); 237 msleep(20);
238 238
239bail: 239bail:
240 mutex_unlock(&dd->eep_lock); 240 mutex_unlock(&dd->eep_lock);
@@ -480,7 +480,6 @@ void qib_qsfp_init(struct qib_qsfp_data *qd,
480 udelay(20); /* Generous RST dwell */ 480 udelay(20); /* Generous RST dwell */
481 481
482 dd->f_gpio_mod(dd, mask, mask, mask); 482 dd->f_gpio_mod(dd, mask, mask, mask);
483 return;
484} 483}
485 484
486void qib_qsfp_deinit(struct qib_qsfp_data *qd) 485void qib_qsfp_deinit(struct qib_qsfp_data *qd)
diff --git a/drivers/infiniband/hw/qib/qib_ruc.c b/drivers/infiniband/hw/qib/qib_ruc.c
index 45353a4fe802..f42bd0f47577 100644
--- a/drivers/infiniband/hw/qib/qib_ruc.c
+++ b/drivers/infiniband/hw/qib/qib_ruc.c
@@ -247,8 +247,8 @@ static __be64 get_sguid(struct qib_ibport *ibp, unsigned index)
247 struct qib_pportdata *ppd = ppd_from_ibp(ibp); 247 struct qib_pportdata *ppd = ppd_from_ibp(ibp);
248 248
249 return ppd->guid; 249 return ppd->guid;
250 } else 250 }
251 return ibp->guids[index - 1]; 251 return ibp->guids[index - 1];
252} 252}
253 253
254static int gid_ok(union ib_gid *gid, __be64 gid_prefix, __be64 id) 254static int gid_ok(union ib_gid *gid, __be64 gid_prefix, __be64 id)
diff --git a/drivers/infiniband/hw/qib/qib_sd7220.c b/drivers/infiniband/hw/qib/qib_sd7220.c
index 911205d3d5a0..071f2494a9c0 100644
--- a/drivers/infiniband/hw/qib/qib_sd7220.c
+++ b/drivers/infiniband/hw/qib/qib_sd7220.c
@@ -922,7 +922,7 @@ qib_sd7220_ib_vfy(struct qib_devdata *dd, const struct firmware *fw)
922 * IRQ not set up at this point in init, so we poll. 922 * IRQ not set up at this point in init, so we poll.
923 */ 923 */
924#define IB_SERDES_TRIM_DONE (1ULL << 11) 924#define IB_SERDES_TRIM_DONE (1ULL << 11)
925#define TRIM_TMO (30) 925#define TRIM_TMO (15)
926 926
927static int qib_sd_trimdone_poll(struct qib_devdata *dd) 927static int qib_sd_trimdone_poll(struct qib_devdata *dd)
928{ 928{
@@ -940,7 +940,7 @@ static int qib_sd_trimdone_poll(struct qib_devdata *dd)
940 ret = 1; 940 ret = 1;
941 break; 941 break;
942 } 942 }
943 msleep(10); 943 msleep(20);
944 } 944 }
945 if (trim_tmo >= TRIM_TMO) { 945 if (trim_tmo >= TRIM_TMO) {
946 qib_dev_err(dd, "No TRIMDONE in %d tries\n", trim_tmo); 946 qib_dev_err(dd, "No TRIMDONE in %d tries\n", trim_tmo);
diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c b/drivers/infiniband/hw/qib/qib_user_sdma.c
index d2806cae234c..a2b8236e2864 100644
--- a/drivers/infiniband/hw/qib/qib_user_sdma.c
+++ b/drivers/infiniband/hw/qib/qib_user_sdma.c
@@ -50,7 +50,7 @@
50/* expected size of headers (for dma_pool) */ 50/* expected size of headers (for dma_pool) */
51#define QIB_USER_SDMA_EXP_HEADER_LENGTH 64 51#define QIB_USER_SDMA_EXP_HEADER_LENGTH 64
52/* attempt to drain the queue for 5secs */ 52/* attempt to drain the queue for 5secs */
53#define QIB_USER_SDMA_DRAIN_TIMEOUT 500 53#define QIB_USER_SDMA_DRAIN_TIMEOUT 250
54 54
55/* 55/*
56 * track how many times a process open this driver. 56 * track how many times a process open this driver.
@@ -1142,7 +1142,7 @@ void qib_user_sdma_queue_drain(struct qib_pportdata *ppd,
1142 qib_user_sdma_hwqueue_clean(ppd); 1142 qib_user_sdma_hwqueue_clean(ppd);
1143 qib_user_sdma_queue_clean(ppd, pq); 1143 qib_user_sdma_queue_clean(ppd, pq);
1144 mutex_unlock(&pq->lock); 1144 mutex_unlock(&pq->lock);
1145 msleep(10); 1145 msleep(20);
1146 } 1146 }
1147 1147
1148 if (pq->num_pending || pq->num_sending) { 1148 if (pq->num_pending || pq->num_sending) {
@@ -1316,8 +1316,6 @@ retry:
1316 1316
1317 if (nfree && !list_empty(pktlist)) 1317 if (nfree && !list_empty(pktlist))
1318 goto retry; 1318 goto retry;
1319
1320 return;
1321} 1319}
1322 1320
1323/* pq->lock must be held, get packets on the wire... */ 1321/* pq->lock must be held, get packets on the wire... */
diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
index 10233e4d7ef1..846e9daededa 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -2054,7 +2054,9 @@ int qib_register_ib_device(struct qib_devdata *dd)
2054 2054
2055 dev->qp_table_size = ib_qib_qp_table_size; 2055 dev->qp_table_size = ib_qib_qp_table_size;
2056 get_random_bytes(&dev->qp_rnd, sizeof(dev->qp_rnd)); 2056 get_random_bytes(&dev->qp_rnd, sizeof(dev->qp_rnd));
2057 dev->qp_table = kmalloc(dev->qp_table_size * sizeof(*dev->qp_table), 2057 dev->qp_table = kmalloc_array(
2058 dev->qp_table_size,
2059 sizeof(*dev->qp_table),
2058 GFP_KERNEL); 2060 GFP_KERNEL);
2059 if (!dev->qp_table) { 2061 if (!dev->qp_table) {
2060 ret = -ENOMEM; 2062 ret = -ENOMEM;
diff --git a/drivers/infiniband/hw/qib/qib_wc_x86_64.c b/drivers/infiniband/hw/qib/qib_wc_x86_64.c
index 1d7281c5a02e..a9cbcf51d4f2 100644
--- a/drivers/infiniband/hw/qib/qib_wc_x86_64.c
+++ b/drivers/infiniband/hw/qib/qib_wc_x86_64.c
@@ -91,7 +91,7 @@ int qib_enable_wc(struct qib_devdata *dd)
91 } 91 }
92 92
93 for (bits = 0; !(piolen & (1ULL << bits)); bits++) 93 for (bits = 0; !(piolen & (1ULL << bits)); bits++)
94 /* do nothing */ ; 94 ; /* do nothing */
95 95
96 if (piolen != (1ULL << bits)) { 96 if (piolen != (1ULL << bits)) {
97 piolen >>= bits; 97 piolen >>= bits;