net/qede/base: fix to handle acquire request from VF

Add a check and fail the VF's probe request if VF is already in
VF_ACQUIRED state.

Fixes: 22d07d939c ("net/qede/base: update")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
This commit is contained in:
Rasesh Mody 2016-12-22 16:50:03 -08:00 committed by Ferruh Yigit
parent 917ce8bd36
commit b765730bc1

View File

@ -1459,6 +1459,18 @@ static void ecore_iov_vf_mbx_acquire(struct ecore_hwfn *p_hwfn,
pfdev_info->major_fp_hsi = ETH_HSI_VER_MAJOR;
pfdev_info->minor_fp_hsi = ETH_HSI_VER_MINOR;
/* TODO - not doing anything is bad since we'll assert, but this isn't
* necessarily the right behavior - perhaps we should have allowed some
* versatility here.
*/
if (vf->state != VF_FREE &&
vf->state != VF_STOPPED) {
DP_VERBOSE(p_hwfn, ECORE_MSG_IOV,
"VF[%d] sent ACQUIRE but is already in state %d - fail request\n",
vf->abs_vf_id, vf->state);
goto out;
}
/* Validate FW compatibility */
if (req->vfdev_info.eth_fp_hsi_major != ETH_HSI_VER_MAJOR) {
if (req->vfdev_info.capabilities &