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);
                               ^


Reply via email to