Lines Matching defs:ddb_entry

839 	struct ddb_entry *ddb_entry;
846 ddb_entry = sess->dd_data;
851 if (ddb_entry->chap_tbl_idx == *chap_tbl_idx)
1821 struct ddb_entry *ddb_entry;
1830 ddb_entry = sess->dd_data;
1831 ha = ddb_entry->ha;
1845 ret = qla4xxx_get_mgmt_data(ha, ddb_entry->fw_ddb_index, stats_size,
2862 struct ddb_entry *ddb_entry = sess->dd_data;
2863 struct scsi_qla_host *ha = ddb_entry->ha;
2864 struct iscsi_cls_conn *cls_conn = ddb_entry->conn;
2881 if (ddb_entry->ddb_type == FLASH_DDB) {
2882 if (ddb_entry->chap_tbl_idx != INVALID_ENTRY) {
2883 idx = ddb_entry->chap_tbl_idx;
2904 if (ddb_entry->ddb_type == FLASH_DDB &&
2905 ddb_entry->chap_tbl_idx != INVALID_ENTRY &&
2907 idx = ddb_entry->chap_tbl_idx;
2989 struct ddb_entry *ddb_entry,
2997 if (ddb_entry->fw_ddb_entry.options & DDB_OPT_IPV6_DEVICE) {
3029 struct ddb_entry *ddb_entry;
3043 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
3044 if (ddb_entry == NULL)
3047 if (ddb_entry->ddb_type != FLASH_DDB)
3050 existing_sess = ddb_entry->sess->dd_data;
3051 existing_conn = ddb_entry->conn->dd_data;
3075 rval = qla4xxx_match_ipaddress(ha, ddb_entry,
3101 struct ddb_entry *ddb_entry;
3121 cmds_max, sizeof(struct ddb_entry),
3128 ddb_entry = sess->dd_data;
3129 ddb_entry->fw_ddb_index = ddb_index;
3130 ddb_entry->fw_ddb_device_state = DDB_DS_NO_CONNECTION_ACTIVE;
3131 ddb_entry->ha = ha;
3132 ddb_entry->sess = cls_sess;
3133 ddb_entry->unblock_sess = qla4xxx_unblock_ddb;
3134 ddb_entry->ddb_change = qla4xxx_ddb_change;
3135 clear_bit(DDB_CONN_CLOSE_FAILURE, &ddb_entry->flags);
3137 ha->fw_ddb_index_map[ddb_entry->fw_ddb_index] = ddb_entry;
3146 struct ddb_entry *ddb_entry;
3155 ddb_entry = sess->dd_data;
3156 ha = ddb_entry->ha;
3170 ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
3185 qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
3186 if (test_and_clear_bit(DDB_CONN_CLOSE_FAILURE, &ddb_entry->flags))
3187 clear_bit(ddb_entry->fw_ddb_index, ha->ddb_idx_map);
3189 qla4xxx_free_ddb(ha, ddb_entry);
3204 struct ddb_entry *ddb_entry;
3216 ddb_entry = sess->dd_data;
3217 ddb_entry->conn = cls_conn;
3219 ha = ddb_entry->ha;
3232 struct ddb_entry *ddb_entry;
3237 ddb_entry = sess->dd_data;
3238 ha = ddb_entry->ha;
3259 struct ddb_entry *ddb_entry;
3268 ddb_entry = sess->dd_data;
3269 ha = ddb_entry->ha;
3294 ret = qla4xxx_set_param_ddbentry(ha, ddb_entry, cls_conn, &mbx_sts);
3302 if (ddb_entry->fw_ddb_device_state ==
3304 ddb_entry->unblock_sess(ddb_entry->sess);
3309 __func__, ddb_entry->fw_ddb_index);
3313 status = qla4xxx_conn_open(ha, ddb_entry->fw_ddb_index);
3321 if (ddb_entry->fw_ddb_device_state == DDB_DS_NO_CONNECTION_ACTIVE)
3322 ddb_entry->fw_ddb_device_state = DDB_DS_LOGIN_IN_PROCESS;
3325 ddb_entry->fw_ddb_device_state));
3342 struct ddb_entry *ddb_entry;
3346 ddb_entry = sess->dd_data;
3347 ha = ddb_entry->ha;
3352 if (qla4xxx_session_logout_ddb(ha, ddb_entry, options) == QLA_ERROR)
3404 struct ddb_entry *ddb_entry;
3409 ddb_entry = sess->dd_data;
3410 ha = ddb_entry->ha;
3470 struct ddb_entry *ddb_entry;
3476 ddb_entry = sess->dd_data;
3477 ha = ddb_entry->ha;
3499 struct ddb_entry *ddb_entry = sess->dd_data;
3500 struct scsi_qla_host *ha = ddb_entry->ha;
3865 struct ddb_entry *ddb_entry;
3872 ddb_entry = sess->dd_data;
3876 ddb_entry->chap_tbl_idx = le16_to_cpu(fw_ddb_entry->chap_tbl_idx);
3902 if (ddb_entry->chap_tbl_idx != INVALID_ENTRY) {
3905 ddb_entry->chap_tbl_idx)) {
3917 struct ddb_entry *ddb_entry)
3933 if (qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index, fw_ddb_entry,
3939 ddb_entry->fw_ddb_index));
3943 cls_sess = ddb_entry->sess;
3945 cls_conn = ddb_entry->conn;
3957 struct ddb_entry *ddb_entry)
3975 if (qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index, fw_ddb_entry,
3981 ddb_entry->fw_ddb_index));
3985 cls_sess = ddb_entry->sess;
3988 cls_conn = ddb_entry->conn;
3992 ddb_entry->default_relogin_timeout =
3996 ddb_entry->default_time2wait =
4000 ddb_entry->chap_tbl_idx = le16_to_cpu(fw_ddb_entry->chap_tbl_idx);
4037 * @ddb_entry: Pointer to device database entry
4058 struct ddb_entry *ddb_entry,
4069 srb->ddb = ddb_entry;
4117 struct ddb_entry *ddb_entry = cmd->device->hostdata;
4118 struct iscsi_cls_session *sess = ddb_entry->sess;
4154 srb = qla4xxx_get_new_srb(ha, ddb_entry, cmd);
4506 struct ddb_entry *ddb_entry;
4510 ddb_entry = sess->dd_data;
4511 ha = ddb_entry->ha;
4513 if (!(ddb_entry->ddb_type == FLASH_DDB))
4516 if (adapter_up(ha) && !test_bit(DF_RELOGIN, &ddb_entry->flags) &&
4518 if (atomic_read(&ddb_entry->retry_relogin_timer) !=
4520 if (atomic_read(&ddb_entry->retry_relogin_timer) ==
4522 atomic_set(&ddb_entry->retry_relogin_timer,
4525 set_bit(DF_RELOGIN, &ddb_entry->flags);
4528 __func__, ddb_entry->fw_ddb_index));
4530 atomic_dec(&ddb_entry->retry_relogin_timer);
4535 if (atomic_read(&ddb_entry->relogin_timer) &&
4536 (atomic_dec_and_test(&ddb_entry->relogin_timer) != 0)) {
4543 atomic_inc(&ddb_entry->relogin_retry_count);
4547 ddb_entry->fw_ddb_index,
4548 atomic_read(&ddb_entry->relogin_retry_count),
4549 ddb_entry->default_time2wait + 4));
4551 atomic_set(&ddb_entry->retry_relogin_timer,
4552 ddb_entry->default_time2wait + 4);
4845 struct ddb_entry *ddb_entry;
4848 ddb_entry = sess->dd_data;
4849 ddb_entry->fw_ddb_device_state = DDB_DS_SESSION_FAILED;
4851 if (ddb_entry->ddb_type == FLASH_DDB)
4852 iscsi_block_session(ddb_entry->sess);
5071 struct ddb_entry *ddb_entry;
5075 ddb_entry = sess->dd_data;
5076 ha = ddb_entry->ha;
5078 if (ddb_entry->fw_ddb_device_state == DDB_DS_SESSION_ACTIVE) {
5081 ddb_entry->fw_ddb_index);
5082 iscsi_unblock_session(ddb_entry->sess);
5085 if (ddb_entry->ddb_type == FLASH_DDB) {
5086 if (!(test_bit(DF_RELOGIN, &ddb_entry->flags) ||
5088 &ddb_entry->flags)))
5089 qla4xxx_arm_relogin_timer(ddb_entry);
5100 struct ddb_entry *ddb_entry;
5104 ddb_entry = sess->dd_data;
5105 ha = ddb_entry->ha;
5108 ddb_entry->fw_ddb_index);
5110 iscsi_unblock_session(ddb_entry->sess);
5116 ddb_entry->fw_ddb_index);
5117 scsi_queue_work(ha->host, &ddb_entry->sess->scan_work);
5125 struct ddb_entry *ddb_entry;
5130 ddb_entry = sess->dd_data;
5131 ha = ddb_entry->ha;
5134 ddb_entry->fw_ddb_index);
5137 iscsi_conn_start(ddb_entry->conn);
5138 iscsi_conn_login_event(ddb_entry->conn,
5143 ha->host_no, __func__, ddb_entry->fw_ddb_index,
5160 struct ddb_entry *ddb_entry;
5164 ddb_entry = sess->dd_data;
5165 ha = ddb_entry->ha;
5167 relogin_timer = max(ddb_entry->default_relogin_timeout,
5169 atomic_set(&ddb_entry->relogin_timer, relogin_timer);
5173 ddb_entry->fw_ddb_index, relogin_timer));
5181 struct ddb_entry *ddb_entry;
5185 ddb_entry = sess->dd_data;
5186 ha = ddb_entry->ha;
5188 if (!(ddb_entry->ddb_type == FLASH_DDB))
5191 if (test_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags))
5194 if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags) &&
6287 static void qla4xxx_get_param_ddb(struct ddb_entry *ddb_entry,
6296 cls_sess = ddb_entry->sess;
6298 cls_conn = ddb_entry->conn;
6375 struct ddb_entry *ddb_entry;
6400 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
6401 if (ddb_entry == NULL)
6404 qla4xxx_get_param_ddb(ddb_entry, tmp_tddb);
6633 struct ddb_entry *ddb_entry,
6638 ddb_entry->ddb_type = FLASH_DDB;
6639 ddb_entry->fw_ddb_index = INVALID_ENTRY;
6640 ddb_entry->fw_ddb_device_state = DDB_DS_NO_CONNECTION_ACTIVE;
6641 ddb_entry->ha = ha;
6642 ddb_entry->unblock_sess = qla4xxx_unblock_flash_ddb;
6643 ddb_entry->ddb_change = qla4xxx_flash_ddb_change;
6644 ddb_entry->chap_tbl_idx = INVALID_ENTRY;
6646 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
6647 atomic_set(&ddb_entry->relogin_timer, 0);
6648 atomic_set(&ddb_entry->relogin_retry_count, 0);
6649 def_timeout = le16_to_cpu(ddb_entry->fw_ddb_entry.def_timeout);
6650 ddb_entry->default_relogin_timeout =
6653 ddb_entry->default_time2wait =
6654 le16_to_cpu(ddb_entry->fw_ddb_entry.iscsi_def_time2wait);
6658 set_bit(DF_BOOT_TGT, &ddb_entry->flags);
6889 struct ddb_entry *ddb_entry,
6900 cls_sess = ddb_entry->sess;
6923 struct ddb_entry *ddb_entry = NULL;
6929 cmds_max, sizeof(struct ddb_entry),
6943 ddb_entry = sess->dd_data;
6944 ddb_entry->sess = cls_sess;
6947 memcpy(&ddb_entry->fw_ddb_entry, fw_ddb_entry,
6950 qla4xxx_setup_flash_ddb_entry(ha, ddb_entry, idx);
6959 ddb_entry->conn = cls_conn;
6974 qla4xxx_update_sess_disc_idx(ha, ddb_entry, fw_ddb_entry);
6984 set_bit(DF_RELOGIN, &ddb_entry->flags);
7018 struct ddb_entry *ddb_entry = NULL;
7098 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha,
7100 if (ddb_entry != NULL)
7102 ddb_entry,
7437 struct dev_db_entry *ddb_entry = NULL;
7445 ddb_entry = dma_alloc_coherent(&ha->pdev->dev, sizeof(*ddb_entry),
7447 if (!ddb_entry) {
7454 memcpy(ddb_entry, fw_ddb_entry, sizeof(*ddb_entry));
7490 if (ddb_entry)
7491 dma_free_coherent(&ha->pdev->dev, sizeof(*ddb_entry),
7492 ddb_entry, ddb_entry_dma);
7630 struct ddb_entry *ddb_entry = NULL;
7641 ddb_entry = sess->dd_data;
7642 ha = ddb_entry->ha;
7644 if (ddb_entry->ddb_type != FLASH_DDB) {
7651 if (test_bit(DF_BOOT_TGT, &ddb_entry->flags)) {
7668 if (test_and_set_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags))
7671 ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
7686 if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags))
7693 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
7694 atomic_set(&ddb_entry->relogin_timer, 0);
7697 qla4xxx_session_logout_ddb(ha, ddb_entry, options);
7702 ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
7717 qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
7725 iscsi_destroy_endpoint(ddb_entry->conn->ep);
7728 qla4xxx_free_ddb(ha, ddb_entry);
7729 clear_bit(ddb_entry->fw_ddb_index, ha->ddb_idx_map);
7732 iscsi_session_teardown(ddb_entry->sess);
7734 clear_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags);
7759 struct ddb_entry *ddb_entry = NULL;
7821 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
7822 if (ddb_entry == NULL)
7825 if (ddb_entry->ddb_type != FLASH_DDB)
7828 index = ddb_entry->sess->target_id;
7843 ret = qla4xxx_sysfs_ddb_logout_sid(ddb_entry->sess);
8571 struct ddb_entry *ddb_entry;
8592 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
8593 if (ddb_entry == NULL)
8596 if (test_bit(DF_BOOT_TGT, &ddb_entry->flags)) {
8599 ddb_entry->fw_ddb_index));
8602 ddb_entry->fw_ddb_index,
8948 struct ddb_entry *ddb_entry)
8958 if (qla4xxx_session_logout_ddb(ha, ddb_entry, options) == QLA_ERROR) {
8973 status = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
8991 qla4xxx_clear_ddb_entry(ha, ddb_entry->fw_ddb_index);
8996 struct ddb_entry *ddb_entry;
9001 ddb_entry = qla4xxx_lookup_ddb_by_fw_index(ha, idx);
9002 if ((ddb_entry != NULL) &&
9003 (ddb_entry->ddb_type == FLASH_DDB)) {
9005 qla4xxx_destroy_ddb(ha, ddb_entry);
9013 iscsi_destroy_endpoint(ddb_entry->conn->ep);
9014 qla4xxx_free_ddb(ha, ddb_entry);
9015 iscsi_session_teardown(ddb_entry->sess);
9078 struct ddb_entry *ddb;
9295 struct ddb_entry *ddb_entry = cmd->device->hostdata;
9299 if (!ddb_entry)
9324 stat = qla4xxx_reset_lun(ha, ddb_entry, cmd->device->lun);
9339 if (qla4xxx_send_marker_iocb(ha, ddb_entry, cmd->device->lun,
9364 struct ddb_entry *ddb_entry = cmd->device->hostdata;
9368 if (!ddb_entry)
9390 stat = qla4xxx_reset_target(ha, ddb_entry);
9406 if (qla4xxx_send_marker_iocb(ha, ddb_entry, cmd->device->lun,