From patchwork Thu Sep 29 10:20:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chas Williams <3chas3@gmail.com> X-Patchwork-Id: 16219 X-Patchwork-Delegate: bruce.richardson@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 1ED006932; Thu, 29 Sep 2016 12:21:17 +0200 (CEST) Received: from mail-yb0-f195.google.com (mail-yb0-f195.google.com [209.85.213.195]) by dpdk.org (Postfix) with ESMTP id C730E592F for ; Thu, 29 Sep 2016 12:21:05 +0200 (CEST) Received: by mail-yb0-f195.google.com with SMTP id t5so792648yba.3 for ; Thu, 29 Sep 2016 03:21:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7x2CHtPfycTmFig7jkPUOFQxdpafs88jfvGchc0Wkyg=; b=aB98CUdl5R1e1//1opd7W8C23+QIBnPpShONEf2d9d9NbAibT+VcAB12v1jcSNkGDz ufUQjdCaN62XT6YJXmgEJ3RdFhEuOjslADWJsEYKHzdBcQW0KIi/2t1cev7PdVyL+Gy1 MAd95YCltTPF5nspRRRIGResuLvva7tMGBCPnfY27gfnLsNf7KXSGOfepY/dhK92sES3 C592ZBknzuWVimIVwdpU0LIYTBpZlpLImN60DAcbhj/PhvafpsDOBln76M4YyEz06Y8d LFY0Yiz7+/Srpj1gjBasUqWgF4VxTICJVKZn7pujD8Rq+WdIUCMzhlZ/INPkTpgqypP2 LMgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=7x2CHtPfycTmFig7jkPUOFQxdpafs88jfvGchc0Wkyg=; b=FgcWfSGtptxcSubK0cCK+kiZuKhFr1mbuwlrYoWEsj8FlQvINtFzRjUNfsM+cXwOJ8 g85p4gpxnEZe1uv/Flt+WrWptj8/1EjnL5fSkYW3JVfQ560kAgOgrGJv59lxdAvdgC/4 FrEroQvovBWmJtI8Wzq3eJPOzMQkqpJs6Izo1gsWQ7q0Vl4efkpATrgJt6UEsfrAUSWE +9m9N7gM2/w3SLDqKXy6ueM4GD1D2h1vdWlaqtYyNmIJgcgsxkouAgVP7WHWvRoVkJkv /h+05Xjnjf9f46A/NJQ0r20qBQ6joBgpxsCYYuKe7Q9BcuPBiBK+6pKjknFDsu7hJYtS mqog== X-Gm-Message-State: AA6/9Rk+sdsqAqd7k+dO45WbYD7Hpy8Lr36N81dWVc3IBxz2Wr02kaJqDiHMt09q/iSD0g== X-Received: by 10.37.37.69 with SMTP id l66mr344793ybl.103.1475144465274; Thu, 29 Sep 2016 03:21:05 -0700 (PDT) Received: from monolith.home (pool-96-231-205-104.washdc.fios.verizon.net. [96.231.205.104]) by smtp.gmail.com with ESMTPSA id z133sm5302430ywb.51.2016.09.29.03.21.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Sep 2016 03:21:04 -0700 (PDT) From: Chas Williams <3chas3@gmail.com> To: dev@dpdk.org Cc: harish.patil@qlogic.com, Chas Williams <3chas3@gmail.com> Date: Thu, 29 Sep 2016 06:20:48 -0400 Message-Id: <1475144449-22176-9-git-send-email-3chas3@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1475144449-22176-1-git-send-email-3chas3@gmail.com> References: <1475144449-22176-1-git-send-email-3chas3@gmail.com> Subject: [dpdk-dev] [PATCH v2 09/10] bnx2x: Don't return structs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" bnx2x_loop_obtain_resources() returns a struct. This routine either succeeds or fails -- We don't need a struct for that. Fixes: 540a211084a7 ("bnx2x: driver core") Signed-off-by: Chas Williams <3chas3@gmail.com> --- drivers/net/bnx2x/bnx2x_vfpf.c | 51 ++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x_vfpf.c b/drivers/net/bnx2x/bnx2x_vfpf.c index 9b18ed6..768bb43 100644 --- a/drivers/net/bnx2x/bnx2x_vfpf.c +++ b/drivers/net/bnx2x/bnx2x_vfpf.c @@ -186,31 +186,23 @@ static inline int bnx2x_read_vf_id(struct bnx2x_softc *sc) #define BNX2X_VF_OBTAIN_MAC_FILTERS 1 #define BNX2X_VF_OBTAIN_MC_FILTERS 10 -struct bnx2x_obtain_status { - int success; - int err_code; -}; - static -struct bnx2x_obtain_status bnx2x_loop_obtain_resources(struct bnx2x_softc *sc) +int bnx2x_loop_obtain_resources(struct bnx2x_softc *sc) { - int tries = 0; struct vf_acquire_resp_tlv *resp = &sc->vf2pf_mbox->resp.acquire_resp, - *sc_resp = &sc->acquire_resp; - struct vf_resource_query *res_query; - struct vf_resc *resc; - struct bnx2x_obtain_status status; + *sc_resp = &sc->acquire_resp; + struct vf_resource_query *res_query; + struct vf_resc *resc; int res_obtained = false; + int tries = 0; + int rc; do { PMD_DRV_LOG(DEBUG, "trying to get resources"); - if (bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr)) { - /* timeout */ - status.success = 0; - status.err_code = -EAGAIN; - return status; - } + rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr); + if (rc) + return rc; memcpy(sc_resp, resp, sizeof(sc->acquire_resp)); @@ -221,12 +213,12 @@ struct bnx2x_obtain_status bnx2x_loop_obtain_resources(struct bnx2x_softc *sc) PMD_DRV_LOG(DEBUG, "resources obtained successfully"); res_obtained = true; } else if (sc_resp->status == BNX2X_VF_STATUS_NO_RESOURCES && - tries < BNX2X_VF_OBTAIN_MAX_TRIES) { + tries < BNX2X_VF_OBTAIN_MAX_TRIES) { PMD_DRV_LOG(DEBUG, "PF cannot allocate requested amount of resources"); res_query = &sc->vf2pf_mbox->query[0].acquire.res_query; - resc = &sc_resp->resc; + resc = &sc_resp->resc; /* PF refused our request. Try to decrease request params */ res_query->num_txqs = min(res_query->num_txqs, resc->num_txqs); @@ -238,24 +230,21 @@ struct bnx2x_obtain_status bnx2x_loop_obtain_resources(struct bnx2x_softc *sc) memset(&sc->vf2pf_mbox->resp, 0, sizeof(union resp_tlvs)); } else { - PMD_DRV_LOG(ERR, "Resources cannot be obtained. Status of handling: %d. Aborting", - sc_resp->status); - status.success = 0; - status.err_code = -EAGAIN; - return status; + PMD_DRV_LOG(ERR, "Failed to get the requested " + "amount of resources: %d.", + sc_resp->status); + return -EINVAL; } } while (!res_obtained); - status.success = 1; - return status; + return 0; } int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_count) { struct vf_acquire_tlv *acq = &sc->vf2pf_mbox->query[0].acquire; int vf_id; - struct bnx2x_obtain_status obtain_status; - int rc = 0; + int rc; bnx2x_vf_close(sc); bnx2x_vf_prep(sc, &acq->first_tlv, BNX2X_VF_TLV_ACQUIRE, sizeof(*acq)); @@ -287,11 +276,9 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_ sizeof(struct channel_list_end_tlv)); /* requesting the resources in loop */ - obtain_status = bnx2x_loop_obtain_resources(sc); - if (!obtain_status.success) { - rc = obtain_status.err_code; + rc = bnx2x_loop_obtain_resources(sc); + if (rc) goto out; - } struct vf_acquire_resp_tlv sc_resp = sc->acquire_resp;