X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fedac%2Fedac_mc_sysfs.c;fp=drivers%2Fedac%2Fedac_mc_sysfs.c;h=b335c6ab5efe02e0ef9b5742e8691e617b5a30af;hb=9da21b1509d8aa7ab4846722817d16c72d656c91;hp=8ec1747b1c399ee4fbd6ac176557cdc0a71b97e5;hpb=4675348e78fab420e70f9144b320d9c063c7cee8;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c index 8ec1747b1c39..b335c6ab5efe 100644 --- a/drivers/edac/edac_mc_sysfs.c +++ b/drivers/edac/edac_mc_sysfs.c @@ -52,18 +52,20 @@ int edac_mc_get_poll_msec(void) static int edac_set_poll_msec(const char *val, struct kernel_param *kp) { - long l; + unsigned long l; int ret; if (!val) return -EINVAL; - ret = kstrtol(val, 0, &l); + ret = kstrtoul(val, 0, &l); if (ret) return ret; - if (!l || ((int)l != l)) + + if (l < 1000) return -EINVAL; - *((int *)kp->arg) = l; + + *((unsigned long *)kp->arg) = l; /* notify edac_mc engine to reset the poll period */ edac_mc_reset_delay_period(l);