spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);
 
-               if (!qed_mcp_has_pending_cmd(p_hwfn)) {
-                       spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
+               if (!qed_mcp_has_pending_cmd(p_hwfn))
                        break;
-               }
 
                rc = qed_mcp_update_pending_cmd(p_hwfn, p_ptt);
-               if (!rc) {
-                       spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
+               if (!rc)
                        break;
-               } else if (rc != -EAGAIN) {
+               else if (rc != -EAGAIN)
                        goto err;
-               }
 
                spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
 
                return -EAGAIN;
        }
 
-       spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);
-
        /* Send the mailbox command */
        qed_mcp_reread_offsets(p_hwfn, p_ptt);
        seq_num = ++p_hwfn->mcp_info->drv_mb_seq;
 
                spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);
 
-               if (p_cmd_elem->b_is_completed) {
-                       spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
+               if (p_cmd_elem->b_is_completed)
                        break;
-               }
 
                rc = qed_mcp_update_pending_cmd(p_hwfn, p_ptt);
-               if (!rc) {
-                       spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
+               if (!rc)
                        break;
-               } else if (rc != -EAGAIN) {
+               else if (rc != -EAGAIN)
                        goto err;
-               }
 
                spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);
        } while (++cnt < max_retries);
                return -EAGAIN;
        }
 
-       spin_lock_bh(&p_hwfn->mcp_info->cmd_lock);
        qed_mcp_cmd_del_elem(p_hwfn, p_cmd_elem);
        spin_unlock_bh(&p_hwfn->mcp_info->cmd_lock);