Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit da0bd546 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "scsi: ufs: commit descriptors before setting the doorbell"

parents f6c1f0dc 74c2d7b0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1495,6 +1495,8 @@ void ufshcd_send_command(struct ufs_hba *hba, unsigned int task_tag)
	ufshcd_clk_scaling_start_busy(hba);
	__set_bit(task_tag, &hba->outstanding_reqs);
	ufshcd_writel(hba, 1 << task_tag, REG_UTP_TRANSFER_REQ_DOOR_BELL);
	/* Make sure that doorbell is commited immediately */
	wmb();
	ufshcd_cond_add_cmd_trace(hba, task_tag, "send");
	UFSHCD_UPDATE_TAG_STATS(hba, task_tag);
}
@@ -2057,6 +2059,8 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
		goto out;
	}

	/* Make sure descriptors are ready before ringing the doorbell */
	wmb();
	/* issue command to the controller */
	spin_lock_irqsave(hba->host->host_lock, flags);
	ufshcd_send_command(hba, tag);
@@ -2258,6 +2262,8 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,

	hba->dev_cmd.complete = &wait;

	/* Make sure descriptors are ready before ringing the doorbell */
	wmb();
	spin_lock_irqsave(hba->host->host_lock, flags);
	ufshcd_send_command(hba, tag);
	spin_unlock_irqrestore(hba->host->host_lock, flags);