Index: kernel/genarch/src/mm/asid.c
===================================================================
--- kernel/genarch/src/mm/asid.c	(revision 06e1e95342d7b9a9c85c7492529a309d51a3fb6c)
+++ kernel/genarch/src/mm/asid.c	(revision f1d1f5d3d65116db3fe2744bb3cf38c85e99f14c)
@@ -123,4 +123,12 @@
 		 */
 		as->asid = ASID_INVALID;
+		
+		/*
+		 * If the architecture uses some software cache
+		 * of TLB entries (e.g. TSB on sparc64), the
+		 * cache must be invalidated as well.
+		 */
+		as_invalidate_translation_cache(as, 0, 0);
+		
 		mutex_unlock(&as->lock);
 
@@ -142,5 +150,5 @@
 
 		/*
-		 * Purge the allocated rid from TLBs.
+		 * Purge the allocated ASID from TLBs.
 		 */
 		tlb_shootdown_start(TLB_INVL_ASID, asid, 0, 0);
