diff options
author | Rasesh Mody <rmody@brocade.com> | 2011-09-16 15:06:46 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-09-17 00:47:57 -0400 |
commit | 1d51a1325e43e0c05df626735c66d52203d610fd (patch) | |
tree | 23aa3fdfed58a4f566ce4bbe6c9c78f5183e4b2a /drivers/net/ethernet/brocade | |
parent | ae0e148934fe016ce3fc70cacee7431ff053a2ee (diff) | |
download | linux-1d51a1325e43e0c05df626735c66d52203d610fd.tar.gz linux-1d51a1325e43e0c05df626735c66d52203d610fd.tar.bz2 linux-1d51a1325e43e0c05df626735c66d52203d610fd.zip |
bna: Semaphore Lock Fix
Remove a BUG_ON() as it is not required.
Change the unconditional write to release a semaphore to read sem first
and then write. This will eliminate the possibility of sem getting locked
while trying to release it in case if previous sem_get operation failed.
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com>
Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/brocade')
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bfa_ioc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bfa_ioc.c b/drivers/net/ethernet/brocade/bna/bfa_ioc.c index 029fb527e80d..4282fef24f95 100644 --- a/drivers/net/ethernet/brocade/bna/bfa_ioc.c +++ b/drivers/net/ethernet/brocade/bna/bfa_ioc.c @@ -1201,13 +1201,13 @@ bfa_nw_ioc_sem_get(void __iomem *sem_reg) if (!(r32 & 1)) return true; - BUG_ON(!(cnt < BFA_SEM_SPINCNT)); return false; } void bfa_nw_ioc_sem_release(void __iomem *sem_reg) { + readl(sem_reg); writel(1, sem_reg); } |