Mesa (master): radeonsi: fix range checking for state regs

Christian König deathsimple at kemper.freedesktop.org
Mon Oct 1 08:30:00 UTC 2012


Module: Mesa
Branch: master
Commit: 918e302a19d960b331c7dddf17b31a3ad3f4a627
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=918e302a19d960b331c7dddf17b31a3ad3f4a627

Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Fri Sep 28 12:09:16 2012 -0400

radeonsi: fix range checking for state regs

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 files 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;




More information about the mesa-commit mailing list