On Mon, Jul 10, 2017 at 11:31 AM, Okash Khawaja <okash.khawaja@xxxxxxxxx> wrote: > On Sun, Jul 09, 2017 at 06:04:17PM +0300, Andy Shevchenko wrote: >> On Sun, Jul 9, 2017 at 2:41 PM, Okash Khawaja <okash.khawaja@xxxxxxxxx> wrote: >> >> > +struct tty_struct *tty_kopen(dev_t device) >> > +{ >> > + struct tty_struct *tty; >> > + struct tty_driver *driver = NULL; >> > + int index = -1; >> > + >> > + mutex_lock(&tty_mutex); >> > + driver = tty_lookup_driver(device, NULL, &index); >> > + if (IS_ERR(driver)) { >> >> > + mutex_unlock(&tty_mutex); >> > + return ERR_CAST(driver); >> >> Hmm... perhaps >> >> tty = ERR_CAST(driver); >> goto out_unlock; >> >> See below for further details. >> > Sorry missed this one out. Since tty_lookup_driver has failed, we don't > need to down the refcount on driver. So we can return here, without > going to out_unlock. Yeah, and my point is to use goto with the symmetric giveups of lock and reference. -- With Best Regards, Andy Shevchenko _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel