Re: [PATCH] staging: dgap: implement error handling in dgap_tty_register()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

regards,
dan carpenter

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux