From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932266AbdKHHPT (ORCPT ); Wed, 8 Nov 2017 02:15:19 -0500 Received: from mout.web.de ([217.72.192.78]:63249 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751779AbdKHHPR (ORCPT ); Wed, 8 Nov 2017 02:15:17 -0500 To: linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, "David S. Miller" , Gustavo Padovan , Johan Hedberg , Marcel Holtmann Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] Bluetooth: Use common error handling code in bt_init() Message-ID: Date: Wed, 8 Nov 2017 08:14:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:xLK/a6XoR/J6Vn8JswFbSLm6fKqAr6pf/PzsEcHsk20ADI3Hx0s G0xews3HFlSDtc/A5XCSElU1yV+oOssSWklH1lLX2hCotcpGtr01nMT8xdxd9bVPb+SO/zm SMkXhstFSQteKTIuI7gurSZUcdYLkmKXcTpeQMOEupCxW3n074jRAv/HOPs2ycuh3fcdy12 ExreCe6gO/raGE/ugJytQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:xiibltOh8Cw=:/yLiqw3GcNYYky1DgjBwOb gGmUda3ltvstcniplDcdzXyozhtn2jlYRbaHIKzI+CHbfaPB0313rKkeCYoL0FxZ5C9Z0OEnQ 1FsAq/ElmsV7hFsYDYQ+QVRSQkb5pXZ2r+ZVHN7NH3gjtU1gmYNtz1Pw0hwMmhC3HMVUctx+s CXPOnC7b8xsfnzee9mV4p/WgFBfF9EQizmumcdYKyJ8FpjAkovUfr762BKZthkgMlDGDGEtHY 4kl8kZPmv2ZLWENR4ngJBFo0R42lr9P7zheVGl3Aro1oTOhGDm5i1G2giDyS9hUoyNcozEWry SZyYFdejpyQzeZqKksFFfdELq+hbk1N+xR4MGxulk2PHbxt9V1JdwXcCIGe1Y25nOrzlSQ8ou BzLMOnPv1tvKEKCJVBIPvu35IbXmzmzIDFfqVlX3rbKodR5Kkp/VD4qowrlXwTs4dUj5pHhP4 854LqbQck8b4zyKru1jJaFqOvjqfzs3eACzkLu8RA6/uAAqWUMacwqQL9TW1hvS/jE/x0PmiA s3nog7Tzro4TymLKNupKVOK0dhhK7ZfVZjQcZYRHiqWAwrpe2hWfxTVFm9Pzfkxva4Edh60/q TxuMLXCpX6wP5AzC/icxo49weQIJ44pQvjgLw0cNU/00mdkqoQ3wXt6eiHalt3ONHS/qeBN+s Uoe9e6CYL0BpXSy4V7glIV1rV9Nj2eX6HIJI8eGMnlvkyOJkvK3j6Nqk8hUqAPmSS7U6cQSqx mmyP+uOjoCuxWOR7Dbpg5rkR2VeYac+YnmEpvQBbcVQgH3duhq07Kk0v+QgoqDpEHqilkDEKb QJ9tWJPtHX1MYoakkCsZUBQzYqp1c5Qco49viieKiweH5lfMAk= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 8 Nov 2017 08:03:04 +0100 * Improve jump targets so that a bit of exception handling can be better reused at the end of this function. * Adjust five condition checks. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- net/bluetooth/af_bluetooth.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c index 91e3ba280706..f044202346c6 100644 --- a/net/bluetooth/af_bluetooth.c +++ b/net/bluetooth/af_bluetooth.c @@ -766,43 +766,39 @@ static int __init bt_init(void) return err; err = sock_register(&bt_sock_family_ops); - if (err < 0) { - bt_sysfs_cleanup(); - return err; - } + if (err) + goto cleanup_sysfs; BT_INFO("HCI device and connection manager initialized"); err = hci_sock_init(); - if (err < 0) - goto error; + if (err) + goto unregister_socket; err = l2cap_init(); - if (err < 0) - goto sock_err; + if (err) + goto cleanup_socket; err = sco_init(); - if (err < 0) { - l2cap_exit(); - goto sock_err; - } + if (err) + goto cleanup_cap; err = mgmt_init(); - if (err < 0) { - sco_exit(); - l2cap_exit(); - goto sock_err; - } + if (err) + goto cleanup_sco; return 0; -sock_err: +cleanup_sco: + sco_exit(); +cleanup_cap: + l2cap_exit(); +cleanup_socket: hci_sock_cleanup(); - -error: +unregister_socket: sock_unregister(PF_BLUETOOTH); +cleanup_sysfs: bt_sysfs_cleanup(); - return err; } -- 2.15.0