mediatek: cast literal value to char
authorSven Wegener <sven.wegener@stealer.net>
Sat, 12 Jun 2021 19:56:21 +0000 (21:56 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 18 Sep 2022 14:39:41 +0000 (15:39 +0100)
Or the comparison against a signed char is always true, because the
literal 0xaa is treated as an unsigned int, to which the signed char is
casted during comparison. 0xaa is above the positive values of a signed
char and negative signed char values result in values larger than 0xaa
when casted to unsigned int.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
(cherry picked from commit e9a22ce2535c4a0faf83d5595304fe0e2c7bd1b2)

target/linux/mediatek/files-5.10/drivers/leds/leds-ubnt-ledbar.c

index 9bfe0e62f4926cd269e3bbc0c9e263a658b06f65..8168391d7e7cd8c08890c220b00822d8ae565017 100644 (file)
@@ -26,7 +26,7 @@
 #define UBNT_LEDBAR_MAX_BRIGHTNESS     0xff
 
 #define UBNT_LEDBAR_TRANSACTION_LENGTH 8
-#define UBNT_LEDBAR_TRANSACTION_SUCCESS        0xaa
+#define UBNT_LEDBAR_TRANSACTION_SUCCESS        (char) 0xaa
 
 #define UBNT_LEDBAR_TRANSACTION_BLUE_IDX       2
 #define UBNT_LEDBAR_TRANSACTION_GREEN_IDX      3