linux/drivers/infiniband/hw
Michael J. Ruhl b53ae6bc7e IB/hfi1: set_intr_bits uses incorrect source for register modification
HFI IRQ enable bits are not being set correctly.  Send context error and
DC IRQs are not being enabled correctly.  In addition, send context error
IRQs are not being delivered.

Because of this, send context errors are not being handled correctly when
they occur.

When setting the IRQ bits, if an IRQ range is used, and the last bit is on
a register boundary (bit 63), the calculated index for the final register
modification is incorrect (index + 1 vs. index).

The incorrect index calculation causes incorrect IRQ bits to be set.  In
this case the send context error IRQ is NOT enabled.

Fix by using the 'last' value rather than the counted 'src' value to
determine the final index to use.  This satisfies all cases.

Fixes: a2f7bbdc2d ("IB/hfi1: Rework the IRQ API to be more flexible")
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-09-11 11:33:13 -06:00
..
bnxt_re Merge branch 'uverbs_dev_cleanups' into rdma.git for-next 2018-09-05 16:21:22 -06:00
cxgb3 RDMA/providers: Remove pointless functions 2018-07-30 20:31:54 -06:00
cxgb4 iw_cxgb4: only allow 1 flush on user qps 2018-09-04 15:07:56 -06:00
hfi1 IB/hfi1: set_intr_bits uses incorrect source for register modification 2018-09-11 11:33:13 -06:00
hns RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table() 2018-09-11 10:00:23 -06:00
i40iw RDMA/providers: Remove pointless functions 2018-07-30 20:31:54 -06:00
mlx4 Linux 4.18 2018-08-16 13:12:00 -06:00
mlx5 RDMA/mlx5: Allow creating a matcher for a NIC TX flow table 2018-09-11 09:28:07 -06:00
mthca RDMA/providers: Fix return value from create_srq callbacks 2018-07-30 20:29:45 -06:00
nes RDMA/nes: Delete impossible debug prints 2018-09-05 15:58:30 -06:00
ocrdma RDMA/providers: Remove pointless functions 2018-07-30 20:31:54 -06:00
qedr RDMA/qedr: remove set but not used variable 'ctx' 2018-09-05 15:55:22 -06:00
qib IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting 2018-09-11 09:55:02 -06:00
usnic infiniband: remove redundant condition check before debugfs_remove 2018-09-11 09:37:05 -06:00
vmw_pvrdma RDMA/providers: Remove pointless functions 2018-07-30 20:31:54 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00