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

WANG Cong
2007-09-24T02:43:26Z

On Mon, Sep 24, 2007 at 12:13:22AM +0200, roel wrote:
>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;
> }

Yes, you are right. Thanks. I will resend this patch. ;)

--
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."