From 3ceac07042d03271aef1b7e9653e8b3a25618efa Mon Sep 17 00:00:00 2001
From: Gregory Nutt <gnutt@nuttx.org>
Date: Sun, 22 Sep 2013 07:53:51 -0600
Subject: [PATCH] SAMA5 OHCI:  Back out a change, the real root cause was a bug
 in the cache logic so the hack is no longer necessary

---
 ChangeLog                     | 2 +-
 arch/arm/src/sama5/sam_ohci.c | 8 --------
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a674d064f5..d6e022deb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5607,7 +5607,7 @@
 	  descriptive task names when starting the EHCI and OHCI monitor tasks
 	  (2013-9-20).
 	* arch/arm/src/sama5/sam_ohci.c:  Fix a place where DMA-related data
-	  needed to be flushed to data cache; Fix another where a virual address
+	  needed to be flushed to data cache; Fix another where a virtual address
 	  was being used in a register where a physical address was required
 	  (2013-9-20).
 	* arch/arm/src/armv7-a/cp15_clean_dcache.S and cp15_flush_dcache.S:
diff --git a/arch/arm/src/sama5/sam_ohci.c b/arch/arm/src/sama5/sam_ohci.c
index ca69a59340..b72774da03 100644
--- a/arch/arm/src/sama5/sam_ohci.c
+++ b/arch/arm/src/sama5/sam_ohci.c
@@ -1337,14 +1337,6 @@ static int sam_enqueuetd(struct sam_rhport_s *rhport, struct sam_ed_s *ed,
         {
           cp15_clean_dcache((uintptr_t)buffer,
                             (uintptr_t)buffer + buflen);
-
-          /* REVISIT:  This cache invalidation solves some transfer
-           * problems... but I don't understand why?  Without this,
-           * the above clean seems to fail to flush all of the buffer.
-           */
-
-          cp15_invalidate_dcache((uintptr_t)buffer,
-                                 (uintptr_t)buffer + buflen);
         }
 
       cp15_clean_dcache((uintptr_t)tdtail,
-- 
GitLab