/linux/drivers/gpu/drm/sun4i/ |
H A D | sun4i_tcon.c | 84 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 D | sun4i_tcon_dclk.c | 18 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 D | sun4i_rgb.c | 27 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 D | ioctl.c | 31 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 D | fscache.c | 26 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 D | smb1ops.c | 440 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 D | smb2inode.c | 172 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 D | smb2proto.h | 54 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 D | dfs.c | 206 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 D | cifs_swn.c | 32 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 D | cifsproto.h | 79 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 D | smb2pdu.c | 76 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 D | connect.c | 104 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 D | smb2misc.c | 541 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 D | dir.c | 40 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 D | smb2ops.c | 474 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 D | file.c | 357 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 D | cifssmb.c | 71 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 D | cifsfs.c | 192 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 D | inode.c | 404 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 D | cached_dir.c | 140 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 D | cifs_debug.c | 90 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 D | namespace.c | 123 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 D | misc.c | 157 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 D | tree_connect.c | 101 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 …]
|