Lines Matching defs:ddb_entry
834 struct ddb_entry *ddb_entry;
841 ddb_entry = sess->dd_data;
846 if (ddb_entry->chap_tbl_idx == *chap_tbl_idx)
1816 struct ddb_entry *ddb_entry;
1825 ddb_entry = sess->dd_data;
1826 ha = ddb_entry->ha;
1840 ret = qla4xxx_get_mgmt_data(ha, ddb_entry->fw_ddb_index, stats_size,
2857 struct ddb_entry *ddb_entry = sess->dd_data;
2858 struct scsi_qla_host *ha = ddb_entry->ha;
2859 struct iscsi_cls_conn *cls_conn = ddb_entry->conn;
2876 if (ddb_entry->ddb_type == FLASH_DDB) {
2877 if (ddb_entry->chap_tbl_idx != INVALID_ENTRY) {
2878 idx = ddb_entry->chap_tbl_idx;
2899 if (ddb_entry->ddb_type == FLASH_DDB &&
2900 ddb_entry->chap_tbl_idx != INVALID_ENTRY &&
2902 idx = ddb_entry->chap_tbl_idx;
2984 struct ddb_entry *ddb_entry,
2992 if (ddb_entry->fw_ddb_entry.options & DDB_OPT_IPV6_DEVICE) {
3024 struct ddb_entry *ddb_entry;
3038 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
3039 if (ddb_entry == NULL)
3042 if (ddb_entry->ddb_type != FLASH_DDB)
3045 existing_sess = ddb_entry->sess->dd_data;
3046 existing_conn = ddb_entry->conn->dd_data;
3070 rval = qla4xxx_match_ipaddress(ha, ddb_entry,
3096 struct ddb_entry *ddb_entry;
3116 cmds_max, sizeof(struct ddb_entry),
3123 ddb_entry = sess->dd_data;
3124 ddb_entry->fw_ddb_index = ddb_index;
3125 ddb_entry->fw_ddb_device_state = DDB_DS_NO_CONNECTION_ACTIVE;
3126 ddb_entry->ha = ha;
3127 ddb_entry->sess = cls_sess;
3128 ddb_entry->unblock_sess = qla4xxx_unblock_ddb;
3129 ddb_entry->ddb_change = qla4xxx_ddb_change;
3130 clear_bit(DDB_CONN_CLOSE_FAILURE, &ddb_entry->flags);
3132 ha->fw_ddb_index_map[ddb_entry->fw_ddb_index] = ddb_entry;
3141 struct ddb_entry *ddb_entry;
3150 ddb_entry = sess->dd_data;
3151 ha = ddb_entry->ha;
3165 ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
3180 qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
3181 if (test_and_clear_bit(DDB_CONN_CLOSE_FAILURE, &ddb_entry->flags))
3182 clear_bit(ddb_entry->fw_ddb_index, ha->ddb_idx_map);
3184 qla4xxx_free_ddb(ha, ddb_entry);
3199 struct ddb_entry *ddb_entry;
3211 ddb_entry = sess->dd_data;
3212 ddb_entry->conn = cls_conn;
3214 ha = ddb_entry->ha;
3227 struct ddb_entry *ddb_entry;
3232 ddb_entry = sess->dd_data;
3233 ha = ddb_entry->ha;
3254 struct ddb_entry *ddb_entry;
3263 ddb_entry = sess->dd_data;
3264 ha = ddb_entry->ha;
3289 ret = qla4xxx_set_param_ddbentry(ha, ddb_entry, cls_conn, &mbx_sts);
3297 if (ddb_entry->fw_ddb_device_state ==
3299 ddb_entry->unblock_sess(ddb_entry->sess);
3304 __func__, ddb_entry->fw_ddb_index);
3308 status = qla4xxx_conn_open(ha, ddb_entry->fw_ddb_index);
3316 if (ddb_entry->fw_ddb_device_state == DDB_DS_NO_CONNECTION_ACTIVE)
3317 ddb_entry->fw_ddb_device_state = DDB_DS_LOGIN_IN_PROCESS;
3320 ddb_entry->fw_ddb_device_state));
3337 struct ddb_entry *ddb_entry;
3341 ddb_entry = sess->dd_data;
3342 ha = ddb_entry->ha;
3347 if (qla4xxx_session_logout_ddb(ha, ddb_entry, options) == QLA_ERROR)
3399 struct ddb_entry *ddb_entry;
3404 ddb_entry = sess->dd_data;
3405 ha = ddb_entry->ha;
3465 struct ddb_entry *ddb_entry;
3471 ddb_entry = sess->dd_data;
3472 ha = ddb_entry->ha;
3494 struct ddb_entry *ddb_entry = sess->dd_data;
3495 struct scsi_qla_host *ha = ddb_entry->ha;
3859 struct ddb_entry *ddb_entry;
3866 ddb_entry = sess->dd_data;
3870 ddb_entry->chap_tbl_idx = le16_to_cpu(fw_ddb_entry->chap_tbl_idx);
3896 if (ddb_entry->chap_tbl_idx != INVALID_ENTRY) {
3899 ddb_entry->chap_tbl_idx)) {
3911 struct ddb_entry *ddb_entry)
3927 if (qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index, fw_ddb_entry,
3933 ddb_entry->fw_ddb_index));
3937 cls_sess = ddb_entry->sess;
3939 cls_conn = ddb_entry->conn;
3951 struct ddb_entry *ddb_entry)
3969 if (qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index, fw_ddb_entry,
3975 ddb_entry->fw_ddb_index));
3979 cls_sess = ddb_entry->sess;
3982 cls_conn = ddb_entry->conn;
3986 ddb_entry->default_relogin_timeout =
3990 ddb_entry->default_time2wait =
3994 ddb_entry->chap_tbl_idx = le16_to_cpu(fw_ddb_entry->chap_tbl_idx);
4031 * @ddb_entry: Pointer to device database entry
4052 struct ddb_entry *ddb_entry,
4063 srb->ddb = ddb_entry;
4111 struct ddb_entry *ddb_entry = cmd->device->hostdata;
4112 struct iscsi_cls_session *sess = ddb_entry->sess;
4148 srb = qla4xxx_get_new_srb(ha, ddb_entry, cmd);
4497 struct ddb_entry *ddb_entry;
4501 ddb_entry = sess->dd_data;
4502 ha = ddb_entry->ha;
4504 if (!(ddb_entry->ddb_type == FLASH_DDB))
4507 if (adapter_up(ha) && !test_bit(DF_RELOGIN, &ddb_entry->flags) &&
4509 if (atomic_read(&ddb_entry->retry_relogin_timer) !=
4511 if (atomic_read(&ddb_entry->retry_relogin_timer) ==
4513 atomic_set(&ddb_entry->retry_relogin_timer,
4516 set_bit(DF_RELOGIN, &ddb_entry->flags);
4519 __func__, ddb_entry->fw_ddb_index));
4521 atomic_dec(&ddb_entry->retry_relogin_timer);
4526 if (atomic_read(&ddb_entry->relogin_timer) &&
4527 (atomic_dec_and_test(&ddb_entry->relogin_timer) != 0)) {
4534 atomic_inc(&ddb_entry->relogin_retry_count);
4538 ddb_entry->fw_ddb_index,
4539 atomic_read(&ddb_entry->relogin_retry_count),
4540 ddb_entry->default_time2wait + 4));
4542 atomic_set(&ddb_entry->retry_relogin_timer,
4543 ddb_entry->default_time2wait + 4);
4836 struct ddb_entry *ddb_entry;
4839 ddb_entry = sess->dd_data;
4840 ddb_entry->fw_ddb_device_state = DDB_DS_SESSION_FAILED;
4842 if (ddb_entry->ddb_type == FLASH_DDB)
4843 iscsi_block_session(ddb_entry->sess);
5062 struct ddb_entry *ddb_entry;
5066 ddb_entry = sess->dd_data;
5067 ha = ddb_entry->ha;
5069 if (ddb_entry->fw_ddb_device_state == DDB_DS_SESSION_ACTIVE) {
5072 ddb_entry->fw_ddb_index);
5073 iscsi_unblock_session(ddb_entry->sess);
5076 if (ddb_entry->ddb_type == FLASH_DDB) {
5077 if (!(test_bit(DF_RELOGIN, &ddb_entry->flags) ||
5079 &ddb_entry->flags)))
5080 qla4xxx_arm_relogin_timer(ddb_entry);
5091 struct ddb_entry *ddb_entry;
5095 ddb_entry = sess->dd_data;
5096 ha = ddb_entry->ha;
5099 ddb_entry->fw_ddb_index);
5101 iscsi_unblock_session(ddb_entry->sess);
5107 ddb_entry->fw_ddb_index);
5108 queue_work(ddb_entry->sess->workq, &ddb_entry->sess->scan_work);
5116 struct ddb_entry *ddb_entry;
5121 ddb_entry = sess->dd_data;
5122 ha = ddb_entry->ha;
5125 ddb_entry->fw_ddb_index);
5128 iscsi_conn_start(ddb_entry->conn);
5129 iscsi_conn_login_event(ddb_entry->conn,
5134 ha->host_no, __func__, ddb_entry->fw_ddb_index,
5151 struct ddb_entry *ddb_entry;
5155 ddb_entry = sess->dd_data;
5156 ha = ddb_entry->ha;
5158 relogin_timer = max(ddb_entry->default_relogin_timeout,
5160 atomic_set(&ddb_entry->relogin_timer, relogin_timer);
5164 ddb_entry->fw_ddb_index, relogin_timer));
5172 struct ddb_entry *ddb_entry;
5176 ddb_entry = sess->dd_data;
5177 ha = ddb_entry->ha;
5179 if (!(ddb_entry->ddb_type == FLASH_DDB))
5182 if (test_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags))
5185 if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags) &&
6278 static void qla4xxx_get_param_ddb(struct ddb_entry *ddb_entry,
6287 cls_sess = ddb_entry->sess;
6289 cls_conn = ddb_entry->conn;
6366 struct ddb_entry *ddb_entry;
6391 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
6392 if (ddb_entry == NULL)
6395 qla4xxx_get_param_ddb(ddb_entry, tmp_tddb);
6620 struct ddb_entry *ddb_entry,
6625 ddb_entry->ddb_type = FLASH_DDB;
6626 ddb_entry->fw_ddb_index = INVALID_ENTRY;
6627 ddb_entry->fw_ddb_device_state = DDB_DS_NO_CONNECTION_ACTIVE;
6628 ddb_entry->ha = ha;
6629 ddb_entry->unblock_sess = qla4xxx_unblock_flash_ddb;
6630 ddb_entry->ddb_change = qla4xxx_flash_ddb_change;
6631 ddb_entry->chap_tbl_idx = INVALID_ENTRY;
6633 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
6634 atomic_set(&ddb_entry->relogin_timer, 0);
6635 atomic_set(&ddb_entry->relogin_retry_count, 0);
6636 def_timeout = le16_to_cpu(ddb_entry->fw_ddb_entry.def_timeout);
6637 ddb_entry->default_relogin_timeout =
6640 ddb_entry->default_time2wait =
6641 le16_to_cpu(ddb_entry->fw_ddb_entry.iscsi_def_time2wait);
6645 set_bit(DF_BOOT_TGT, &ddb_entry->flags);
6876 struct ddb_entry *ddb_entry,
6887 cls_sess = ddb_entry->sess;
6910 struct ddb_entry *ddb_entry = NULL;
6916 cmds_max, sizeof(struct ddb_entry),
6930 ddb_entry = sess->dd_data;
6931 ddb_entry->sess = cls_sess;
6934 memcpy(&ddb_entry->fw_ddb_entry, fw_ddb_entry,
6937 qla4xxx_setup_flash_ddb_entry(ha, ddb_entry, idx);
6946 ddb_entry->conn = cls_conn;
6961 qla4xxx_update_sess_disc_idx(ha, ddb_entry, fw_ddb_entry);
6971 set_bit(DF_RELOGIN, &ddb_entry->flags);
7005 struct ddb_entry *ddb_entry = NULL;
7085 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha,
7087 if (ddb_entry != NULL)
7089 ddb_entry,
7424 struct dev_db_entry *ddb_entry = NULL;
7432 ddb_entry = dma_alloc_coherent(&ha->pdev->dev, sizeof(*ddb_entry),
7434 if (!ddb_entry) {
7441 memcpy(ddb_entry, fw_ddb_entry, sizeof(*ddb_entry));
7477 if (ddb_entry)
7478 dma_free_coherent(&ha->pdev->dev, sizeof(*ddb_entry),
7479 ddb_entry, ddb_entry_dma);
7617 struct ddb_entry *ddb_entry = NULL;
7628 ddb_entry = sess->dd_data;
7629 ha = ddb_entry->ha;
7631 if (ddb_entry->ddb_type != FLASH_DDB) {
7638 if (test_bit(DF_BOOT_TGT, &ddb_entry->flags)) {
7655 if (test_and_set_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags))
7658 ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
7673 if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags))
7680 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
7681 atomic_set(&ddb_entry->relogin_timer, 0);
7684 qla4xxx_session_logout_ddb(ha, ddb_entry, options);
7689 ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
7704 qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
7712 iscsi_destroy_endpoint(ddb_entry->conn->ep);
7715 qla4xxx_free_ddb(ha, ddb_entry);
7716 clear_bit(ddb_entry->fw_ddb_index, ha->ddb_idx_map);
7719 iscsi_session_teardown(ddb_entry->sess);
7721 clear_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags);
7746 struct ddb_entry *ddb_entry = NULL;
7808 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
7809 if (ddb_entry == NULL)
7812 if (ddb_entry->ddb_type != FLASH_DDB)
7815 index = ddb_entry->sess->target_id;
7830 ret = qla4xxx_sysfs_ddb_logout_sid(ddb_entry->sess);
8556 struct ddb_entry *ddb_entry;
8577 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
8578 if (ddb_entry == NULL)
8581 if (test_bit(DF_BOOT_TGT, &ddb_entry->flags)) {
8584 ddb_entry->fw_ddb_index));
8587 ddb_entry->fw_ddb_index,
8930 struct ddb_entry *ddb_entry)
8940 if (qla4xxx_session_logout_ddb(ha, ddb_entry, options) == QLA_ERROR) {
8955 status = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
8973 qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
8978 struct ddb_entry *ddb_entry;
8983 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
8984 if ((ddb_entry != NULL) &&
8985 (ddb_entry->ddb_type == FLASH_DDB)) {
8987 qla4xxx_destroy_ddb(ha, ddb_entry);
8995 iscsi_destroy_endpoint(ddb_entry->conn->ep);
8996 qla4xxx_free_ddb(ha, ddb_entry);
8997 iscsi_session_teardown(ddb_entry->sess);
9059 struct ddb_entry *ddb;
9276 struct ddb_entry *ddb_entry = cmd->device->hostdata;
9280 if (!ddb_entry)
9305 stat = qla4xxx_reset_lun(ha, ddb_entry, cmd->device->lun);
9320 if (qla4xxx_send_marker_iocb(ha, ddb_entry, cmd->device->lun,
9345 struct ddb_entry *ddb_entry = cmd->device->hostdata;
9349 if (!ddb_entry)
9371 stat = qla4xxx_reset_target(ha, ddb_entry);
9387 if (qla4xxx_send_marker_iocb(ha, ddb_entry, cmd->device->lun,