Index: /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/netinet/click_eroute.c
===================================================================
--- /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/netinet/click_eroute.c	(revision 38859)
+++ /branches/rel_apv_10_4_0_112_gail/usr/src/sys/click/netinet/click_eroute.c	(working copy)
@@ -10583,6 +10583,10 @@
 	 */
 	hp = hashInSearch(table, ori_key, &tmp_rirtentry, (flag & EROUTE_RTS_UPDATE)? HASH_NOINSERT: HASH_INSERT);
 	if (NULL == hp) {
+		if (flag & EROUTE_RTS_UPDATE) {
+			RIRT_TABLE_UNLOCK(RIRT_LI(ori_key));
+			return;
+		}
 		/* out of memory, throw away oldest */
 		rirt = TIMER_FIRST(rts_lru[isipv6][RIRT_LI(ori_key)]);
 		if (rirt) {
