Переглянути джерело

drm/nouveau: fix thinkos in mem timing table recordlen check

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Roy Spliet 14 роки тому
батько
коміт
a845fff841
1 змінених файлів з 7 додано та 5 видалено
  1. 7 5
      drivers/gpu/drm/nouveau/nouveau_mem.c

+ 7 - 5
drivers/gpu/drm/nouveau/nouveau_mem.c

@@ -35,6 +35,8 @@
 #include "drm_sarea.h"
 #include "nouveau_drv.h"
 
+#define MIN(a,b) a < b ? a : b
+
 /*
  * NV10-NV40 tiling helpers
  */
@@ -717,14 +719,14 @@ nouveau_mem_timing_init(struct drm_device *dev)
 		tUNK_19 = 1;
 		tUNK_20 = 0;
 		tUNK_21 = 0;
-		switch (recordlen) {
-		case 0x21:
+		switch (MIN(recordlen,21)) {
+		case 21:
 			tUNK_21 = entry[21];
-		case 0x20:
+		case 20:
 			tUNK_20 = entry[20];
-		case 0x19:
+		case 19:
 			tUNK_19 = entry[19];
-		case 0x18:
+		case 18:
 			tUNK_18 = entry[18];
 		default:
 			tUNK_0  = entry[0];