Merge tag 'omap-for-v5.12/fixes-rc1-signed' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / drivers / bluetooth / bt3c_cs.c
index 25b0cf9..5471383 100644 (file)
@@ -448,7 +448,7 @@ static int bt3c_load_firmware(struct bt3c_info *info,
 {
        char *ptr = (char *) firmware;
        char b[9];
-       unsigned int iobase, tmp;
+       unsigned int iobase, tmp, tn;
        unsigned long size, addr, fcs;
        int i, err = 0;
 
@@ -490,7 +490,9 @@ static int bt3c_load_firmware(struct bt3c_info *info,
                memset(b, 0, sizeof(b));
                for (tmp = 0, i = 0; i < size; i++) {
                        memcpy(b, ptr + (i * 2) + 2, 2);
-                       tmp += simple_strtol(b, NULL, 16);
+                       if (kstrtouint(b, 16, &tn))
+                               return -EINVAL;
+                       tmp += tn;
                }
 
                if (((tmp + fcs) & 0xff) != 0xff) {
@@ -505,7 +507,8 @@ static int bt3c_load_firmware(struct bt3c_info *info,
                        memset(b, 0, sizeof(b));
                        for (i = 0; i < (size - 4) / 2; i++) {
                                memcpy(b, ptr + (i * 4) + 12, 4);
-                               tmp = simple_strtoul(b, NULL, 16);
+                               if (kstrtouint(b, 16, &tmp))
+                                       return -EINVAL;
                                bt3c_put(iobase, tmp);
                        }
                }