From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932624AbdCIPNe (ORCPT ); Thu, 9 Mar 2017 10:13:34 -0500 Received: from mail-by2nam01on0053.outbound.protection.outlook.com ([104.47.34.53]:64032 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932501AbdCIPNa (ORCPT ); Thu, 9 Mar 2017 10:13:30 -0500 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; From: Madalin Bucur To: CC: , , , , , Madalin Bucur Subject: [net-next v2 07/10] dpaa_eth: do not ignore port api return value Date: Thu, 9 Mar 2017 16:37:02 +0200 Message-ID: <1489070225-7891-8-git-send-email-madalin.bucur@nxp.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1489070225-7891-1-git-send-email-madalin.bucur@nxp.com> References: <1489070225-7891-1-git-send-email-madalin.bucur@nxp.com> Reply-To: X-EOPAttributedMessage: 0 X-Matching-Connectors: 131335438677300748;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.158.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39850400002)(39450400003)(39400400002)(39380400002)(39860400002)(39840400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(3450700001)(76176999)(50986999)(36756003)(77096006)(4326008)(5003940100001)(33646002)(69596002)(50226002)(50466002)(38730400002)(6666003)(8936002)(110136004)(81166006)(189998001)(356003)(305945005)(53936002)(8676002)(2950100002)(6916009)(48376002)(105606002)(106466001)(85426001)(2906002)(86362001)(104016004)(43066003)(54906002)(47776003)(2351001)(8656002)(5660300001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0301MB0733;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD035;1:PgbYucpZR8Pj58EZHTBZe8+vD1fAEAotuH8WQGAtpnXCy9zcPu9qyZvoR+1CkFor5ti983tEqNJqCaRiI42cS9gh6QNNTM+2wPUCJpe5bq6pAdg42vPdV/DlOvH5H1Innw3vOnyGvNVFizKG4I1/Hdsw9maCGpcnFkxLDpqPkevphkviAlGb8VTfTxg55EF/u70bhj7Ks8wGS2iPj4Ijvfr43lFJolfFOCOwk6Nq+l9kbSg79XZIi8KkOiM9Yh5lEcihpqArtsfTebkNOEfnH5KZzLYGMgqAj7/GvNu96LIb6zEcWY56qERZzxb4juwwLGNe47pRZ05WVjiiwoYDQEXIYqFF0aNw3Z6doVa0UVdowskdmi0xNFyTb6Eom3tki1EiWx1Dggdew+YmCm/auR6OOPs3ij/9xenVuB+yKIyZ8WY48HMbH7ku+nDaaxwF6a4U7wIVVR66IEMF3l2jDc5N4huoHR65YH2bm+zfCtx+H249bqgcWv6HL/ZUcDDCAT+T51avKAGxPxket+XHJDHQWke/+aFY7nc+wHqPhPBGH/IAFx3cuUmHyP6Z6ticdjwOFeYTvNz5SKmDhueRm72XCT/S4CSVGgXD72Pi6YlgjFkUcyYNrcSlRpHhsXVrfhLKo7lhRODJVLecQ8RQesUvkVWcKxhqW/PmBpl76qHN2b1mDobC6bobSK5eOMIIkw8kvlu+FnWVUFAix9vofQ== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: a328b513-695d-4d3f-74ab-08d466f9db3c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM2PR0301MB0733; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0733;3:uW0lpmACE77vgba9lF4OcEUgl8RTyuNXwxaFPcSFh5MfBEIjpYRIxz5vZCiRhfA/Ef8emrDIaf4je+LBLbCpm22PEc2uYDQOmO1adOuhqJEK/eD9DWYKj2KURUI1irBZtSTQQRhUQbv0sOWXA+UKLU3wBuB863n0TTpU7EUSdf2Lq1XG5WkSHchl7hwZ+8tCDud1gtjskJwv0rPLBICZjnz1e31YX4FaMmHil+U+kfwpat1AQ9iLAZb4Vp5uCiylBjjtszzO7u4QyQed3Q2gHcYE1K5Dc4nU/V+Sov1AmABEYzW9l6CEmEOtkOi3wIRR/zHtleBMUm0ZCyy6BRkBGi+ItggQ9RbTQQqQOKuD1e8auWJrlFAq5I4lgWYXppLE;25:81V9UhbSJNaJTEoZtOCfU/ogyfCZxR3EZujSfVK5Yt30i8S0/SRom6N3p+8YAwxVoyE7HGYyKwVAtvN14E9TGOyu0j82zk1z0z+TcASnbcuWMIcpjQyQNygN5RFrBmLzpi9PtpM4T0EHKCntIOS7bQMaMiH1HZhv83z4WnZbtZ2JnPfroC8PsJ0j7ZkScITLDFuRHiwsODj6OoG/S+TcGtrMr7TgIsqh9/VPVQRpjTpvkfdb9JiCqLAv9LbmdauGrAQnp8Rg9f3iWx3woA7iurQ77RKzZXHiOOwXGB2sD5zL0oPrqWphZx0Q9M2h+y9s4tBZKZ2CxwT98dVL8+i6PkrvYNGv95icl2kWVyk/yE7PfM/m/ut3UhFrSxqoh1pgeYJ4btZK41XxiHuDE9mocND+rokaQxi6D6KgJAVFCMu6I+NOj+oioHt3/7GdFattutPfmkWodkeG1YIXpy/P6w== X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0733;31:70XMB4GBvlAhwxv6GdJqOaS5Nohm5ZgdoU24sXMD5PHVMbOqULQuMQX7cPJs5KHt/kHy0BuygCuoNpu53HOSIh1YdeUHE2+KSixAKj5zNwuQncEJr/KWksdiYOn+C2LFx6P8rlbPxajgJIm9VsLtGfnRZtfEPnE4RMN3pt/r6+Xm+sMblooUOE+6HEX70rqSQ3poXS+a6f8HMTLKsG5qwyDIg+r7gJpqM6Nh+KMEQi8UgTxeQ3dZOkrJSvt0QfhEGWvr73YIIt862uVCGDb6Cv6XGfU4waKd4Cfx8QgY+PA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(146099531331640); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095060)(601004)(2401047)(13017025)(13024025)(13018025)(13023025)(13015025)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6096035)(20161123559025)(20161123563025)(20161123561025)(20161123556025)(20161123565025);SRVR:DM2PR0301MB0733;BCL:0;PCL:0;RULEID:(400006);SRVR:DM2PR0301MB0733; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0733;4:OEaMSm1O82qxeldp+2NJSGIW49nCnCXnf+qLitZeFv7ZlrcSOtt95brlFJ6slJQLUNTB4hlZnWw9pLmk6eM4Eh27xIWjk5qbR0+GdQLn1tOfDSnqmky0JJn6zm9dyK6pURWnqmzez9baCEtw4Wn36HC1/NfElR7JYITeWcC15VzjQEnZZf5v2Jw/uU+J7wtCSWIUH5XMMwHAUZEuDOJxILhNWzbiBnPeg8LvHlbu5870box6XJZtfVRtuVCcIG87npX1Yl3nZGVCFUA7W0ipTnqGOZM6CUY8SRViIr7yFmDXCGRoJ2utLvvGSOzwxASBStAZraxWiPFOnLRa2R+emw+EKPk2PXGltCXTK3yKNIHUJ/5YqDEcter5fGAsp4ea/mouz6loLcSUEP2OnKKDXf83WjrqTwV3gz3CYvsZJKPVb86VUSnfMCZCQsqhhsjemW68IDLWcapqCua5xv9/sxsjsdQS4w1DTSnLDmZCu1vKnM8//M22JWwj6/cTJZeLNUgmfLZLiKdrGznWf3B3k//NXNsKwi9Vtm/q/WQkzeT7rM0W3w7wZZtUX8CsAzP6qpjMh0hjTCJmOqBKjcVvB4SO2E+4v4C3TS2jsV8Vmh1MO4W+nI9CDyGM9QU1+yLQrOiVdN9k1qj2EcVYYWlJVxqVxUAoWegpg/EHS5jhIXkM93Nx22glhU/aFY9nvgfZmNGZeFEXdq+2U4j4A2GXBbIrMCEiOQic+hI/pbD7m0yYTvPRCQiAowCICsUNsFfIaCPDYdusXHtKFW3qtr4tVg== X-Forefront-PRVS: 0241D5F98C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0733;23:I0hsDAbssSwJncUIMkCFHhPJxJikCHqLEaP4HkP?= =?us-ascii?Q?FHpJp8UoD6bqEd60Tv+KuoLaKDWkfZpBGVXkJQzODYDXeHJW8eiARlW0pgjm?= =?us-ascii?Q?tsTYpXx5W4u0rrjtPqAprgROiBS8rnp1ZZk/v5tCM4JRWVyuksOgQXnEgAwQ?= =?us-ascii?Q?7p9pW5U790f1AqrKYeonDTg5qp+Mqd95JeQrIPA6zJogN7xabIEfp74Pp6l2?= =?us-ascii?Q?6RSW27AG4r0rJcxSsz/tC9JKF0uHeIeAbVWv0iDQ9SugLkTOf6Oh1X3NcPPL?= =?us-ascii?Q?LtXHrtGUQXxJoV56BMoQ0mjFKqmmgNHObUccb248Fd9LRQrMmj3UuMXkEd4m?= =?us-ascii?Q?9uoLh+H0BCSZArUFsbyCchmKzFHDLgJSKdXnz99BgPdQmzDIG7Ss2eq7JGmM?= =?us-ascii?Q?cyjyVyB4lrJ3v+A+f/WT04olSvqQUcAnHWih5rNMpP+nnfmAHGHH/++86iiC?= =?us-ascii?Q?LxOo5IclwNG9nXwROqM/whjs0AnJbybVs10SCpAQVQlA5sZnM9BZI3xEdecL?= =?us-ascii?Q?phxk0e+ep5OqG/U9IkZeSBR4UTZzcOPERKRwYtyQOMduKEowcnBF3l+L1Re2?= =?us-ascii?Q?FLWN0qHhEpVr40SIwvyvFvsNDfp67jcH/WM4NsgBefxalNKX5v3qOnJifZOm?= =?us-ascii?Q?srpQuwziZfaBdX4NwC9Ifl0EjJ579T497GjDlL0UgsLYnHyuAM2QbZX1q/Qc?= =?us-ascii?Q?NY/jTiv1eX9Tn926tKpEQv7NdslqAMRF3YPG8yCgxhE+BfgPC29gDniU11zA?= =?us-ascii?Q?v4uEAw89VpKAfDZVu8CESRAKysWB9BNP9F+gaVprmMr222G988r5cWv10PNE?= =?us-ascii?Q?dP5fAO29ZunpIk2BnIjtYK0Ln3/TBP8egQtRbAVsxHmdT+6Z8Rruc6B0E3dE?= =?us-ascii?Q?2RHT8rpfKGw1Ha1Q4FDPbbiRfJ8/VUPRBLQslemwMbjSbxdpP+/rPi4IG76V?= =?us-ascii?Q?B4sgyuxogYv9zgaZUzd103IPfUirS5waZadn5kiO0nTPGc+9z7vL2PbszP5/?= =?us-ascii?Q?IsL1TB270FpUn9ylUkVV1qLB8WbxwrD2mMYFEZzNkqY7gxJHtvrwJgW3VjaN?= =?us-ascii?Q?boj12G0y6gwXzVKrJOgQhhBvdkzwEs39ziQn81Hv07N3D5hza8R1JKkaqWad?= =?us-ascii?Q?CewDc+kX87X9zzTADiJJeZq/dQV2lmgREAdGz8u2OvqaWHi/zWKUXg+pVpEF?= =?us-ascii?Q?mAXUCt0Se6vJBOoyMOHz1QDUUWx0DKEwxlgSInNOhZZB09aeAIbsqRace77P?= =?us-ascii?Q?J0ImDv4Q0DpeDI3n6uF0O3rgXa2TbijmaEniyFD63oPQoFf1sqgNWt6yZIjC?= =?us-ascii?Q?iVw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0733;6:nYHt4lNVPGlNFsXRHMtBR4lLNYgajerGIyv//jhBrO1gynhw4FuBEm5tXkdmG9Xp8DcgMbp88lXmHHt44SNzvmG2B81AH8UD16jFNSNH0WxzYdX5DxX/MRrR+1xxvD3SjCl+Z47YflIKXwez6a8vxjsO1z5M+mXN/+OmtEauDY2vxm8zc3SBi1vhziRidwpOsOMUzVGXV0njVKU9JOvu0nRTi5Ec/flVKTZ2m5/Xppz3KQUaRRRfBEblP239N0CLWxCg/kmq8RNsiaRvb4sMD9GqSY1D98o302tgSuhQbmRo9K/n4ToFWBG6VL+ThnypoiwvJGmjS+68RKCtSABpWDwbnmZ6Nt1CXXOE38DLwbDa0OS+tz749siO+XDDiXgobs2qaE/58CfgJ8wjPH+TBKK2sDagRobWDd9vHBFMGDM=;5:c9orF80ITe9MD+bfo0PDTS16Y7nhUTfHiy4hGPxfG+kQx0+dBxSGsR71iowVFZXhVYHG/7QgZHwkfKlvM1WPKeNNyV9LNp0gBzzpA1/5dKbLo1qP8ujp7je+XCKdL/LGbU2zAtcNeIhSx7Be/49/FznXNZsbLfTajL01ShbGHWCVVjxuN7tnagt0cHDDzRh1;24:ZScpWoYPnTfhEupxpiYJU/baLXH1HS1oZimTPWX41oEU4MxpTp8qyVjeZITBdNnNo5JA3utpI5vwE7WRWLqDYVljCbrBKeceipTRab8uB7c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0733;7:v9Sozpz2y+BLFh4u5oUBqUimZrGLb+BNujCIAZZPhoqpkoIZt2LkZapM44oLXlH+qV4Mw4PjV8aJ+VwFHTNXtTG97paF1YzLinWPQ0D7vOMJyITaMrXb5+1kbZcko1h162OscqXHH5cjzlM3sOgQ9B48Nzn8j5TJeapiPZmN6jCL0c4QWTyfd42OhBSb0KwkFsZ16Z7f9OAmlo4tRtWEkmmwSHwxDKrnC/AqDcyOKgp8aIPWjqkfSXymXQeVBxZjJVogY6SPjiR/IN69Tc5vQqaGGENZ1ueV3mv+D9+aPINf4W2vkThyGtvfAT2lJElS5Txb8STq31QnMp4Xm7Inlg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2017 14:37:47.1216 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0733 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reported-by: Dan Carpenter Signed-off-by: Madalin Bucur --- drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 65 +++++++++++++++++--------- 1 file changed, 43 insertions(+), 22 deletions(-) diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c index a7a595c..ae64cdb 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c @@ -1063,9 +1063,9 @@ static int dpaa_fq_free(struct device *dev, struct list_head *list) return err; } -static void dpaa_eth_init_tx_port(struct fman_port *port, struct dpaa_fq *errq, - struct dpaa_fq *defq, - struct dpaa_buffer_layout *buf_layout) +static int dpaa_eth_init_tx_port(struct fman_port *port, struct dpaa_fq *errq, + struct dpaa_fq *defq, + struct dpaa_buffer_layout *buf_layout) { struct fman_buffer_prefix_content buf_prefix_content; struct fman_port_params params; @@ -1084,23 +1084,29 @@ static void dpaa_eth_init_tx_port(struct fman_port *port, struct dpaa_fq *errq, params.specific_params.non_rx_params.dflt_fqid = defq->fqid; err = fman_port_config(port, ¶ms); - if (err) + if (err) { pr_err("%s: fman_port_config failed\n", __func__); + return err; + } err = fman_port_cfg_buf_prefix_content(port, &buf_prefix_content); - if (err) + if (err) { pr_err("%s: fman_port_cfg_buf_prefix_content failed\n", __func__); + return err; + } err = fman_port_init(port); if (err) pr_err("%s: fm_port_init failed\n", __func__); + + return err; } -static void dpaa_eth_init_rx_port(struct fman_port *port, struct dpaa_bp **bps, - size_t count, struct dpaa_fq *errq, - struct dpaa_fq *defq, - struct dpaa_buffer_layout *buf_layout) +static int dpaa_eth_init_rx_port(struct fman_port *port, struct dpaa_bp **bps, + size_t count, struct dpaa_fq *errq, + struct dpaa_fq *defq, + struct dpaa_buffer_layout *buf_layout) { struct fman_buffer_prefix_content buf_prefix_content; struct fman_port_rx_params *rx_p; @@ -1128,32 +1134,44 @@ static void dpaa_eth_init_rx_port(struct fman_port *port, struct dpaa_bp **bps, } err = fman_port_config(port, ¶ms); - if (err) + if (err) { pr_err("%s: fman_port_config failed\n", __func__); + return err; + } err = fman_port_cfg_buf_prefix_content(port, &buf_prefix_content); - if (err) + if (err) { pr_err("%s: fman_port_cfg_buf_prefix_content failed\n", __func__); + return err; + } err = fman_port_init(port); if (err) pr_err("%s: fm_port_init failed\n", __func__); + + return err; } -static void dpaa_eth_init_ports(struct mac_device *mac_dev, - struct dpaa_bp **bps, size_t count, - struct fm_port_fqs *port_fqs, - struct dpaa_buffer_layout *buf_layout, - struct device *dev) +static int dpaa_eth_init_ports(struct mac_device *mac_dev, + struct dpaa_bp **bps, size_t count, + struct fm_port_fqs *port_fqs, + struct dpaa_buffer_layout *buf_layout, + struct device *dev) { struct fman_port *rxport = mac_dev->port[RX]; struct fman_port *txport = mac_dev->port[TX]; + int err; - dpaa_eth_init_tx_port(txport, port_fqs->tx_errq, - port_fqs->tx_defq, &buf_layout[TX]); - dpaa_eth_init_rx_port(rxport, bps, count, port_fqs->rx_errq, - port_fqs->rx_defq, &buf_layout[RX]); + err = dpaa_eth_init_tx_port(txport, port_fqs->tx_errq, + port_fqs->tx_defq, &buf_layout[TX]); + if (err) + return err; + + err = dpaa_eth_init_rx_port(rxport, bps, count, port_fqs->rx_errq, + port_fqs->rx_defq, &buf_layout[RX]); + + return err; } static int dpaa_bman_release(const struct dpaa_bp *dpaa_bp, @@ -2649,8 +2667,10 @@ static int dpaa_eth_probe(struct platform_device *pdev) priv->rx_headroom = dpaa_get_headroom(&priv->buf_layout[RX]); /* All real interfaces need their ports initialized */ - dpaa_eth_init_ports(mac_dev, dpaa_bps, DPAA_BPS_NUM, &port_fqs, - &priv->buf_layout[0], dev); + err = dpaa_eth_init_ports(mac_dev, dpaa_bps, DPAA_BPS_NUM, &port_fqs, + &priv->buf_layout[0], dev); + if (err) + goto init_ports_failed; priv->percpu_priv = devm_alloc_percpu(dev, *priv->percpu_priv); if (!priv->percpu_priv) { @@ -2683,6 +2703,7 @@ static int dpaa_eth_probe(struct platform_device *pdev) napi_add_failed: dpaa_napi_del(net_dev); alloc_percpu_failed: +init_ports_failed: dpaa_fq_free(dev, &priv->dpaa_fq_list); fq_alloc_failed: qman_delete_cgr_safe(&priv->ingress_cgr); -- 2.1.0