[linux-yocto] [PATCH 09/78] arch/powerpc: Release the lock when ncr_read() completes.

Paul Butler butler.paul at gmail.com
Tue Nov 19 20:22:45 PST 2013


From: John Jacques <john.jacques at 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.jacques at 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



More information about the linux-yocto mailing list