switch (info) {
        case IIO_EV_INFO_VALUE:
-               return mma8452_change_config(data, MMA8452_TRANSIENT_THS,
-                                            val & MMA8452_TRANSIENT_THS_MASK);
+               if (val < 0 || val > MMA8452_TRANSIENT_THS_MASK)
+                       return -EINVAL;
+
+               return mma8452_change_config(data, MMA8452_TRANSIENT_THS, val);
 
        case IIO_EV_INFO_PERIOD:
                steps = (val * USEC_PER_SEC + val2) /
                                mma8452_transient_time_step_us[
                                        mma8452_get_odr_index(data)];
 
-               if (steps > 0xff)
+               if (steps < 0 || steps > 0xff)
                        return -EINVAL;
 
                return mma8452_change_config(data, MMA8452_TRANSIENT_COUNT,