summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/brocade
diff options
context:
space:
mode:
authorRasesh Mody <rmody@brocade.com>2011-09-16 15:06:46 +0000
committerDavid S. Miller <davem@davemloft.net>2011-09-17 00:47:57 -0400
commit1d51a1325e43e0c05df626735c66d52203d610fd (patch)
tree23aa3fdfed58a4f566ce4bbe6c9c78f5183e4b2a /drivers/net/ethernet/brocade
parentae0e148934fe016ce3fc70cacee7431ff053a2ee (diff)
downloadlinux-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.c2
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);
}