Home
last modified time | relevance | path

Searched refs:tcon (Results 1 – 25 of 86) sorted by relevance

1234

/linux/drivers/gpu/drm/sun4i/
H A Dsun4i_tcon.c84 static void sun4i_tcon_channel_set_status(struct sun4i_tcon *tcon, int channel, in sun4i_tcon_channel_set_status() argument
91 WARN_ON(!tcon->quirks->has_channel_0); in sun4i_tcon_channel_set_status()
92 regmap_update_bits(tcon->regs, SUN4I_TCON0_CTL_REG, in sun4i_tcon_channel_set_status()
95 clk = tcon->dclk; in sun4i_tcon_channel_set_status()
98 WARN_ON(!tcon->quirks->has_channel_1); in sun4i_tcon_channel_set_status()
99 regmap_update_bits(tcon->regs, SUN4I_TCON1_CTL_REG, in sun4i_tcon_channel_set_status()
102 clk = tcon->sclk1; in sun4i_tcon_channel_set_status()
118 static void sun4i_tcon_setup_lvds_phy(struct sun4i_tcon *tcon, in sun4i_tcon_setup_lvds_phy() argument
121 regmap_write(tcon->regs, SUN4I_TCON0_LVDS_ANA0_REG, in sun4i_tcon_setup_lvds_phy()
130 regmap_update_bits(tcon->regs, SUN4I_TCON0_LVDS_ANA1_REG, in sun4i_tcon_setup_lvds_phy()
[all …]
H A Dsun4i_tcon_dclk.c18 struct sun4i_tcon *tcon; member
74 struct sun4i_tcon *tcon = dclk->tcon; in sun4i_dclk_round_rate() local
79 for (i = tcon->dclk_min_div; i <= tcon->dclk_max_div; i++) { in sun4i_dclk_round_rate()
165 int sun4i_dclk_create(struct device *dev, struct sun4i_tcon *tcon) in sun4i_dclk_create() argument
172 parent_name = __clk_get_name(tcon->sclk0); in sun4i_dclk_create()
182 dclk->tcon = tcon; in sun4i_dclk_create()
190 dclk->regmap = tcon->regs; in sun4i_dclk_create()
193 tcon->dclk = clk_register(dev, &dclk->hw); in sun4i_dclk_create()
194 if (IS_ERR(tcon->dclk)) in sun4i_dclk_create()
195 return PTR_ERR(tcon->dclk); in sun4i_dclk_create()
[all …]
H A Dsun4i_rgb.c27 struct sun4i_tcon *tcon; member
66 struct sun4i_tcon *tcon = rgb->tcon; in sun4i_rgb_mode_valid() local
121 tcon->dclk_min_div = 6; in sun4i_rgb_mode_valid()
122 tcon->dclk_max_div = 127; in sun4i_rgb_mode_valid()
123 rounded_rate = clk_round_rate(tcon->dclk, rate); in sun4i_rgb_mode_valid()
189 int sun4i_rgb_init(struct drm_device *drm, struct sun4i_tcon *tcon) in sun4i_rgb_init() argument
198 rgb->tcon = tcon; in sun4i_rgb_init()
201 ret = drm_of_find_panel_or_bridge(tcon->dev->of_node, 1, 0, in sun4i_rgb_init()
218 rgb->encoder.possible_crtcs = drm_crtc_mask(&tcon->crtc->crtc); in sun4i_rgb_init()
/linux/fs/smb/client/
H A Dioctl.c31 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in cifs_ioctl_query_info() local
57 if (tcon->ses->server->ops->ioctl_query_info) in cifs_ioctl_query_info()
58 rc = tcon->ses->server->ops->ioctl_query_info( in cifs_ioctl_query_info()
59 xid, tcon, cifs_sb, utf16_path, in cifs_ioctl_query_info()
117 static long smb_mnt_get_tcon_info(struct cifs_tcon *tcon, void __user *arg) in smb_mnt_get_tcon_info() argument
122 tcon_inf.tid = tcon->tid; in smb_mnt_get_tcon_info()
123 tcon_inf.session_id = tcon->ses->Suid; in smb_mnt_get_tcon_info()
131 static long smb_mnt_get_fsinfo(unsigned int xid, struct cifs_tcon *tcon, in smb_mnt_get_fsinfo() argument
142 fsinf->protocol_id = tcon->ses->server->vals->protocol_id; in smb_mnt_get_fsinfo()
143 fsinf->tcon_flags = tcon->Flags; in smb_mnt_get_fsinfo()
[all …]
H A Dfscache.c26 struct cifs_tcon *tcon, in cifs_fscache_fill_volume_coherency() argument
30 cd->resource_id = cpu_to_le64(tcon->resource_id); in cifs_fscache_fill_volume_coherency()
31 cd->vol_create_time = tcon->vol_create_time; in cifs_fscache_fill_volume_coherency()
32 cd->vol_serial_number = cpu_to_le32(tcon->vol_serial_number); in cifs_fscache_fill_volume_coherency()
35 int cifs_fscache_get_super_cookie(struct cifs_tcon *tcon) in cifs_fscache_get_super_cookie() argument
38 struct TCP_Server_Info *server = tcon->ses->server; in cifs_fscache_get_super_cookie()
46 if (tcon->fscache_acquired) in cifs_fscache_get_super_cookie()
49 mutex_lock(&tcon->fscache_lock); in cifs_fscache_get_super_cookie()
50 if (tcon->fscache_acquired) { in cifs_fscache_get_super_cookie()
51 mutex_unlock(&tcon->fscache_lock); in cifs_fscache_get_super_cookie()
[all …]
H A Dsmb1ops.c440 cifs_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in cifs_negotiate_wsize() argument
442 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability); in cifs_negotiate_wsize()
443 struct TCP_Server_Info *server = tcon->ses->server; in cifs_negotiate_wsize()
449 else if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) in cifs_negotiate_wsize()
455 if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) in cifs_negotiate_wsize()
475 cifs_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in cifs_negotiate_rsize() argument
477 __u64 unix_cap = le64_to_cpu(tcon->fsUnixInfo.Capability); in cifs_negotiate_rsize()
478 struct TCP_Server_Info *server = tcon->ses->server; in cifs_negotiate_rsize()
493 if (tcon->unix_ext && (unix_cap & CIFS_UNIX_LARGE_READ_CAP)) in cifs_negotiate_rsize()
516 cifs_qfs_tcon(const unsigned int xid, struct cifs_tcon *tcon, in cifs_qfs_tcon() argument
[all …]
H A Dsmb2inode.c172 static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon, in smb2_compound_op() argument
183 struct cifs_ses *ses = tcon->ses; in smb2_compound_op()
214 if (smb3_encryption_required(tcon)) in smb2_compound_op()
256 rc = SMB2_open_init(tcon, server, in smb2_compound_op()
263 smb2_set_next_command(tcon, &rqst[num_rqst]); in smb2_compound_op()
276 rc = SMB2_query_info_init(tcon, server, in smb2_compound_op()
285 rc = SMB2_query_info_init(tcon, server, in smb2_compound_op()
295 smb2_set_next_command(tcon, &rqst[num_rqst]); in smb2_compound_op()
301 trace_smb3_query_info_compound_enter(xid, tcon->tid, in smb2_compound_op()
310 rc = SMB2_query_info_init(tcon, server, in smb2_compound_op()
[all …]
H A Dsmb2proto.h54 extern int smb2_query_reparse_tag(const unsigned int xid, struct cifs_tcon *tcon,
60 struct cifs_tcon *tcon,
66 struct cifs_tcon *tcon,
72 struct cifs_tcon *tcon,
76 extern int smb2_set_path_size(const unsigned int xid, struct cifs_tcon *tcon,
83 umode_t mode, struct cifs_tcon *tcon,
87 umode_t mode, struct cifs_tcon *tcon,
91 struct cifs_tcon *tcon, const unsigned int xid);
92 extern int smb2_rmdir(const unsigned int xid, struct cifs_tcon *tcon,
94 extern int smb2_unlink(const unsigned int xid, struct cifs_tcon *tcon,
[all …]
H A Ddfs.c206 struct cifs_tcon *tcon; in __dfs_mount_share() local
224 else if (WARN_ON(!mnt_ctx->tcon)) in __dfs_mount_share()
230 tcon = mnt_ctx->tcon; in __dfs_mount_share()
231 spin_lock(&tcon->tc_lock); in __dfs_mount_share()
232 tcon->origin_fullpath = origin_fullpath; in __dfs_mount_share()
234 ref_walk_set_tcon(rw, tcon); in __dfs_mount_share()
235 spin_unlock(&tcon->tc_lock); in __dfs_mount_share()
236 queue_delayed_work(dfscache_wq, &tcon->dfs_cache_work, in __dfs_mount_share()
337 struct cifs_tcon *tcon, in tree_connect_dfs_target() argument
342 const struct smb_version_operations *ops = tcon->ses->server->ops; in tree_connect_dfs_target()
[all …]
H A Dcifs_swn.c32 struct cifs_tcon *tcon; member
35 static int cifs_swn_auth_info_krb(struct cifs_tcon *tcon, struct sk_buff *skb) in cifs_swn_auth_info_krb() argument
46 static int cifs_swn_auth_info_ntlm(struct cifs_tcon *tcon, struct sk_buff *skb) in cifs_swn_auth_info_ntlm() argument
50 if (tcon->ses->user_name != NULL) { in cifs_swn_auth_info_ntlm()
51 ret = nla_put_string(skb, CIFS_GENL_ATTR_SWN_USER_NAME, tcon->ses->user_name); in cifs_swn_auth_info_ntlm()
56 if (tcon->ses->password != NULL) { in cifs_swn_auth_info_ntlm()
57 ret = nla_put_string(skb, CIFS_GENL_ATTR_SWN_PASSWORD, tcon->ses->password); in cifs_swn_auth_info_ntlm()
62 if (tcon->ses->domainName != NULL) { in cifs_swn_auth_info_ntlm()
63 ret = nla_put_string(skb, CIFS_GENL_ATTR_SWN_DOMAIN_NAME, tcon->ses->domainName); in cifs_swn_auth_info_ntlm()
114 if (swnreg->tcon->ses->server->use_swn_dstaddr) in cifs_swn_send_register_message()
[all …]
H A Dcifsproto.h79 struct cifs_tcon *tcon,
157 extern int cifs_get_writable_path(struct cifs_tcon *tcon, const char *name,
161 extern int cifs_get_readable_path(struct cifs_tcon *tcon, const char *name,
268 extern void cifs_mark_open_files_invalid(struct cifs_tcon *tcon);
269 extern void cifs_reopen_persistent_handles(struct cifs_tcon *tcon);
306 extern void cifs_put_tcon(struct cifs_tcon *tcon, enum smb3_tcon_ref_trace trace);
317 int cifs_tree_connect(const unsigned int xid, struct cifs_tcon *tcon);
331 const char *tree, struct cifs_tcon *tcon,
334 extern int CIFSFindFirst(const unsigned int xid, struct cifs_tcon *tcon,
340 extern int CIFSFindNext(const unsigned int xid, struct cifs_tcon *tcon,
[all …]
H A Dsmb2pdu.c76 int smb3_encryption_required(const struct cifs_tcon *tcon) in smb3_encryption_required() argument
78 if (!tcon || !tcon->ses) in smb3_encryption_required()
80 if ((tcon->ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) || in smb3_encryption_required()
81 (tcon->share_flags & SHI1005_FLAGS_ENCRYPT_DATA)) in smb3_encryption_required()
83 if (tcon->seal && in smb3_encryption_required()
84 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required()
87 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required()
94 const struct cifs_tcon *tcon, in smb2_hdr_assemble() argument
132 if (!tcon) in smb2_hdr_assemble()
141 shdr->Id.SyncId.TreeId = cpu_to_le32(tcon->tid); in smb2_hdr_assemble()
[all …]
H A Dconnect.c104 struct cifs_tcon *tcon = container_of(work, in smb2_query_server_interfaces() local
107 struct TCP_Server_Info *server = tcon->ses->server; in smb2_query_server_interfaces()
116 rc = server->ops->query_server_interfaces(xid, tcon, false); in smb2_query_server_interfaces()
127 queue_delayed_work(cifsiod_wq, &tcon->query_interfaces, in smb2_query_server_interfaces()
195 struct cifs_tcon *tcon; in cifs_mark_tcp_ses_conns_for_reconnect() local
265 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in cifs_mark_tcp_ses_conns_for_reconnect()
266 tcon->need_reconnect = true; in cifs_mark_tcp_ses_conns_for_reconnect()
267 spin_lock(&tcon->tc_lock); in cifs_mark_tcp_ses_conns_for_reconnect()
268 tcon->status = TID_NEED_RECON; in cifs_mark_tcp_ses_conns_for_reconnect()
269 spin_unlock(&tcon->tc_lock); in cifs_mark_tcp_ses_conns_for_reconnect()
[all …]
H A Dsmb2misc.c541 smb2_tcon_has_lease(struct cifs_tcon *tcon, struct smb2_lease_break *rsp) in smb2_tcon_has_lease() argument
551 list_for_each_entry(cfile, &tcon->openFileList, tlist) { in smb2_tcon_has_lease()
580 smb2_tcon_find_pending_open_lease(struct cifs_tcon *tcon, in smb2_tcon_find_pending_open_lease() argument
589 list_for_each_entry(open, &tcon->pending_opens, olist) { in smb2_tcon_find_pending_open_lease()
614 struct cifs_tcon *tcon; in smb2_is_valid_lease_break() local
627 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in smb2_is_valid_lease_break()
628 spin_lock(&tcon->open_file_lock); in smb2_is_valid_lease_break()
630 &tcon->stats.cifs_stats.num_oplock_brks); in smb2_is_valid_lease_break()
631 if (smb2_tcon_has_lease(tcon, rsp)) { in smb2_is_valid_lease_break()
632 spin_unlock(&tcon->open_file_lock); in smb2_is_valid_lease_break()
[all …]
H A Ddir.c40 struct cifs_tcon *tcon, int add_treename) in cifs_build_path_to_root() argument
53 dfsplen = strnlen(tcon->tree_name, MAX_TREE_SIZE + 1); in cifs_build_path_to_root()
62 memcpy(full_path, tcon->tree_name, dfsplen); in cifs_build_path_to_root()
74 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in build_path_from_dentry() local
75 bool prefix = tcon->Flags & SMB_SHARE_IS_IN_DFS; in build_path_from_dentry()
141 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in build_path_from_dentry_optional_prefix() local
143 return __build_path_from_dentry_optional_prefix(direntry, page, tcon->tree_name, in build_path_from_dentry_optional_prefix()
153 check_name(struct dentry *direntry, struct cifs_tcon *tcon) in check_name() argument
158 if (unlikely(tcon->fsAttrInfo.MaxPathNameComponentLength && in check_name()
160 le32_to_cpu(tcon->fsAttrInfo.MaxPathNameComponentLength))) in check_name()
[all …]
H A Dsmb2ops.c474 smb2_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb2_negotiate_wsize() argument
476 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_wsize()
489 smb3_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb3_negotiate_wsize() argument
491 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_wsize()
521 smb2_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb2_negotiate_rsize() argument
523 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_rsize()
537 smb3_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb3_negotiate_rsize() argument
539 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_rsize()
796 SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon, bool in_mount) in SMB3_request_interfaces() argument
801 struct cifs_ses *ses = tcon->ses; in SMB3_request_interfaces()
[all …]
H A Dfile.c357 cifs_mark_open_files_invalid(struct cifs_tcon *tcon) in cifs_mark_open_files_invalid() argument
364 spin_lock(&tcon->tc_lock); in cifs_mark_open_files_invalid()
365 if (tcon->need_reconnect) in cifs_mark_open_files_invalid()
366 tcon->status = TID_NEED_RECON; in cifs_mark_open_files_invalid()
368 if (tcon->status != TID_NEED_RECON) { in cifs_mark_open_files_invalid()
369 spin_unlock(&tcon->tc_lock); in cifs_mark_open_files_invalid()
372 tcon->status = TID_IN_FILES_INVALIDATE; in cifs_mark_open_files_invalid()
373 spin_unlock(&tcon->tc_lock); in cifs_mark_open_files_invalid()
376 spin_lock(&tcon->open_file_lock); in cifs_mark_open_files_invalid()
377 list_for_each_safe(tmp, tmp1, &tcon->openFileList) { in cifs_mark_open_files_invalid()
[all …]
H A Dcifssmb.c71 cifs_reconnect_tcon(struct cifs_tcon *tcon, int smb_command) in cifs_reconnect_tcon() argument
82 if (!tcon) in cifs_reconnect_tcon()
85 ses = tcon->ses; in cifs_reconnect_tcon()
92 spin_lock(&tcon->tc_lock); in cifs_reconnect_tcon()
93 if (tcon->status == TID_EXITING) { in cifs_reconnect_tcon()
95 spin_unlock(&tcon->tc_lock); in cifs_reconnect_tcon()
101 spin_unlock(&tcon->tc_lock); in cifs_reconnect_tcon()
104 rc = cifs_wait_for_server_reconnect(server, tcon->retry); in cifs_reconnect_tcon()
109 if (!cifs_chan_needs_reconnect(ses, server) && !tcon->need_reconnect) { in cifs_reconnect_tcon()
126 if (tcon->retry) in cifs_reconnect_tcon()
[all …]
H A Dcifsfs.c192 struct cifs_tcon *tcon; in cifs_read_super() local
197 tcon = cifs_sb_master_tcon(cifs_sb); in cifs_read_super()
202 if (tcon->snapshot_time) in cifs_read_super()
205 if (tcon->ses->capabilities & tcon->ses->server->vals->cap_large_files) in cifs_read_super()
217 if ((tcon->ses->server->vals->protocol_id == SMB10_PROT_ID) && in cifs_read_super()
218 ((tcon->ses->capabilities & in cifs_read_super()
219 tcon->ses->server->vals->cap_nt_find) == 0) && in cifs_read_super()
220 !tcon->unix_ext) { in cifs_read_super()
248 tcon->ses->server->ops->negotiate_rsize(tcon, cifs_sb->ctx); in cifs_read_super()
263 if (tcon->nocase) in cifs_read_super()
[all …]
H A Dinode.c404 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_get_file_info_unix() local
416 rc = CIFSSMBUnixQFileInfo(xid, tcon, cfile->fid.netfid, &find_data); in cifs_get_file_info_unix()
440 struct cifs_tcon *tcon; in cifs_get_unix_fattr() local
449 tcon = tlink_tcon(tlink); in cifs_get_unix_fattr()
450 server = tcon->ses->server; in cifs_get_unix_fattr()
453 rc = CIFSSMBUnixQPathInfo(xid, tcon, full_path, &find_data, in cifs_get_unix_fattr()
472 tmprc = check_mf_symlink(xid, tcon, cifs_sb, fattr, full_path); in cifs_get_unix_fattr()
479 rc = server->ops->query_symlink(xid, tcon, in cifs_get_unix_fattr()
528 struct cifs_tcon *tcon; in cifs_sfu_type() local
557 tcon = tlink_tcon(tlink); in cifs_sfu_type()
[all …]
H A Dcached_dir.c140 int open_cached_dir(unsigned int xid, struct cifs_tcon *tcon, in open_cached_dir() argument
168 if (tcon == NULL) in open_cached_dir()
171 ses = tcon->ses; in open_cached_dir()
172 cfids = tcon->cfids; in open_cached_dir()
190 cfid = find_or_create_cached_dir(cfids, path, lookup_only, tcon->max_cached_dirs); in open_cached_dir()
232 cfid->tcon = tcon; in open_cached_dir()
241 if (smb3_encryption_required(tcon)) in open_cached_dir()
257 .tcon = tcon, in open_cached_dir()
267 rc = SMB2_open_init(tcon, server, in open_cached_dir()
271 smb2_set_next_command(tcon, &rqst[0]); in open_cached_dir()
[all …]
H A Dcifs_debug.c90 static void cifs_debug_tcon(struct seq_file *m, struct cifs_tcon *tcon) in cifs_debug_tcon() argument
92 __u32 dev_type = le32_to_cpu(tcon->fsDevInfo.DeviceType); in cifs_debug_tcon()
94 seq_printf(m, "%s Mounts: %d ", tcon->tree_name, tcon->tc_count); in cifs_debug_tcon()
95 if (tcon->nativeFileSystem) in cifs_debug_tcon()
96 seq_printf(m, "Type: %s ", tcon->nativeFileSystem); in cifs_debug_tcon()
98 le32_to_cpu(tcon->fsDevInfo.DeviceCharacteristics), in cifs_debug_tcon()
99 le32_to_cpu(tcon->fsAttrInfo.Attributes), in cifs_debug_tcon()
100 le32_to_cpu(tcon->fsAttrInfo.MaxPathNameComponentLength), in cifs_debug_tcon()
101 tcon->status); in cifs_debug_tcon()
109 seq_printf(m, "Serial Number: 0x%x", tcon->vol_serial_number); in cifs_debug_tcon()
[all …]
H A Dnamespace.c123 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in is_dfs_mount() local
126 spin_lock(&tcon->tc_lock); in is_dfs_mount()
127 ret = !!tcon->origin_fullpath; in is_dfs_mount()
128 spin_unlock(&tcon->tc_lock); in is_dfs_mount()
136 struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); in automount_fullpath() local
140 spin_lock(&tcon->tc_lock); in automount_fullpath()
141 if (!tcon->origin_fullpath) { in automount_fullpath()
142 spin_unlock(&tcon->tc_lock); in automount_fullpath()
147 spin_unlock(&tcon->tc_lock); in automount_fullpath()
156 spin_lock(&tcon->tc_lock); in automount_fullpath()
[all …]
H A Dmisc.c157 tconInfoFree(struct cifs_tcon *tcon, enum smb3_tcon_ref_trace trace) in tconInfoFree() argument
159 if (tcon == NULL) { in tconInfoFree()
163 trace_smb3_tcon_ref(tcon->debug_id, tcon->tc_count, trace); in tconInfoFree()
164 free_cached_dirs(tcon->cfids); in tconInfoFree()
166 kfree(tcon->nativeFileSystem); in tconInfoFree()
167 kfree_sensitive(tcon->password); in tconInfoFree()
168 kfree(tcon->origin_fullpath); in tconInfoFree()
169 kfree(tcon); in tconInfoFree()
427 struct cifs_tcon *tcon; in is_valid_oplock_break() local
498 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in is_valid_oplock_break()
[all …]
/linux/fs/smb/server/mgmt/
H A Dtree_connect.c101 void ksmbd_tree_connect_put(struct ksmbd_tree_connect *tcon) in ksmbd_tree_connect_put() argument
108 if (!atomic_dec_return(&tcon->refcount) && in ksmbd_tree_connect_put()
109 waitqueue_active(&tcon->refcount_q)) in ksmbd_tree_connect_put()
110 wake_up(&tcon->refcount_q); in ksmbd_tree_connect_put()
136 struct ksmbd_tree_connect *tcon; in ksmbd_tree_conn_lookup() local
139 tcon = xa_load(&sess->tree_conns, id); in ksmbd_tree_conn_lookup()
140 if (tcon) { in ksmbd_tree_conn_lookup()
141 if (tcon->t_state != TREE_CONNECTED) in ksmbd_tree_conn_lookup()
142 tcon = NULL; in ksmbd_tree_conn_lookup()
143 else if (!atomic_inc_not_zero(&tcon->refcount)) in ksmbd_tree_conn_lookup()
[all …]

1234