]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
IB/ipoib: Fix for potential no-carrier state
authorAlex Estrin <alex.estrin@intel.com>
Thu, 1 Feb 2018 18:55:41 +0000 (10:55 -0800)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 1 Feb 2018 22:43:31 +0000 (15:43 -0700)
commit1029361084d18cc270f64dfd39529fafa10cfe01
treef5d35e3c2493f5e28ad4f82df5b4ca641d152fa1
parentb5de809ef6f6c32cfbbf0da14ed11b0fdc0888f8
IB/ipoib: Fix for potential no-carrier state

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>
drivers/infiniband/ulp/ipoib/ipoib_main.c