Hello Denis, On 04/24/2012 12:06 AM, Denis Kenzior wrote: >>static void set_query_cf_callback(const struct ofono_error *error, int total, [...] >> + if (cf->query_next == CALL_FORWARDING_TYPE_UNCONDITIONAL) { >> + cf->flags |= CALL_FORWARDING_FLAG_CACHED; > > I'm not quite following why we need to set this flag here? The intention was to cache for the cases we can: - CFU is set. - CFU is unset (this also triggers the re-querying of conditionals). If the logic is correct, perhaps, I could document this better. It probably needs the in place comment. >> + /* >> + * CFU has been disabled, conditionals need to be updated >> + */ >> + if (is_cfu_enabled(cf) == FALSE) >> + cf->query_end = CALL_FORWARDING_TYPE_NOT_REACHABLE; > > Would it make more sense to make this decision in set_property_request()? Sure, this makes sense and will save a bit. Initially I placed the check there, but then tried to optimize for some corner case. Just forgot to move it back after reversing that optimization. Sorry, my fault. Regards, Oleg -- Intel Finland Oy Registered Address: PL 281, 00181 Helsinki Business Identity Code: 0357606 - 4 Domiciled in Helsinki