linux/drivers/infiniband/hw/hfi1
Don Hiatt 4988be5813 IB/hfi1: Do not warn on lid conversions for OPA
On OPA devices opa_local_smp_check will receive 32Bit LIDs when the LID
is Extended. In such cases, it is okay to lose the upper 16 bits of the
LID as this information is obtained elsewhere. Do not issue a warning
when calling ib_lid_cpu16() in this case by masking out the upper 16Bits.

[75920.148985] ------------[ cut here ]------------
[75920.154651] WARNING: CPU: 0 PID: 1718 at ./include/rdma/ib_verbs.h:3788 hfi1_process_mad+0x1c1f/0x1c80 [hfi1]
[75920.166192] Modules linked in: ib_ipoib hfi1(E) rdmavt(E) rdma_ucm(E) ib_ucm(E) rdma_cm(E) ib_cm(E) iw_cm(E) ib_umad(E) ib_uverbs(E) ib_core(E) libiscsi scsi_transport_iscsi dm_mirror dm_region_hash dm_log dm_mod dax x86_pkg_temp_thermal intel_powerclamp coretemp kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel mei_me ipmi_si iTCO_wdt iTCO_vendor_support crypto_simd ipmi_devintf pcspkr mei sg i2c_i801 glue_helper lpc_ich shpchp ioatdma mfd_core wmi ipmi_msghandler cryptd acpi_power_meter acpi_pad nfsd auth_rpcgss nfs_acl lockd grace sunrpc ip_tables xfs libcrc32c sd_mod mgag200 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm drm igb ptp ahci libahci pps_core crc32c_intel libata dca i2c_algo_bit i2c_core [last unloaded: ib_core]
[75920.246331] CPU: 0 PID: 1718 Comm: kworker/0:1H Tainted: G        W I E   4.13.0-rc7+ #1
[75920.255907] Hardware name: Intel Corporation S2600WT2/S2600WT2, BIOS SE5C610.86B.01.01.0008.021120151325 02/11/2015
[75920.268158] Workqueue: ib-comp-wq ib_cq_poll_work [ib_core]
[75920.274934] task: ffff88084a718000 task.stack: ffffc9000a424000
[75920.282123] RIP: 0010:hfi1_process_mad+0x1c1f/0x1c80 [hfi1]
[75920.288881] RSP: 0018:ffffc9000a427c38 EFLAGS: 00010206
[75920.295265] RAX: 0000000000010001 RBX: ffff8808361420e8 RCX: ffff880837811d80
[75920.303784] RDX: 0000000000000002 RSI: 0000000000007fff RDI: ffff880837811d80
[75920.312302] RBP: ffffc9000a427d38 R08: 0000000000000000 R09: ffff8808361420e8
[75920.320819] R10: ffff88083841f0e8 R11: ffffc9000a427da8 R12: 0000000000000001
[75920.329335] R13: ffff880837810000 R14: 0000000000000000 R15: ffff88084f1a4800
[75920.337849] FS:  0000000000000000(0000) GS:ffff88085f400000(0000) knlGS:0000000000000000
[75920.347450] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[75920.354405] CR2: 00007f9e4b3d9000 CR3: 0000000001c09000 CR4: 00000000001406f0
[75920.362947] Call Trace:
[75920.366257]  ? ib_mad_recv_done+0x258/0x9b0 [ib_core]
[75920.372457]  ? ib_mad_recv_done+0x258/0x9b0 [ib_core]
[75920.378652]  ? __kmalloc+0x1df/0x210
[75920.383229]  ib_mad_recv_done+0x305/0x9b0 [ib_core]
[75920.389270]  __ib_process_cq+0x5d/0xb0 [ib_core]
[75920.395032]  ib_cq_poll_work+0x20/0x60 [ib_core]
[75920.400777]  process_one_work+0x149/0x360
[75920.405836]  worker_thread+0x4d/0x3c0
[75920.410505]  kthread+0x109/0x140
[75920.414681]  ? rescuer_thread+0x380/0x380
[75920.419731]  ? kthread_park+0x60/0x60
[75920.424406]  ret_from_fork+0x25/0x30
[75920.428972] Code: 4c 89 9d 58 ff ff ff 49 89 45 00 66 b8 00 02 49 89 45 08 e8 44 27 89 e0 4c 8b 9d 58 ff ff ff e9 d8 f6 ff ff 0f ff e9 55 e7 ff ff <0f> ff e9 3b e5 ff ff 0f ff 0f 1f 84 00 00 00 00 00 e9 4b e9 ff
[75921.451269] ---[ end trace cf26df27c9597265 ]---

Fixes: 62ede77799 ("Add OPA extended LID support")
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-10-04 15:39:45 -04:00
..
affinity.c IB/hfi1: Replace deprecated pci functions with new API 2017-06-27 16:58:11 -04:00
affinity.h IB/hfi1: Name function prototype parameters for affinity module 2017-06-27 16:56:33 -04:00
aspm.h IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
chip_registers.h RDMA/hfi1: Defer setting VL15 credits to link-up interrupt 2017-06-01 17:04:20 -04:00
chip.c IB/rdmavt: Correct issues with read-mostly and send size cache lines 2017-10-04 15:39:45 -04:00
chip.h IB/hfi1: Prevent LNI out of sync by resetting host interface version 2017-10-04 15:39:45 -04:00
common.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
debugfs.c IB/hfi1: Add a safe wrapper for _rcd_get_by_index 2017-09-27 11:34:13 -04:00
debugfs.h IB/hfi1: Add transmit fault injection feature 2017-04-05 14:45:09 -04:00
device.c infiniband: utilize the new cdev_set_parent function 2017-03-21 06:44:33 +01:00
device.h
driver.c IB/hfi1: Add a safe wrapper for _rcd_get_by_index 2017-09-27 11:34:13 -04:00
efivar.c IB/hfi1: Check upper-case EFI variables 2017-02-19 09:18:37 -05:00
efivar.h
eprom.c IB/hfi1: Handle missing magic values in config file 2017-06-27 16:58:13 -04:00
eprom.h IB/hfi1: Add ability to read platform config from the EPROM 2016-10-02 08:42:20 -04:00
exp_rcv.c IB/hfi1: Initialize TID lists to avoid crash on cleanup 2017-06-27 16:58:13 -04:00
exp_rcv.h IB/hfi1: Fix bar0 mapping to use write combining 2017-07-31 15:17:54 -04:00
file_ops.c IB/hfi1: Refactor reset_ctxt() IOCTL 2017-09-29 11:08:06 -04:00
firmware.c IB/hfi1: Prevent LNI out of sync by resetting host interface version 2017-10-04 15:39:45 -04:00
hfi.h IB/hfi1: Fix incorrect available receive user context count 2017-10-04 15:39:44 -04:00
init.c IB/hfi1: Add a safe wrapper for _rcd_get_by_index 2017-09-27 11:34:13 -04:00
intr.c IB/hfi1: Verify port data VLs credits on transition to Armed 2017-07-31 15:18:37 -04:00
iowait.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
Kconfig IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
mad.c IB/hfi1: Do not warn on lid conversions for OPA 2017-10-04 15:39:45 -04:00
mad.h IB/hfi1: Send MAD traps until repressed 2017-07-31 15:17:55 -04:00
Makefile IB/hfi1: Create common expected receive verbs/PSM code 2017-06-27 16:58:13 -04:00
mmu_rb.c lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
mmu_rb.h IB/hfi1: Don't remove RB entry when not needed. 2017-06-27 16:56:33 -04:00
opa_compat.h IB/hfi1: Document phys port state bits not used in IB 2017-08-22 14:22:37 -04:00
pcie.c IB/hfi1: Move saving PCI values to a separate function 2017-07-31 15:18:37 -04:00
pio_copy.c IB/hfi1: Optimize pio_buf and send_context structs 2016-11-15 16:37:27 -05:00
pio.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
pio.h IB/hfi: Fix up comments in engine mapping 2017-04-25 15:24:51 -04:00
platform.c IB/hfi1: Acquire QSFP cable information on loopback 2017-08-28 19:12:26 -04:00
platform.h IB/hfi1: Define platform_config_table_limits once 2016-12-11 15:29:42 -05:00
qp.c IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
qp.h IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
qsfp.c IB/hfi1: Extend i2c timeout 2016-10-02 08:42:13 -04:00
qsfp.h IB/hfi1: Fetch monitor values on-demand for CableInfo query 2016-08-22 14:31:41 -04:00
rc.c IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation 2017-08-28 19:12:16 -04:00
ruc.c IB/hfi1: Add 16B RC/UC support 2017-08-22 14:22:37 -04:00
sdma_txreq.h
sdma.c IB/hfi1: Set default_desc1 just one time 2017-09-27 11:34:13 -04:00
sdma.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
sysfs.c IB/hfi1: Fix incorrect available receive user context count 2017-10-04 15:39:44 -04:00
trace_ctxts.h IB/hfi1: Clean up context initialization 2017-05-04 19:31:46 -04:00
trace_dbg.h IB/hfi1: Separate tracepoints into specific headers 2016-08-02 12:00:54 -04:00
trace_ibhdrs.h IB/hfi1: Fix output trace issues from 16B change 2017-10-04 15:39:44 -04:00
trace_misc.h IB/hfi1: Add traces for TID operations 2017-06-27 16:58:13 -04:00
trace_mmu.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace_rc.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
trace_rx.h IB/hfi1: Extend input hdr tracing for packet type 2017-09-27 11:34:13 -04:00
trace_tx.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace.c IB/hfi1: Extend input hdr tracing for packet type 2017-09-27 11:34:13 -04:00
trace.h IB/hfi1: Extend input hdr tracing for packet type 2017-09-27 11:34:13 -04:00
uc.c IB/hfi1: Add 16B RC/UC support 2017-08-22 14:22:37 -04:00
ud.c IB/hfi1: Add 16B UD support 2017-08-22 14:22:37 -04:00
user_exp_rcv.c IB/hfi1: Refactor hfi_user_exp_rcv_invalid() IOCTLs 2017-09-29 11:08:06 -04:00
user_exp_rcv.h IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h 2017-08-28 19:12:22 -04:00
user_pages.c IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
user_sdma.c IB/hfi1: Remove the debug trace message in pin_sdma_pages() 2017-09-27 11:34:13 -04:00
user_sdma.h IB/hfi1: Convert the macro AHG_HEADER_SET into an inline function 2017-09-27 11:34:13 -04:00
verbs_txreq.c IB/hfi1: Improve local kmem_cache_alloc performance 2017-08-28 19:12:18 -04:00
verbs_txreq.h IB/hfi1: Remove dependence on qp->s_cur_size 2016-12-11 15:25:13 -05:00
verbs.c IB/hfi1: Enable RDMA_CAP_OPA_AH in hfi driver to support extended LIDs 2017-08-22 14:22:37 -04:00
verbs.h IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
vnic_main.c IB/hfi1: Fix incorrect available receive user context count 2017-10-04 15:39:44 -04:00
vnic_sdma.c IB/hfi1: Improve local kmem_cache_alloc performance 2017-08-28 19:12:18 -04:00
vnic.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00