diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index b49c2fb..f9fe707 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -1265,6 +1265,11 @@ static Bool FUNC_NAME(R300TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
txfilter = (unit << R300_TX_ID_SHIFT);
+ /* workaround strange firefox chip hang on rs690 */
+ if (info->ChipFamily == CHIP_FAMILY_RS600 ||
+ info->ChipFamily == CHIP_FAMILY_RS690)
+ txfilter |= R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_BORDER);
+
if (pPict->repeat) {
switch (pPict->repeatType) {
case RepeatNormal: