From: John Jacques <john.jacq...@lsi.com>

The RTE is an external module that allows the rest of the Axxia
hardware (the network processor part) to be used.

Until the RTE gets loaded, there are no problems whatsoever.
The RTE and Linux both use the Config Ring (ncr) to access
some hardware registers. As both can access the config ring,
a synchronization mechanism is needed. There is a synchronization
mechanism included in the hardware. The Linux driver, as well as
the external module, use that mechanism. In this case, the Linux
driver was not releasing the lock.

Signed-off-by: John Jacques <john.jacq...@lsi.com>
---
 arch/powerpc/sysdev/lsi_acp_ncr.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/sysdev/lsi_acp_ncr.c 
b/arch/powerpc/sysdev/lsi_acp_ncr.c
index 9802110..736ca5d 100644
--- a/arch/powerpc/sysdev/lsi_acp_ncr.c
+++ b/arch/powerpc/sysdev/lsi_acp_ncr.c
@@ -211,6 +211,8 @@ ncr_read(unsigned long region, unsigned long address, int 
number, void *buffer)
                memcpy((void *) buffer, &temp, number);
        }
 
+       ncr_unlock(LOCK_DOMAIN);
+
        return 0;
 }
 EXPORT_SYMBOL(ncr_read);
-- 
1.8.4.3

_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to