[dpdk-dev] [PATCH v2 07/10] bnx2x: Serialize access to pf2vf mailbox

Ferruh Yigit ferruh.yigit at intel.com
Fri Sep 30 12:45:17 CEST 2016


On 9/29/2016 11:20 AM, Chas Williams wrote:
> The pf2vf mailbox can only be used by one thread at a time.
> 
> Fixes: 540a211084a7 ("bnx2x: driver core")
> 
> Signed-off-by: Chas Williams <3chas3 at gmail.com>
> ---
>  drivers/net/bnx2x/bnx2x.h        |  12 +++--
>  drivers/net/bnx2x/bnx2x_ethdev.c |   2 +
>  drivers/net/bnx2x/bnx2x_vfpf.c   | 113 +++++++++++++++++++++++++++------------
>  3 files changed, 88 insertions(+), 39 deletions(-)

<...>

>  void
> @@ -379,9 +406,9 @@ bnx2x_vf_unload(struct bnx2x_softc *sc)
>  	if (vf_id > 0) {
>  		FOR_EACH_QUEUE(sc, i) {
>  			query_op = &sc->vf2pf_mbox->query[0].q_op;
> -			bnx2x_init_first_tlv(sc, &query_op->first_tlv,
> -					BNX2X_VF_TLV_TEARDOWN_Q,
> -					sizeof(*query_op));
> +			bnx2x_vf_prep(sc, &query_op->first_tlv,
> +				      BNX2X_VF_TLV_TEARDOWN_Q,
> +				      sizeof(*query_op));
>  
>  			query_op->vf_qid = i;
>  
> @@ -394,13 +421,15 @@ bnx2x_vf_unload(struct bnx2x_softc *sc)
>  			if (reply->status != BNX2X_VF_STATUS_SUCCESS)
>  				PMD_DRV_LOG(ERR,
>  					    "Bad reply for vf_q %d teardown", i);
> +
> +			bnx2x_vf_finalize(sc, &query->first_tlv);

This cause a compilation error with clang, seem a valid error:

.../drivers/net/bnx2x/bnx2x_vfpf.c(412):
	error #3656: variable "query" may be used before its value is set
        bnx2x_vf_finalize(sc, &query->first_tlv);
                               ^




More information about the dev mailing list