···223223 PM8001_EVENT_LOG_SIZE;224224 pm8001_ha->main_cfg_tbl.pm8001_tbl.iop_event_log_option = 0x01;225225 pm8001_ha->main_cfg_tbl.pm8001_tbl.fatal_err_interrupt = 0x01;226226- for (i = 0; i < PM8001_MAX_INB_NUM; i++) {226226+ for (i = 0; i < pm8001_ha->max_q_num; i++) {227227 pm8001_ha->inbnd_q_tbl[i].element_pri_size_cnt =228228 PM8001_MPI_QUEUE | (pm8001_ha->iomb_size << 16) | (0x00<<30);229229 pm8001_ha->inbnd_q_tbl[i].upper_base_addr =···249249 pm8001_ha->inbnd_q_tbl[i].producer_idx = 0;250250 pm8001_ha->inbnd_q_tbl[i].consumer_index = 0;251251 }252252- for (i = 0; i < PM8001_MAX_OUTB_NUM; i++) {252252+ for (i = 0; i < pm8001_ha->max_q_num; i++) {253253 pm8001_ha->outbnd_q_tbl[i].element_size_cnt =254254 PM8001_MPI_QUEUE | (pm8001_ha->iomb_size << 16) | (0x01<<30);255255 pm8001_ha->outbnd_q_tbl[i].upper_base_addr =···671671 read_outbnd_queue_table(pm8001_ha);672672 /* update main config table ,inbound table and outbound table */673673 update_main_config_table(pm8001_ha);674674- for (i = 0; i < PM8001_MAX_INB_NUM; i++)674674+ for (i = 0; i < pm8001_ha->max_q_num; i++)675675 update_inbnd_queue_table(pm8001_ha, i);676676- for (i = 0; i < PM8001_MAX_OUTB_NUM; i++)676676+ for (i = 0; i < pm8001_ha->max_q_num; i++)677677 update_outbnd_queue_table(pm8001_ha, i);678678 /* 8081 controller donot require these operations */679679 if (deviceid != 0x8081 && deviceid != 0x0042) {
+1-1
drivers/scsi/scsi_transport_srp.c
···541541 res = mutex_lock_interruptible(&rport->mutex);542542 if (res)543543 goto out;544544- if (rport->state != SRP_RPORT_FAIL_FAST)544544+ if (rport->state != SRP_RPORT_FAIL_FAST && rport->state != SRP_RPORT_LOST)545545 /*546546 * sdev state must be SDEV_TRANSPORT_OFFLINE, transition547547 * to SDEV_BLOCK is illegal. Calling scsi_target_unblock()
+14-17
drivers/scsi/ufs/ufshcd.c
···63836383 DECLARE_COMPLETION_ONSTACK(wait);63846384 struct request *req;63856385 unsigned long flags;63866386- int free_slot, task_tag, err;63866386+ int task_tag, err;6387638763886388 /*63896389- * Get free slot, sleep if slots are unavailable.63906390- * Even though we use wait_event() which sleeps indefinitely,63916391- * the maximum wait time is bounded by %TM_CMD_TIMEOUT.63896389+ * blk_get_request() is used here only to get a free tag.63926390 */63936391 req = blk_get_request(q, REQ_OP_DRV_OUT, 0);63946392 if (IS_ERR(req))63956393 return PTR_ERR(req);6396639463976395 req->end_io_data = &wait;63986398- free_slot = req->tag;63996399- WARN_ON_ONCE(free_slot < 0 || free_slot >= hba->nutmrs);64006396 ufshcd_hold(hba, false);6401639764026398 spin_lock_irqsave(host->host_lock, flags);64036403- task_tag = hba->nutrs + free_slot;63996399+ blk_mq_start_request(req);6404640064016401+ task_tag = req->tag;64056402 treq->upiu_req.req_header.dword_0 |= cpu_to_be32(task_tag);6406640364076407- memcpy(hba->utmrdl_base_addr + free_slot, treq, sizeof(*treq));64086408- ufshcd_vops_setup_task_mgmt(hba, free_slot, tm_function);64046404+ memcpy(hba->utmrdl_base_addr + task_tag, treq, sizeof(*treq));64056405+ ufshcd_vops_setup_task_mgmt(hba, task_tag, tm_function);6409640664106407 /* send command to the controller */64116411- __set_bit(free_slot, &hba->outstanding_tasks);64086408+ __set_bit(task_tag, &hba->outstanding_tasks);6412640964136410 /* Make sure descriptors are ready before ringing the task doorbell */64146411 wmb();6415641264166416- ufshcd_writel(hba, 1 << free_slot, REG_UTP_TASK_REQ_DOOR_BELL);64136413+ ufshcd_writel(hba, 1 << task_tag, REG_UTP_TASK_REQ_DOOR_BELL);64176414 /* Make sure that doorbell is committed immediately */64186415 wmb();64196416···64306433 ufshcd_add_tm_upiu_trace(hba, task_tag, UFS_TM_ERR);64316434 dev_err(hba->dev, "%s: task management cmd 0x%.2x timed-out\n",64326435 __func__, tm_function);64336433- if (ufshcd_clear_tm_cmd(hba, free_slot))64346434- dev_WARN(hba->dev, "%s: unable clear tm cmd (slot %d) after timeout\n",64356435- __func__, free_slot);64366436+ if (ufshcd_clear_tm_cmd(hba, task_tag))64376437+ dev_WARN(hba->dev, "%s: unable to clear tm cmd (slot %d) after timeout\n",64386438+ __func__, task_tag);64366439 err = -ETIMEDOUT;64376440 } else {64386441 err = 0;64396439- memcpy(treq, hba->utmrdl_base_addr + free_slot, sizeof(*treq));64426442+ memcpy(treq, hba->utmrdl_base_addr + task_tag, sizeof(*treq));6440644364416444 ufshcd_add_tm_upiu_trace(hba, task_tag, UFS_TM_COMP);64426445 }6443644664446447 spin_lock_irqsave(hba->host->host_lock, flags);64456445- __clear_bit(free_slot, &hba->outstanding_tasks);64486448+ __clear_bit(task_tag, &hba->outstanding_tasks);64466449 spin_unlock_irqrestore(hba->host->host_lock, flags);6447645064516451+ ufshcd_release(hba);64486452 blk_put_request(req);6449645364506450- ufshcd_release(hba);64516454 return err;64526455}64536456
+2-2
drivers/target/iscsi/iscsi_target.c
···1166116611671167 target_get_sess_cmd(&cmd->se_cmd, true);1168116811691169+ cmd->se_cmd.tag = (__force u32)cmd->init_task_tag;11691170 cmd->sense_reason = target_cmd_init_cdb(&cmd->se_cmd, hdr->cdb,11701171 GFP_KERNEL);11721172+11711173 if (cmd->sense_reason) {11721174 if (cmd->sense_reason == TCM_OUT_OF_RESOURCES) {11731175 return iscsit_add_reject_cmd(cmd,···11831181 if (cmd->sense_reason)11841182 goto attach_cmd;1185118311861186- /* only used for printks or comparing with ->ref_task_tag */11871187- cmd->se_cmd.tag = (__force u32)cmd->init_task_tag;11881184 cmd->sense_reason = target_cmd_parse_cdb(&cmd->se_cmd);11891185 if (cmd->sense_reason)11901186 goto attach_cmd;