diff options
-rw-r--r-- | drivers/md/bcache/sysfs.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/md/bcache/sysfs.h b/drivers/md/bcache/sysfs.h index 3fe82425859c..0ad2715a884e 100644 --- a/drivers/md/bcache/sysfs.h +++ b/drivers/md/bcache/sysfs.h | |||
@@ -81,9 +81,16 @@ do { \ | |||
81 | 81 | ||
82 | #define sysfs_strtoul_clamp(file, var, min, max) \ | 82 | #define sysfs_strtoul_clamp(file, var, min, max) \ |
83 | do { \ | 83 | do { \ |
84 | if (attr == &sysfs_ ## file) \ | 84 | if (attr == &sysfs_ ## file) { \ |
85 | return strtoul_safe_clamp(buf, var, min, max) \ | 85 | unsigned long v = 0; \ |
86 | ?: (ssize_t) size; \ | 86 | ssize_t ret; \ |
87 | ret = strtoul_safe_clamp(buf, v, min, max); \ | ||
88 | if (!ret) { \ | ||
89 | var = v; \ | ||
90 | return size; \ | ||
91 | } \ | ||
92 | return ret; \ | ||
93 | } \ | ||
87 | } while (0) | 94 | } while (0) |
88 | 95 | ||
89 | #define strtoul_or_return(cp) \ | 96 | #define strtoul_or_return(cp) \ |