/linux-6.8/drivers/gpu/drm/sun4i/ |
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 …]
|
D | sun8i_tcon_top.c | 14 #include <dt-bindings/clock/sun8i-tcon-top.h> 28 int sun8i_tcon_top_set_hdmi_src(struct device *dev, int tcon) in sun8i_tcon_top_set_hdmi_src() argument 35 dev_err(dev, "Device is not TCON TOP!\n"); in sun8i_tcon_top_set_hdmi_src() 39 if (tcon < 2 || tcon > 3) { in sun8i_tcon_top_set_hdmi_src() 40 dev_err(dev, "TCON index must be 2 or 3!\n"); in sun8i_tcon_top_set_hdmi_src() 48 val |= FIELD_PREP(TCON_TOP_HDMI_SRC_MSK, tcon - 1); in sun8i_tcon_top_set_hdmi_src() 57 int sun8i_tcon_top_de_config(struct device *dev, int mixer, int tcon) in sun8i_tcon_top_de_config() argument 64 dev_err(dev, "Device is not TCON TOP!\n"); in sun8i_tcon_top_de_config() 73 if (tcon > 3) { in sun8i_tcon_top_de_config() 74 dev_err(dev, "TCON index is too high!\n"); in sun8i_tcon_top_de_config() [all …]
|
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 …]
|
/linux-6.8/Documentation/devicetree/bindings/display/ |
D | allwinner,sun4i-a10-tcon.yaml | 4 $id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-tcon.yaml# 7 title: Allwinner A10 Timings Controller (TCON) 14 The TCON acts as a timing controller for RGB, LVDS and TV 23 - const: allwinner,sun4i-a10-tcon 24 - const: allwinner,sun5i-a13-tcon 25 - const: allwinner,sun6i-a31-tcon 26 - const: allwinner,sun6i-a31s-tcon 27 - const: allwinner,sun7i-a20-tcon 28 - const: allwinner,sun8i-a23-tcon 29 - const: allwinner,sun8i-a33-tcon [all …]
|
D | allwinner,sun8i-r40-tcon-top.yaml | 4 $id: http://devicetree.org/schemas/display/allwinner,sun8i-r40-tcon-top.yaml# 7 title: Allwinner R40 TCON TOP 14 TCON TOPs main purpose is to configure whole display pipeline. It 16 TCON for HDMI, muxes LCD and TV encoder GPIO output, selects TV 17 encoder clock source and contains additional TV TCON and DSI gates. 22 / [0] TCON-LCD0 25 \ / [1] TCON-LCD1 - LCD1/LVDS1 26 TCON-TOP 27 / \ [2] TCON-TV0 [0] - TVE0/RGB 29 | TCON-TOP - HDMI [all …]
|
/linux-6.8/drivers/gpu/drm/fsl-dcu/ |
D | fsl_tcon.c | 7 * Freescale TCON device driver 19 void fsl_tcon_bypass_disable(struct fsl_tcon *tcon) in fsl_tcon_bypass_disable() argument 21 regmap_update_bits(tcon->regs, FSL_TCON_CTRL1, in fsl_tcon_bypass_disable() 25 void fsl_tcon_bypass_enable(struct fsl_tcon *tcon) in fsl_tcon_bypass_enable() argument 27 regmap_update_bits(tcon->regs, FSL_TCON_CTRL1, in fsl_tcon_bypass_enable() 37 .name = "tcon", 41 struct fsl_tcon *tcon, in fsl_tcon_init_regmap() argument 54 tcon->regs = devm_regmap_init_mmio(dev, regs, in fsl_tcon_init_regmap() 56 return PTR_ERR_OR_ZERO(tcon->regs); in fsl_tcon_init_regmap() 61 struct fsl_tcon *tcon; in fsl_tcon_init() local [all …]
|
/linux-6.8/fs/smb/client/ |
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() 120 static long smb_mnt_get_tcon_info(struct cifs_tcon *tcon, void __user *arg) in smb_mnt_get_tcon_info() argument 125 tcon_inf.tid = tcon->tid; in smb_mnt_get_tcon_info() 126 tcon_inf.session_id = tcon->ses->Suid; in smb_mnt_get_tcon_info() 134 static long smb_mnt_get_fsinfo(unsigned int xid, struct cifs_tcon *tcon, in smb_mnt_get_fsinfo() argument 145 fsinf->protocol_id = tcon->ses->server->vals->protocol_id; in smb_mnt_get_fsinfo() 146 fsinf->tcon_flags = tcon->Flags; in smb_mnt_get_fsinfo() [all …]
|
D | smb2inode.c | 96 static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon, in smb2_compound_op() argument 112 struct cifs_ses *ses = tcon->ses; in smb2_compound_op() 138 if (smb3_encryption_required(tcon)) in smb2_compound_op() 156 .tcon = tcon, in smb2_compound_op() 168 rc = SMB2_open_init(tcon, server, in smb2_compound_op() 175 smb2_set_next_command(tcon, &rqst[num_rqst]); in smb2_compound_op() 188 rc = SMB2_query_info_init(tcon, server, in smb2_compound_op() 197 rc = SMB2_query_info_init(tcon, server, in smb2_compound_op() 206 smb2_set_next_command(tcon, &rqst[num_rqst]); in smb2_compound_op() 215 tcon->tid, full_path); in smb2_compound_op() [all …]
|
D | smb2proto.h | 56 extern int smb2_query_reparse_tag(const unsigned int xid, struct cifs_tcon *tcon, 62 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, 82 umode_t mode, struct cifs_tcon *tcon, 86 umode_t mode, struct cifs_tcon *tcon, 90 struct cifs_tcon *tcon, const unsigned int xid); 91 extern int smb2_rmdir(const unsigned int xid, struct cifs_tcon *tcon, 93 extern int smb2_unlink(const unsigned int xid, struct cifs_tcon *tcon, [all …]
|
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 …]
|
D | dfs.c | 71 * On success, their lifetime will be shared by final tcon (dfs_ses_list). 233 struct cifs_tcon *tcon; in __dfs_mount_share() local 245 tcon = mnt_ctx->tcon; in __dfs_mount_share() 246 spin_lock(&tcon->tc_lock); in __dfs_mount_share() 247 if (!tcon->origin_fullpath) { in __dfs_mount_share() 248 tcon->origin_fullpath = origin_fullpath; in __dfs_mount_share() 251 spin_unlock(&tcon->tc_lock); in __dfs_mount_share() 253 if (list_empty(&tcon->dfs_ses_list)) { in __dfs_mount_share() 254 list_replace_init(&mnt_ctx->dfs_ses_list, &tcon->dfs_ses_list); in __dfs_mount_share() 255 queue_delayed_work(dfscache_wq, &tcon->dfs_cache_work, in __dfs_mount_share() [all …]
|
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 …]
|
D | cifsproto.h | 79 struct cifs_tcon *tcon, 154 extern int cifs_get_writable_path(struct cifs_tcon *tcon, const char *name, 158 extern int cifs_get_readable_path(struct cifs_tcon *tcon, const char *name, 270 extern void cifs_mark_open_files_invalid(struct cifs_tcon *tcon); 271 extern void cifs_reopen_persistent_handles(struct cifs_tcon *tcon); 304 extern void cifs_put_tcon(struct cifs_tcon *tcon); 315 extern int cifs_tree_connect(const unsigned int xid, struct cifs_tcon *tcon, 330 const char *tree, struct cifs_tcon *tcon, 333 extern int CIFSFindFirst(const unsigned int xid, struct cifs_tcon *tcon, 339 extern int CIFSFindNext(const unsigned int xid, struct cifs_tcon *tcon, [all …]
|
D | smb2pdu.c | 73 int smb3_encryption_required(const struct cifs_tcon *tcon) in smb3_encryption_required() argument 75 if (!tcon || !tcon->ses) in smb3_encryption_required() 77 if ((tcon->ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) || in smb3_encryption_required() 78 (tcon->share_flags & SHI1005_FLAGS_ENCRYPT_DATA)) in smb3_encryption_required() 80 if (tcon->seal && in smb3_encryption_required() 81 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required() 88 const struct cifs_tcon *tcon, in smb2_hdr_assemble() argument 126 if (!tcon) in smb2_hdr_assemble() 135 shdr->Id.SyncId.TreeId = cpu_to_le32(tcon->tid); in smb2_hdr_assemble() 137 if (tcon->ses) in smb2_hdr_assemble() [all …]
|
D | link.c | 160 create_mf_symlink(const unsigned int xid, struct cifs_tcon *tcon, in create_mf_symlink() argument 176 if (tcon->ses->server->ops->create_mf_symlink) in create_mf_symlink() 177 rc = tcon->ses->server->ops->create_mf_symlink(xid, tcon, in create_mf_symlink() 193 check_mf_symlink(unsigned int xid, struct cifs_tcon *tcon, in check_mf_symlink() argument 211 if (tcon->ses->server->ops->query_mf_symlink) in check_mf_symlink() 212 rc = tcon->ses->server->ops->query_mf_symlink(xid, tcon, in check_mf_symlink() 250 cifs_query_mf_symlink(unsigned int xid, struct cifs_tcon *tcon, in cifs_query_mf_symlink() argument 263 .tcon = tcon, in cifs_query_mf_symlink() 284 io_parms.tcon = tcon; in cifs_query_mf_symlink() 290 CIFSSMBClose(xid, tcon, fid.netfid); in cifs_query_mf_symlink() [all …]
|
D | connect.c | 123 struct cifs_tcon *tcon = container_of(work, in smb2_query_server_interfaces() local 131 rc = SMB3_request_interfaces(xid, tcon, false); in smb2_query_server_interfaces() 142 queue_delayed_work(cifsiod_wq, &tcon->query_interfaces, in smb2_query_server_interfaces() 208 struct cifs_tcon *tcon; in cifs_mark_tcp_ses_conns_for_reconnect() local 261 /* If all channels need reconnect, then tcon needs reconnect */ in cifs_mark_tcp_ses_conns_for_reconnect() 272 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in cifs_mark_tcp_ses_conns_for_reconnect() 273 tcon->need_reconnect = true; in cifs_mark_tcp_ses_conns_for_reconnect() 274 spin_lock(&tcon->tc_lock); in cifs_mark_tcp_ses_conns_for_reconnect() 275 tcon->status = TID_NEED_RECON; in cifs_mark_tcp_ses_conns_for_reconnect() 276 spin_unlock(&tcon->tc_lock); in cifs_mark_tcp_ses_conns_for_reconnect() [all …]
|
D | smb2ops.c | 437 smb2_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb2_negotiate_wsize() argument 439 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_wsize() 452 smb3_negotiate_wsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb3_negotiate_wsize() argument 454 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_wsize() 484 smb2_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb2_negotiate_rsize() argument 486 struct TCP_Server_Info *server = tcon->ses->server; in smb2_negotiate_rsize() 500 smb3_negotiate_rsize(struct cifs_tcon *tcon, struct smb3_fs_context *ctx) in smb3_negotiate_rsize() argument 502 struct TCP_Server_Info *server = tcon->ses->server; in smb3_negotiate_rsize() 758 SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon, bool in_mount) in SMB3_request_interfaces() argument 763 struct cifs_ses *ses = tcon->ses; in SMB3_request_interfaces() [all …]
|
D | inode.c | 385 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_get_file_info_unix() local 397 rc = CIFSSMBUnixQFileInfo(xid, tcon, cfile->fid.netfid, &find_data); in cifs_get_file_info_unix() 422 struct cifs_tcon *tcon; in cifs_get_unix_fattr() local 431 tcon = tlink_tcon(tlink); in cifs_get_unix_fattr() 432 server = tcon->ses->server; in cifs_get_unix_fattr() 435 rc = CIFSSMBUnixQPathInfo(xid, tcon, full_path, &find_data, in cifs_get_unix_fattr() 454 tmprc = check_mf_symlink(xid, tcon, cifs_sb, fattr, full_path); in cifs_get_unix_fattr() 461 rc = server->ops->query_symlink(xid, tcon, in cifs_get_unix_fattr() 510 struct cifs_tcon *tcon; in cifs_sfu_type() local 536 tcon = tlink_tcon(tlink); in cifs_sfu_type() [all …]
|
D | cached_dir.c | 125 int open_cached_dir(unsigned int xid, struct cifs_tcon *tcon, in open_cached_dir() argument 150 if (tcon == NULL || tcon->cfids == NULL || tcon->nohandlecache || in open_cached_dir() 151 is_smb1_server(tcon->ses->server) || (dir_cache_timeout == 0)) in open_cached_dir() 154 ses = tcon->ses; in open_cached_dir() 155 cfids = tcon->cfids; in open_cached_dir() 173 cfid = find_or_create_cached_dir(cfids, path, lookup_only, tcon->max_cached_dirs); in open_cached_dir() 223 if (smb3_encryption_required(tcon)) in open_cached_dir() 239 .tcon = tcon, in open_cached_dir() 248 rc = SMB2_open_init(tcon, server, in open_cached_dir() 252 smb2_set_next_command(tcon, &rqst[0]); in open_cached_dir() [all …]
|
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 622 /* look up tcon based on tid & uid */ in smb2_is_valid_lease_break() 625 list_for_each_entry(tcon, &ses->tcon_list, tcon_list) { in smb2_is_valid_lease_break() 626 spin_lock(&tcon->open_file_lock); in smb2_is_valid_lease_break() 628 &tcon->stats.cifs_stats.num_oplock_brks); in smb2_is_valid_lease_break() 629 if (smb2_tcon_has_lease(tcon, rsp)) { in smb2_is_valid_lease_break() [all …]
|
D | fscache.c | 16 struct cifs_tcon *tcon, in cifs_fscache_fill_volume_coherency() argument 20 cd->resource_id = cpu_to_le64(tcon->resource_id); in cifs_fscache_fill_volume_coherency() 21 cd->vol_create_time = tcon->vol_create_time; in cifs_fscache_fill_volume_coherency() 22 cd->vol_serial_number = cpu_to_le32(tcon->vol_serial_number); in cifs_fscache_fill_volume_coherency() 25 int cifs_fscache_get_super_cookie(struct cifs_tcon *tcon) in cifs_fscache_get_super_cookie() argument 28 struct TCP_Server_Info *server = tcon->ses->server; in cifs_fscache_get_super_cookie() 36 tcon->fscache = NULL; in cifs_fscache_get_super_cookie() 48 sharename = extract_sharename(tcon->tree_name); in cifs_fscache_get_super_cookie() 63 cifs_fscache_fill_volume_coherency(tcon, &cd); in cifs_fscache_get_super_cookie() 77 tcon->fscache = vcookie; in cifs_fscache_get_super_cookie() [all …]
|
D | cifssmb.c | 67 /* reconnect the socket, tcon, and smb session if needed */ 69 cifs_reconnect_tcon(struct cifs_tcon *tcon, int smb_command) in cifs_reconnect_tcon() argument 77 * SMBs NegProt, SessSetup, uLogoff do not have tcon yet so check for in cifs_reconnect_tcon() 81 if (!tcon) in cifs_reconnect_tcon() 84 ses = tcon->ses; in cifs_reconnect_tcon() 89 * have tcon) are allowed as we start umount in cifs_reconnect_tcon() 91 spin_lock(&tcon->tc_lock); in cifs_reconnect_tcon() 92 if (tcon->status == TID_EXITING) { in cifs_reconnect_tcon() 94 spin_unlock(&tcon->tc_lock); in cifs_reconnect_tcon() 100 spin_unlock(&tcon->tc_lock); in cifs_reconnect_tcon() [all …]
|
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 …]
|
/linux-6.8/Documentation/devicetree/bindings/clock/ |
D | allwinner,sun4i-a10-tcon-ch0-clk.yaml | 4 $id: http://devicetree.org/schemas/clock/allwinner,sun4i-a10-tcon-ch0-clk.yaml# 7 title: Allwinner A10 TCON Channel 0 Clock 24 - allwinner,sun4i-a10-tcon-ch0-clk 25 - allwinner,sun4i-a10-tcon-ch1-clk 49 const: allwinner,sun4i-a10-tcon-ch0-clk 62 compatible = "allwinner,sun4i-a10-tcon-ch0-clk"; 65 clock-output-names = "tcon-ch0-sclk"; 71 compatible = "allwinner,sun4i-a10-tcon-ch1-clk"; 74 clock-output-names = "tcon-ch1-sclk";
|
/linux-6.8/fs/smb/server/mgmt/ |
D | tree_connect.c | 99 void ksmbd_tree_connect_put(struct ksmbd_tree_connect *tcon) in ksmbd_tree_connect_put() argument 106 if (!atomic_dec_return(&tcon->refcount) && in ksmbd_tree_connect_put() 107 waitqueue_active(&tcon->refcount_q)) in ksmbd_tree_connect_put() 108 wake_up(&tcon->refcount_q); in ksmbd_tree_connect_put() 134 struct ksmbd_tree_connect *tcon; in ksmbd_tree_conn_lookup() local 137 tcon = xa_load(&sess->tree_conns, id); in ksmbd_tree_conn_lookup() 138 if (tcon) { in ksmbd_tree_conn_lookup() 139 if (tcon->t_state != TREE_CONNECTED) in ksmbd_tree_conn_lookup() 140 tcon = NULL; in ksmbd_tree_conn_lookup() 141 else if (!atomic_inc_not_zero(&tcon->refcount)) in ksmbd_tree_conn_lookup() [all …]
|