IB/hfi1: Fix an Oops on pci device force remove
This patch fixes an Oops on device unbind, when the device is used by a PSM user process. PSM processes access device resources which are freed on device removal. Similar protection exists in uverbs in ib_core for Verbs clients, but PSM doesn't use ib_uverbs hence a separate protection is required for PSM clients. Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Reviewed-by: Dean Luick <dean.luick@intel.com> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
d9ac4555fb
commit
acd7c8fe14
@@ -1174,6 +1174,10 @@ struct hfi1_devdata {
|
||||
spinlock_t aspm_lock;
|
||||
/* Number of verbs contexts which have disabled ASPM */
|
||||
atomic_t aspm_disabled_cnt;
|
||||
/* Keeps track of user space clients */
|
||||
atomic_t user_refcount;
|
||||
/* Used to wait for outstanding user space clients before dev removal */
|
||||
struct completion user_comp;
|
||||
|
||||
struct hfi1_affinity *affinity;
|
||||
struct rhashtable sdma_rht;
|
||||
|
Reference in New Issue
Block a user