Merge tag 'dmaengine-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul...
[linux-2.6-microblaze.git] / drivers / dma / ppc4xx / adma.c
index df77040..e2b5129 100644 (file)
@@ -4319,6 +4319,7 @@ static ssize_t enable_store(struct device_driver *dev, const char *buf,
                            size_t count)
 {
        unsigned long val;
+       int err;
 
        if (!count || count > 11)
                return -EINVAL;
@@ -4327,7 +4328,10 @@ static ssize_t enable_store(struct device_driver *dev, const char *buf,
                return -EFAULT;
 
        /* Write a key */
-       sscanf(buf, "%lx", &val);
+       err = kstrtoul(buf, 16, &val);
+       if (err)
+               return err;
+
        dcr_write(ppc440spe_mq_dcr_host, DCRN_MQ0_XORBA, val);
        isync();
 
@@ -4368,7 +4372,7 @@ static ssize_t poly_store(struct device_driver *dev, const char *buf,
                          size_t count)
 {
        unsigned long reg, val;
-
+       int err;
 #ifdef CONFIG_440SP
        /* 440SP uses default 0x14D polynomial only */
        return -EINVAL;
@@ -4378,7 +4382,9 @@ static ssize_t poly_store(struct device_driver *dev, const char *buf,
                return -EINVAL;
 
        /* e.g., 0x14D or 0x11D */
-       sscanf(buf, "%lx", &val);
+       err = kstrtoul(buf, 16, &val);
+       if (err)
+               return err;
 
        if (val & ~0x1FF)
                return -EINVAL;