If for some reason the send message from VF to PF times out, don't bail out
right away without taking proper cleanup action. The goto statement calls
ecore_vf_pf_req_end() which will unlock the mutex previously held.

Signed-off-by: Rasesh Mody <rasesh.m...@cavium.com>
---
 drivers/net/qede/base/ecore_vf.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/qede/base/ecore_vf.c b/drivers/net/qede/base/ecore_vf.c
index 97ed0b7..e84f97a 100644
--- a/drivers/net/qede/base/ecore_vf.c
+++ b/drivers/net/qede/base/ecore_vf.c
@@ -237,10 +237,8 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct 
ecore_hwfn *p_hwfn)
                /* send acquire request */
                rc = ecore_send_msg2pf(p_hwfn,
                                       &resp->hdr.status, sizeof(*resp));
-
-               /* PF timeout */
-               if (rc)
-                       return rc;
+               if (rc != ECORE_SUCCESS)
+                       goto exit;
 
                /* copy acquire response from buffer to p_hwfn */
                OSAL_MEMCPY(&p_iov->acquire_resp,
-- 
1.7.10.3

Reply via email to