diff --git a/drivers/ufs/ufs.c b/drivers/ufs/ufs.c index 57e6e8c013b..1d52ff64a4a 100644 --- a/drivers/ufs/ufs.c +++ b/drivers/ufs/ufs.c @@ -761,7 +761,8 @@ static void ufshcd_prepare_req_desc_hdr(struct ufs_hba *hba, *upiu_flags = UPIU_CMD_FLAGS_NONE; } - dword_0 = data_direction | (0x1 << UPIU_COMMAND_TYPE_OFFSET); + dword_0 = (data_direction << UPIU_DATA_DIRECTION_OFFSET) + | (0x1 << UPIU_COMMAND_TYPE_OFFSET); /* Enable Interrupt for command */ dword_0 |= UTP_REQ_DESC_INT_CMD; diff --git a/drivers/ufs/ufs.h b/drivers/ufs/ufs.h index 0337ac5996b..8dfa4eaa3be 100644 --- a/drivers/ufs/ufs.h +++ b/drivers/ufs/ufs.h @@ -77,6 +77,9 @@ enum { /* UTP Transfer Request Command Offset */ #define UPIU_COMMAND_TYPE_OFFSET 28 +/* UTP Transfer Request Data Direction Offset */ +#define UPIU_DATA_DIRECTION_OFFSET 25 + /* Offset of the response code in the UPIU header */ #define UPIU_RSP_CODE_OFFSET 8