Re: [-mm Patch] net/bluetooth/hidp/core.c: Make hidp_setup_input() return int

roel
2007-09-23T22:13:41Z

WANG Cong wrote:
> This patch does the following things:
>
> - Make hidp_setup_input() return int to indicate errors.
> - Check its return value to handle errors.
>
> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
>
> ---
> net/bluetooth/hidp/core.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> Index: linux-2.6.23-rc6-mm1/net/bluetooth/hidp/core.c
> ===================================================================
> --- linux-2.6.23-rc6-mm1.orig/net/bluetooth/hidp/core.c
> +++ linux-2.6.23-rc6-mm1/net/bluetooth/hidp/core.c
> @@ -625,7 +625,7 @@ static struct device *hidp_get_device(st
> return conn ? &conn->dev : NULL;
> }
>
> -static inline void hidp_setup_input(struct hidp_session *session, struct hidp_connadd_req *req)
> +static inline int hidp_setup_input(struct hidp_session *session, struct hidp_connadd_req *req)
> {
> struct input_dev *input = session->input;
> int i;
> @@ -669,7 +669,7 @@ static inline void hidp_setup_input(stru
>
> input->event = hidp_input_event;
>
> - input_register_device(input);
> + return input_register_device(input);
> }
>
> static int hidp_open(struct hid_device *hid)
> @@ -823,7 +823,8 @@ int hidp_add_connection(struct hidp_conn
> session->idle_to = req->idle_to;
>
> if (session->input)
> - hidp_setup_input(session, req);
> + if ((err = (hidp_setup_input(session, req))))
> + goto failed;

This is confusing, why not just do

if (session->input) {
err = hidp_setup_input(session, req);
if (err)
goto failed;
}

>
> if (session->hid)
> hidp_setup_hid(session, req);
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>