diff options
author | Ariel Elior <ariele@broadcom.com> | 2013-01-23 07:21:54 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-23 22:58:30 +0400 |
commit | 4c133c39ae1bc541b3db5903a680da738a0c57e3 (patch) | |
tree | 7db74a71be645a8fb774340bc3829d4492d5eb4d /drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h | |
parent | ca9bdb9b279d3bffb7f8a0dc15686a2c23fa0c12 (diff) | |
download | linux-4c133c39ae1bc541b3db5903a680da738a0c57e3.tar.xz |
bnx2x: SR-IOV version compatibility bugfix
When posting a message on the bulletin board, the PF calculates crc
over the message and places the result in the message. When the VF
samples the Bulletin Board it copies the message aside and validates
this crc. The length of the message is crucial here and must be the
same in both parties. Since the PF is running in the Hypervisor and
the VF is running in a Vm, they can possibly be of different versions.
As the Bulletin Board is designed to grow forward in future versions,
in the VF the length must not be the size of the message structure
but instead it should be a field in the message itself.
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h index a74477c3551e..bfc80baec00d 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.h @@ -318,7 +318,8 @@ struct pf_vf_bulletin_content { u32 crc; /* crc of structure to ensure is not in * mid-update */ - u32 version; + u16 version; + u16 length; aligned_u64 valid_bitmap; /* bitmap indicating which fields * hold valid values |