[Mesa-dev] [PATCH 3/5] radeonsi: fix range checking for state regs

Christian König deathsimple at vodafone.de
Sun Sep 30 06:06:43 PDT 2012


From: Alex Deucher <alexander.deucher at amd.com>

end value is exclusive, but in practice we shouldn't
hit this.

Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Christian König <deathsimple at vodafone.de>
---
 src/gallium/drivers/radeonsi/radeonsi_pm4.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/radeonsi_pm4.c b/src/gallium/drivers/radeonsi/radeonsi_pm4.c
index ea0a1bd..79a2521 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pm4.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_pm4.c
@@ -57,17 +57,18 @@ void si_pm4_set_reg(struct si_pm4_state *state, unsigned reg, uint32_t val)
 {
 	unsigned opcode;
 
-	if (reg >= SI_CONFIG_REG_OFFSET && reg <= SI_CONFIG_REG_END) {
+	if (reg >= SI_CONFIG_REG_OFFSET && reg < SI_CONFIG_REG_END) {
 		opcode = PKT3_SET_CONFIG_REG;
 		reg -= SI_CONFIG_REG_OFFSET;
 
-	} else if (reg >= SI_SH_REG_OFFSET && reg <= SI_SH_REG_END) {
+	} else if (reg >= SI_SH_REG_OFFSET && reg < SI_SH_REG_END) {
 		opcode = PKT3_SET_SH_REG;
 		reg -= SI_SH_REG_OFFSET;
 
-	} else if (reg >= SI_CONTEXT_REG_OFFSET && reg <= SI_CONTEXT_REG_END) {
+	} else if (reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END) {
 		opcode = PKT3_SET_CONTEXT_REG;
 		reg -= SI_CONTEXT_REG_OFFSET;
+
 	} else {
 		R600_ERR("Invalid register offset %08x!\n", reg);
 		return;
-- 
1.7.9.5



More information about the mesa-dev mailing list