On Sun, Apr 26, 2020 at 10:58:11AM +0300, Leon Romanovsky wrote: > From: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> > > The IB core pkey cache is populated by procedure ib_cache_update(). > Initially, the pkey cache pointer is NULL. ib_cache_update allocates > a buffer and populates it with the device's pkeys, via repeated calls > to procedure ib_query_pkey(). > > If there is a failure in populating the pkey buffer via ib_query_pkey(), > ib_cache_update does not replace the old pkey buffer cache with the > updated one -- it leaves the old cache as is. The bug described here is that ib_cache_setup_one() ignores the return codes from ib_cache_update() Device registration should fail if the cache could not be loaded, just fix ib_cache_setup_one() Jason