Commit 1d51a132 authored by Rasesh Mody's avatar Rasesh Mody Committed by David S. Miller

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: default avatarGurunatha Karaje <gkaraje@brocade.com>
Signed-off-by: default avatarRasesh Mody <rmody@brocade.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ae0e1489
...@@ -1201,13 +1201,13 @@ bfa_nw_ioc_sem_get(void __iomem *sem_reg) ...@@ -1201,13 +1201,13 @@ bfa_nw_ioc_sem_get(void __iomem *sem_reg)
if (!(r32 & 1)) if (!(r32 & 1))
return true; return true;
BUG_ON(!(cnt < BFA_SEM_SPINCNT));
return false; return false;
} }
void void
bfa_nw_ioc_sem_release(void __iomem *sem_reg) bfa_nw_ioc_sem_release(void __iomem *sem_reg)
{ {
readl(sem_reg);
writel(1, sem_reg); writel(1, sem_reg);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment