pdch: rcv_data_block: Avoid releasing ULC entry if expecting something else on UL

Let's only release PDCH ULC entry if it was indeed what we expected.
In other case, time it out.

Change-Id: I1537587f5ee801c633784691b576ebb1ed521e95
diff --git a/src/pdch.cpp b/src/pdch.cpp
index ca3a0ea..68bc69d 100644
--- a/src/pdch.cpp
+++ b/src/pdch.cpp
@@ -982,7 +982,9 @@
 	if (node) {
 		switch (node->type) {
 		case PDCH_ULC_NODE_TBF_USF:
-			if (tbf != node->tbf_usf.ul_tbf)
+			if (tbf == node->tbf_usf.ul_tbf)
+				pdch_ulc_release_node(ulc, node);
+			else
 				LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " "
 					"Rx UL DATA from unexpected %s vs expected %s\n",
 					fn, tbf_name(tbf), tbf_name(node->tbf_usf.ul_tbf));
@@ -998,7 +1000,6 @@
 				fn, tbf_name(tbf));
 			break;
 		}
-		pdch_ulc_release_node(ulc, node);
 	} else {
 		LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " "
 			"Rx UL DATA from unexpected %s\n", fn, tbf_name(tbf));