Lines Matching refs:aerr

229 static struct aca_bank_error *new_bank_error(struct aca_error *aerr, struct aca_bank_info *info)  in new_bank_error()  argument
240 mutex_lock(&aerr->lock); in new_bank_error()
241 list_add_tail(&bank_error->node, &aerr->list); in new_bank_error()
242 aerr->nr_errors++; in new_bank_error()
243 mutex_unlock(&aerr->lock); in new_bank_error()
248 static struct aca_bank_error *find_bank_error(struct aca_error *aerr, struct aca_bank_info *info) in find_bank_error() argument
254 mutex_lock(&aerr->lock); in find_bank_error()
255 list_for_each_entry(bank_error, &aerr->list, node) { in find_bank_error()
265 mutex_unlock(&aerr->lock); in find_bank_error()
270 static void aca_bank_error_remove(struct aca_error *aerr, struct aca_bank_error *bank_error) in aca_bank_error_remove() argument
272 if (!aerr || !bank_error) in aca_bank_error_remove()
276 aerr->nr_errors--; in aca_bank_error_remove()
281 static struct aca_bank_error *get_bank_error(struct aca_error *aerr, struct aca_bank_info *info) in get_bank_error() argument
285 if (!aerr || !info) in get_bank_error()
288 bank_error = find_bank_error(aerr, info); in get_bank_error()
292 return new_bank_error(aerr, info); in get_bank_error()
300 struct aca_error *aerr; in aca_error_cache_log_bank_error() local
308 aerr = &error_cache->errors[type]; in aca_error_cache_log_bank_error()
309 bank_error = get_bank_error(aerr, info); in aca_error_cache_log_bank_error()
542 struct aca_error *aerr = &error_cache->errors[type]; in aca_log_aca_error() local
545 mutex_lock(&aerr->lock); in aca_log_aca_error()
547 if (list_empty(&aerr->list)) in aca_log_aca_error()
550 list_for_each_entry_safe(bank_error, tmp, &aerr->list, node) { in aca_log_aca_error()
552 aca_bank_error_remove(aerr, bank_error); in aca_log_aca_error()
556 mutex_unlock(&aerr->lock); in aca_log_aca_error()
615 static void aca_error_init(struct aca_error *aerr, enum aca_error_type type) in aca_error_init() argument
617 mutex_init(&aerr->lock); in aca_error_init()
618 INIT_LIST_HEAD(&aerr->list); in aca_error_init()
619 aerr->type = type; in aca_error_init()
620 aerr->nr_errors = 0; in aca_error_init()
632 static void aca_error_fini(struct aca_error *aerr) in aca_error_fini() argument
636 mutex_lock(&aerr->lock); in aca_error_fini()
637 if (list_empty(&aerr->list)) in aca_error_fini()
640 list_for_each_entry_safe(bank_error, tmp, &aerr->list, node) in aca_error_fini()
641 aca_bank_error_remove(aerr, bank_error); in aca_error_fini()
644 mutex_unlock(&aerr->lock); in aca_error_fini()
645 mutex_destroy(&aerr->lock); in aca_error_fini()