Lines Matching refs:aerr

211 static struct aca_bank_error *new_bank_error(struct aca_error *aerr, struct aca_bank_info *info)  in new_bank_error()  argument
222 mutex_lock(&aerr->lock); in new_bank_error()
223 list_add_tail(&bank_error->node, &aerr->list); in new_bank_error()
224 mutex_unlock(&aerr->lock); in new_bank_error()
229 static struct aca_bank_error *find_bank_error(struct aca_error *aerr, struct aca_bank_info *info) in find_bank_error() argument
235 mutex_lock(&aerr->lock); in find_bank_error()
236 list_for_each_entry(bank_error, &aerr->list, node) { in find_bank_error()
246 mutex_unlock(&aerr->lock); in find_bank_error()
251 static void aca_bank_error_remove(struct aca_error *aerr, struct aca_bank_error *bank_error) in aca_bank_error_remove() argument
253 if (!aerr || !bank_error) in aca_bank_error_remove()
257 aerr->nr_errors--; in aca_bank_error_remove()
262 static struct aca_bank_error *get_bank_error(struct aca_error *aerr, struct aca_bank_info *info) in get_bank_error() argument
266 if (!aerr || !info) in get_bank_error()
269 bank_error = find_bank_error(aerr, info); in get_bank_error()
273 return new_bank_error(aerr, info); in get_bank_error()
281 struct aca_error *aerr; in aca_error_cache_log_bank_error() local
289 aerr = &error_cache->errors[type]; in aca_error_cache_log_bank_error()
290 bank_error = get_bank_error(aerr, info); in aca_error_cache_log_bank_error()
523 struct aca_error *aerr = &error_cache->errors[type]; in aca_log_aca_error() local
526 mutex_lock(&aerr->lock); in aca_log_aca_error()
528 if (list_empty(&aerr->list)) in aca_log_aca_error()
531 list_for_each_entry_safe(bank_error, tmp, &aerr->list, node) { in aca_log_aca_error()
533 aca_bank_error_remove(aerr, bank_error); in aca_log_aca_error()
537 mutex_unlock(&aerr->lock); in aca_log_aca_error()
596 static void aca_error_init(struct aca_error *aerr, enum aca_error_type type) in aca_error_init() argument
598 mutex_init(&aerr->lock); in aca_error_init()
599 INIT_LIST_HEAD(&aerr->list); in aca_error_init()
600 aerr->type = type; in aca_error_init()
601 aerr->nr_errors = 0; in aca_error_init()
613 static void aca_error_fini(struct aca_error *aerr) in aca_error_fini() argument
617 mutex_lock(&aerr->lock); in aca_error_fini()
618 if (list_empty(&aerr->list)) in aca_error_fini()
621 list_for_each_entry_safe(bank_error, tmp, &aerr->list, node) in aca_error_fini()
622 aca_bank_error_remove(aerr, bank_error); in aca_error_fini()
625 mutex_destroy(&aerr->lock); in aca_error_fini()