• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/infiniband/core/

Lines Matching refs:timewait_info

213 	struct cm_timewait_info *timewait_info;
568 *timewait_info)
573 __be64 remote_ca_guid = timewait_info->remote_ca_guid;
574 __be32 remote_id = timewait_info->work.remote_id;
591 timewait_info->inserted_remote_id = 1;
592 rb_link_node(&timewait_info->remote_id_node, parent, link);
593 rb_insert_color(&timewait_info->remote_id_node, &cm.remote_id_table);
601 struct cm_timewait_info *timewait_info;
604 timewait_info = rb_entry(node, struct cm_timewait_info,
606 if (be32_lt(remote_id, timewait_info->work.remote_id))
608 else if (be32_gt(remote_id, timewait_info->work.remote_id))
610 else if (be64_lt(remote_ca_guid, timewait_info->remote_ca_guid))
612 else if (be64_gt(remote_ca_guid, timewait_info->remote_ca_guid))
615 return timewait_info;
621 *timewait_info)
626 __be64 remote_ca_guid = timewait_info->remote_ca_guid;
627 __be32 remote_qpn = timewait_info->remote_qpn;
644 timewait_info->inserted_remote_qp = 1;
645 rb_link_node(&timewait_info->remote_qp_node, parent, link);
646 rb_insert_color(&timewait_info->remote_qp_node, &cm.remote_qp_table);
771 static void cm_cleanup_timewait(struct cm_timewait_info *timewait_info)
773 if (timewait_info->inserted_remote_id) {
774 rb_erase(&timewait_info->remote_id_node, &cm.remote_id_table);
775 timewait_info->inserted_remote_id = 0;
778 if (timewait_info->inserted_remote_qp) {
779 rb_erase(&timewait_info->remote_qp_node, &cm.remote_qp_table);
780 timewait_info->inserted_remote_qp = 0;
786 struct cm_timewait_info *timewait_info;
788 timewait_info = kzalloc(sizeof *timewait_info, GFP_KERNEL);
789 if (!timewait_info)
792 timewait_info->work.local_id = local_id;
793 INIT_DELAYED_WORK(&timewait_info->work.work, cm_work_handler);
794 timewait_info->work.cm_event.event = IB_CM_TIMEWAIT_EXIT;
795 return timewait_info;
804 cm_cleanup_timewait(cm_id_priv->timewait_info);
805 list_add_tail(&cm_id_priv->timewait_info->list, &cm.timewait_list);
815 queue_delayed_work(cm.wq, &cm_id_priv->timewait_info->work.work,
817 cm_id_priv->timewait_info = NULL;
825 if (cm_id_priv->timewait_info) {
827 cm_cleanup_timewait(cm_id_priv->timewait_info);
829 kfree(cm_id_priv->timewait_info);
830 cm_id_priv->timewait_info = NULL;
1119 cm_id_priv->timewait_info = cm_create_timewait_info(cm_id_priv->
1121 if (IS_ERR(cm_id_priv->timewait_info)) {
1122 ret = PTR_ERR(cm_id_priv->timewait_info);
1174 error1: kfree(cm_id_priv->timewait_info);
1430 struct cm_timewait_info *timewait_info;
1437 timewait_info = cm_insert_remote_id(cm_id_priv->timewait_info);
1438 if (timewait_info) {
1439 cur_cm_id_priv = cm_get_id(timewait_info->work.local_id,
1440 timewait_info->work.remote_id);
1450 timewait_info = cm_insert_remote_qpn(cm_id_priv->timewait_info);
1451 if (timewait_info) {
1452 cm_cleanup_timewait(cm_id_priv->timewait_info);
1465 cm_cleanup_timewait(cm_id_priv->timewait_info);
1522 cm_id_priv->timewait_info = cm_create_timewait_info(cm_id_priv->
1524 if (IS_ERR(cm_id_priv->timewait_info)) {
1525 ret = PTR_ERR(cm_id_priv->timewait_info);
1528 cm_id_priv->timewait_info->work.remote_id = req_msg->local_comm_id;
1529 cm_id_priv->timewait_info->remote_ca_guid = req_msg->local_ca_guid;
1530 cm_id_priv->timewait_info->remote_qpn = cm_req_get_local_qpn(req_msg);
1535 kfree(cm_id_priv->timewait_info);
1818 cm_id_priv->timewait_info->work.remote_id = rep_msg->local_comm_id;
1819 cm_id_priv->timewait_info->remote_ca_guid = rep_msg->local_ca_guid;
1820 cm_id_priv->timewait_info->remote_qpn = cm_rep_get_local_qpn(rep_msg);
1824 if (cm_insert_remote_id(cm_id_priv->timewait_info)) {
1831 if (cm_insert_remote_qpn(cm_id_priv->timewait_info)) {
1832 rb_erase(&cm_id_priv->timewait_info->remote_id_node,
1834 cm_id_priv->timewait_info->inserted_remote_id = 0;
2281 struct cm_timewait_info *timewait_info;
2289 timewait_info = cm_find_remote_id( *((__be64 *) rej_msg->ari),
2291 if (!timewait_info) {
2296 (timewait_info->work.local_id ^
2828 struct cm_timewait_info *timewait_info;
2832 timewait_info = (struct cm_timewait_info *)work;
2834 list_del(&timewait_info->list);
2837 cm_id_priv = cm_acquire_id(timewait_info->work.local_id,
2838 timewait_info->work.remote_id);
2844 cm_id_priv->remote_qpn != timewait_info->remote_qpn) {
3821 struct cm_timewait_info *timewait_info, *tmp;
3824 list_for_each_entry(timewait_info, &cm.timewait_list, list)
3825 cancel_delayed_work(&timewait_info->work.work);
3831 list_for_each_entry_safe(timewait_info, tmp, &cm.timewait_list, list) {
3832 list_del(&timewait_info->list);
3833 kfree(timewait_info);