Currently writing the attributes with "echo" will result in comparing:
"enabled\n" with "enabled\0" and attribute is always set to false.
Use the sysfs_streq() instead because it treats both NUL and
new-line-then-NUL as equivalent string terminations.
Signed-off-by: Dan Bogdan Nechita <[email protected]>
---
drivers/misc/ad525x_dpot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/misc/ad525x_dpot.c b/drivers/misc/ad525x_dpot.c
index 15e8807..4230e6a 100644
--- a/drivers/misc/ad525x_dpot.c
+++ b/drivers/misc/ad525x_dpot.c
@@ -452,7 +452,7 @@ static ssize_t sysfs_set_reg(struct device *dev,
int err;
if (reg & DPOT_ADDR_OTP_EN) {
- if (!strncmp(buf, "enabled", sizeof("enabled")))
+ if (sysfs_streq(buf, "enabled"))
set_bit(DPOT_RDAC_MASK & reg, data->otp_en_mask);
else
clear_bit(DPOT_RDAC_MASK & reg, data->otp_en_mask);
--
1.7.9.5
On 11/18/2015 05:16 PM, Dan Bogdan Nechita wrote:
> Currently writing the attributes with "echo" will result in comparing:
> "enabled\n" with "enabled\0" and attribute is always set to false.
>
> Use the sysfs_streq() instead because it treats both NUL and
> new-line-then-NUL as equivalent string terminations.
>
> Signed-off-by: Dan Bogdan Nechita <[email protected]>
Acked-by: Michael Hennerich <[email protected]>
> ---
> drivers/misc/ad525x_dpot.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/ad525x_dpot.c b/drivers/misc/ad525x_dpot.c
> index 15e8807..4230e6a 100644
> --- a/drivers/misc/ad525x_dpot.c
> +++ b/drivers/misc/ad525x_dpot.c
> @@ -452,7 +452,7 @@ static ssize_t sysfs_set_reg(struct device *dev,
> int err;
>
> if (reg & DPOT_ADDR_OTP_EN) {
> - if (!strncmp(buf, "enabled", sizeof("enabled")))
> + if (sysfs_streq(buf, "enabled"))
> set_bit(DPOT_RDAC_MASK & reg, data->otp_en_mask);
> else
> clear_bit(DPOT_RDAC_MASK & reg, data->otp_en_mask);
>