android_kernel_oneplus_msm8998/drivers/infiniband/ulp/ipoib
Alex Estrin cabf4efd07 IB/ipoib: Fix for potential no-carrier state
[ Upstream commit 1029361084d18cc270f64dfd39529fafa10cfe01 ]

On reboot SM can program port pkey table before ipoib registered its
event handler, which could result in missing pkey event and leave root
interface with initial pkey value from index 0.

Since OPA port starts with invalid pkey in index 0, root interface will
fail to initialize and stay down with no-carrier flag.

For IB ipoib interface may end up with pkey different from value
opensm put in pkey table idx 0, resulting in connectivity issues
(different mcast groups, for example).

Close the window by calling event handler after registration
to make sure ipoib pkey is in sync with port pkey table.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Alex Estrin <alex.estrin@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-30 07:48:55 +02:00
..
ipoib.h IB/ipoib: move back IB LL address into the hard header 2017-02-01 08:30:53 +01:00
ipoib_cm.c IB/ipoib: Change list_del to list_del_init in the tx object 2017-11-15 17:13:11 +01:00
ipoib_ethtool.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ipoib_fs.c IB/IPoIB: ibX: failed to create mcg debug file 2017-05-20 14:27:00 +02:00
ipoib_ib.c IB/ipoib: Update broadcast object if PKey value was changed in index 0 2018-03-24 10:58:42 +01:00
ipoib_main.c IB/ipoib: Fix for potential no-carrier state 2018-05-30 07:48:55 +02:00
ipoib_multicast.c IB/ipoib: Fix deadlock between ipoib_stop and mcast join flow 2018-03-24 10:58:42 +01:00
ipoib_netlink.c
ipoib_verbs.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
ipoib_vlan.c IB/ipoib: rtnl_unlock can not come after free_netdev 2017-10-08 10:14:17 +02:00
Kconfig
Makefile