On Wed, Feb 04, 2015 at 06:46:34PM +0100, Rickard Strandqvist wrote: > 2015-02-02 17:36 GMT+01:00 Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>: > > On Thu, Jan 29, 2015 at 07:46:10PM +0100, Rickard Strandqvist wrote: > >> diff --git a/drivers/staging/gdm724x/gdm_tty.c b/drivers/staging/gdm724x/gdm_tty.c > >> index 001348c..66b356e 100644 > >> --- a/drivers/staging/gdm724x/gdm_tty.c > >> +++ b/drivers/staging/gdm724x/gdm_tty.c > >> @@ -145,7 +145,7 @@ static int gdm_tty_recv_complete(void *data, > >> struct gdm *gdm = tty_dev->gdm[index]; > >> > >> if (!GDM_TTY_READY(gdm)) { > >> - if (complete == RECV_PACKET_PROCESS_COMPLETE) > >> + if (gdm && complete == RECV_PACKET_PROCESS_COMPLETE) > > GDM_TTY_READY() is already checking for gdm, there is no chance that gdm can be null at this point. so this additional check is not required. > > > > regards > > sudip > >> gdm_tty_recv(gdm, gdm_tty_recv_complete); > >> return TO_HOST_PORT_CLOSE; > >> } > > Hi Sudip > > Yes, GDM_TTY_READY checks gdm, but this is a if(! ) > You're right. But, by that same logic, we should also test gdm->tty_dev. So it looks like this: if (!GDM_TTY_READY(gdm)) { if (gdm && gdm->tty_dev && complete == RECV_PACKET_PROCESS_COMPLETE) gdm_tty_recv(gdm, gdm_tty_recv_complete); return TO_HOST_PORT_CLOSE; } That is really sucky... Garbage code like this is why kernel style doesn't favour macros. We should just open code GDM_TTY_READY() and gdm_tty_recv() so that people can read the code. I wonder if "gdm->tty_dev" is the same as the "tty_dev" parameter? regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel