From: Marc Fiuczynski Date: Tue, 19 Apr 2005 12:48:30 +0000 (+0000) Subject: don't decrement below zero X-Git-Tag: before-fedora-2_6_18-1_2239_FC5-vs2_0_2_2-rc6-merge~216 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=97f93fd0a13d9ed8f5af59170062afc9bebe195a;p=linux-2.6.git don't decrement below zero --- diff --git a/kernel/ckrm/ckrm_numtasks.c b/kernel/ckrm/ckrm_numtasks.c index 7b02a6ca2..c0583055d 100644 --- a/kernel/ckrm/ckrm_numtasks.c +++ b/kernel/ckrm/ckrm_numtasks.c @@ -165,7 +165,12 @@ static void numtasks_put_ref_local(struct ckrm_core_class *core) res = ckrm_get_res_class(core, resid, struct ckrm_numtasks); if (res == NULL) return; + + if (atomic_read(&res->cnt_cur_alloc)==0) + return; + atomic_dec(&res->cnt_cur_alloc); + if (atomic_read(&res->cnt_borrowed) > 0) { atomic_dec(&res->cnt_borrowed); numtasks_put_ref_local(res->parent);