summary refs log tree commit diff
path: root/drivers/infiniband/hw/i40iw/i40iw_cm.h
diff options
context:
space:
mode:
authorMustafa Ismail <mustafa.ismail@intel.com>2016-11-30 14:59:26 -0600
committerDoug Ledford <dledford@redhat.com>2016-12-05 16:09:40 -0500
commitd59659340c61e777208524f77c268fe6edc6fe37 (patch)
tree993c3c1da535fb679f35b72d6bd4efa183ea475d /drivers/infiniband/hw/i40iw/i40iw_cm.h
parentf26c7c83395b72f30d111f4e3adb3437c0a30b77 (diff)
downloadlinux-d59659340c61e777208524f77c268fe6edc6fe37.tar.gz
i40iw: Add missing cleanup on device close
On i40iw device close, disconnect all connected QPs by moving
them to error state; and block further QPs, PDs and CQs from
being created. Additionally, make sure all resources have been
freed before deallocating the ibdev as part of the device close.

Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/i40iw/i40iw_cm.h')
-rw-r--r--drivers/infiniband/hw/i40iw/i40iw_cm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/i40iw/i40iw_cm.h b/drivers/infiniband/hw/i40iw/i40iw_cm.h
index 24615c24cb04..0381b7f5e20d 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_cm.h
+++ b/drivers/infiniband/hw/i40iw/i40iw_cm.h
@@ -339,6 +339,7 @@ struct i40iw_cm_node {
 	int accept_pend;
 	struct list_head timer_entry;
 	struct list_head reset_entry;
+	struct list_head connected_entry;
 	atomic_t passive_state;
 	bool qhash_set;
 	u8 user_pri;
@@ -443,4 +444,5 @@ int i40iw_arp_table(struct i40iw_device *iwdev,
 		    u8 *mac_addr,
 		    u32 action);
 
+void i40iw_cm_disconnect_all(struct i40iw_device *iwdev);
 #endif /* I40IW_CM_H */