lkml.org 
[lkml]   [2014]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] staging: dgap: implement error handling in dgap_tty_register()
From
Hi, Dan.

2014-04-25 18:26 GMT+09:00 Dan Carpenter <dan.carpenter@oracle.com>:
> Mark, maybe you should add yourself to the MAINTAINERS entry for this
> driver?
>
> On Fri, Apr 25, 2014 at 04:04:59PM +0900, Daeseok Youn wrote:
>> @@ -1263,7 +1277,8 @@ static int dgap_tty_register(struct board_t *brd)
>> /* Register tty devices */
>> rc = tty_register_driver(brd->SerialDriver);
>> if (rc < 0)
>> - return rc;
>> + goto free_print_ttys;
>> +
>> brd->dgap_Major_Serial_Registered = TRUE;
>> dgap_BoardsByMajor[brd->SerialDriver->major] = brd;
>> brd->dgap_Serial_Major = brd->SerialDriver->major;
>> @@ -1273,13 +1288,29 @@ static int dgap_tty_register(struct board_t *brd)
>> /* Register Transparent Print devices */
>> rc = tty_register_driver(brd->PrintDriver);
>> if (rc < 0)
>> - return rc;
>> + goto unregister_serial_drv;
>> +
>> brd->dgap_Major_TransparentPrint_Registered = TRUE;
>> dgap_BoardsByMajor[brd->PrintDriver->major] = brd;
>> brd->dgap_TransparentPrint_Major = brd->PrintDriver->major;
>> }
>>
>> return rc;
>> +
>> +unregister_serial_drv:
>> + tty_unregister_driver(brd->SerialDriver);
>
> We only register the ->SerialDriver if someone else hasn't registered it
> first? So this should be:
>
> if (we_were_the_ones_who_registered_the_serial_driver)
> tty_unregister_driver(brd->SerialDriver);
>
> I haven't followed looked at this. Who else is registering the serial
> driver? You have looked at this, what do you think? Or Mark.

I think brd struct is from dgap_Board array as global static variable
when this function is
called. So brd->dgap_Major_Serial_Registered is always "false".
If dgap_NumBoards is less than MAXBOARDS, brd->SerialDriver should be
registered.

I'm not sure..

Thanks.

Regards,
Daeseok Youn.

>
> regards,
> dan carpenter
>


\
 
 \ /
  Last update: 2014-04-25 13:41    [W:0.120 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site