diff --git a/drivers/staging/panel/panel.c b/drivers/staging/panel/panel.c index b303b7e42b63..4683d5f355c0 100644 --- a/drivers/staging/panel/panel.c +++ b/drivers/staging/panel/panel.c @@ -1179,16 +1179,14 @@ static inline int handle_lcd_special_code(void) break; while (*esc) { - char *endp; - if (*esc == 'x') { esc++; - lcd_addr_x = simple_strtoul(esc, &endp, 10); - esc = endp; + if (kstrtoul(esc, 10, &lcd_addr_x) < 0) + break; } else if (*esc == 'y') { esc++; - lcd_addr_y = simple_strtoul(esc, &endp, 10); - esc = endp; + if (kstrtoul(esc, 10, &lcd_addr_y) < 0) + break; } else break; }