Message ID | 20240611092251.159149-1-ychuang570808@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tty: serial: ma35d1: Add a NULL check for of_node | expand |
On Tue, Jun 11, 2024 at 09:22:51AM +0000, Jacky Huang wrote: > From: Jacky Huang <ychuang3@nuvoton.com> > > The pdev->dev.of_node can be NULL if the "serial" node is absent. > Add a NULL check to return an error in such cases. > > Signed-off-by: Jacky Huang <ychuang3@nuvoton.com> > --- > drivers/tty/serial/ma35d1_serial.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/tty/serial/ma35d1_serial.c b/drivers/tty/serial/ma35d1_serial.c > index 19f0a305cc43..3b4206e815fe 100644 > --- a/drivers/tty/serial/ma35d1_serial.c > +++ b/drivers/tty/serial/ma35d1_serial.c > @@ -688,12 +688,13 @@ static int ma35d1serial_probe(struct platform_device *pdev) > struct uart_ma35d1_port *up; > int ret = 0; > > - if (pdev->dev.of_node) { > - ret = of_alias_get_id(pdev->dev.of_node, "serial"); > - if (ret < 0) { > - dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); > - return ret; > - } > + if (!pdev->dev.of_node) > + return -ENODEV; > + > + ret = of_alias_get_id(pdev->dev.of_node, "serial"); > + if (ret < 0) { > + dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); > + return ret; > } > up = &ma35d1serial_ports[ret]; > up->port.line = ret; What commit id does this fix? thanks, greg k-h
Dear Greg, On 2024/6/11 下午 07:11, Greg KH wrote: > On Tue, Jun 11, 2024 at 09:22:51AM +0000, Jacky Huang wrote: >> From: Jacky Huang <ychuang3@nuvoton.com> >> >> The pdev->dev.of_node can be NULL if the "serial" node is absent. >> Add a NULL check to return an error in such cases. >> >> Signed-off-by: Jacky Huang <ychuang3@nuvoton.com> >> --- >> drivers/tty/serial/ma35d1_serial.c | 13 +++++++------ >> 1 file changed, 7 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/tty/serial/ma35d1_serial.c b/drivers/tty/serial/ma35d1_serial.c >> index 19f0a305cc43..3b4206e815fe 100644 >> --- a/drivers/tty/serial/ma35d1_serial.c >> +++ b/drivers/tty/serial/ma35d1_serial.c >> @@ -688,12 +688,13 @@ static int ma35d1serial_probe(struct platform_device *pdev) >> struct uart_ma35d1_port *up; >> int ret = 0; >> >> - if (pdev->dev.of_node) { >> - ret = of_alias_get_id(pdev->dev.of_node, "serial"); >> - if (ret < 0) { >> - dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); >> - return ret; >> - } >> + if (!pdev->dev.of_node) >> + return -ENODEV; >> + >> + ret = of_alias_get_id(pdev->dev.of_node, "serial"); >> + if (ret < 0) { >> + dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); >> + return ret; >> } >> up = &ma35d1serial_ports[ret]; >> up->port.line = ret; > What commit id does this fix? > > thanks, > > greg k-h This patch fix the in tree ma35d1 serial driver. The last commit for ma35d1_serial.c is '6b64f8e360c00f180cffa1806095cdd2abc55b16'. Best Regards, Jacky Huang
On Wed, Jun 12, 2024 at 08:43:54AM +0800, Jacky Huang wrote: > Dear Greg, > > > On 2024/6/11 下午 07:11, Greg KH wrote: > > On Tue, Jun 11, 2024 at 09:22:51AM +0000, Jacky Huang wrote: > > > From: Jacky Huang <ychuang3@nuvoton.com> > > > > > > The pdev->dev.of_node can be NULL if the "serial" node is absent. > > > Add a NULL check to return an error in such cases. > > > > > > Signed-off-by: Jacky Huang <ychuang3@nuvoton.com> > > > --- > > > drivers/tty/serial/ma35d1_serial.c | 13 +++++++------ > > > 1 file changed, 7 insertions(+), 6 deletions(-) > > > > > > diff --git a/drivers/tty/serial/ma35d1_serial.c b/drivers/tty/serial/ma35d1_serial.c > > > index 19f0a305cc43..3b4206e815fe 100644 > > > --- a/drivers/tty/serial/ma35d1_serial.c > > > +++ b/drivers/tty/serial/ma35d1_serial.c > > > @@ -688,12 +688,13 @@ static int ma35d1serial_probe(struct platform_device *pdev) > > > struct uart_ma35d1_port *up; > > > int ret = 0; > > > - if (pdev->dev.of_node) { > > > - ret = of_alias_get_id(pdev->dev.of_node, "serial"); > > > - if (ret < 0) { > > > - dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); > > > - return ret; > > > - } > > > + if (!pdev->dev.of_node) > > > + return -ENODEV; > > > + > > > + ret = of_alias_get_id(pdev->dev.of_node, "serial"); > > > + if (ret < 0) { > > > + dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); > > > + return ret; > > > } > > > up = &ma35d1serial_ports[ret]; > > > up->port.line = ret; > > What commit id does this fix? > > > > thanks, > > > > greg k-h > > This patch fix the in tree ma35d1 serial driver. > The last commit for ma35d1_serial.c is > '6b64f8e360c00f180cffa1806095cdd2abc55b16'. That is obviously not the commit that causes this problem, which is what I was looking for here. Shouldn't you include a "Fixes:" line if this is resolving a bug? thanks, greg k-h
Dear Greg, On 2024/6/12 下午 03:23, Greg KH wrote: > On Wed, Jun 12, 2024 at 08:43:54AM +0800, Jacky Huang wrote: >> Dear Greg, >> >> >> On 2024/6/11 下午 07:11, Greg KH wrote: >>> On Tue, Jun 11, 2024 at 09:22:51AM +0000, Jacky Huang wrote: >>>> From: Jacky Huang <ychuang3@nuvoton.com> >>>> >>>> The pdev->dev.of_node can be NULL if the "serial" node is absent. >>>> Add a NULL check to return an error in such cases. >>>> >>>> Signed-off-by: Jacky Huang <ychuang3@nuvoton.com> >>>> --- >>>> drivers/tty/serial/ma35d1_serial.c | 13 +++++++------ >>>> 1 file changed, 7 insertions(+), 6 deletions(-) >>>> >>>> diff --git a/drivers/tty/serial/ma35d1_serial.c b/drivers/tty/serial/ma35d1_serial.c >>>> index 19f0a305cc43..3b4206e815fe 100644 >>>> --- a/drivers/tty/serial/ma35d1_serial.c >>>> +++ b/drivers/tty/serial/ma35d1_serial.c >>>> @@ -688,12 +688,13 @@ static int ma35d1serial_probe(struct platform_device *pdev) >>>> struct uart_ma35d1_port *up; >>>> int ret = 0; >>>> - if (pdev->dev.of_node) { >>>> - ret = of_alias_get_id(pdev->dev.of_node, "serial"); >>>> - if (ret < 0) { >>>> - dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); >>>> - return ret; >>>> - } >>>> + if (!pdev->dev.of_node) >>>> + return -ENODEV; >>>> + >>>> + ret = of_alias_get_id(pdev->dev.of_node, "serial"); >>>> + if (ret < 0) { >>>> + dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); >>>> + return ret; >>>> } >>>> up = &ma35d1serial_ports[ret]; >>>> up->port.line = ret; >>> What commit id does this fix? >>> >>> thanks, >>> >>> greg k-h >> This patch fix the in tree ma35d1 serial driver. >> The last commit for ma35d1_serial.c is >> '6b64f8e360c00f180cffa1806095cdd2abc55b16'. > That is obviously not the commit that causes this problem, which is what > I was looking for here. Shouldn't you include a "Fixes:" line if this > is resolving a bug? > > thanks, > > greg k-h I got it. The commit that cause this problem is '930cbf92db01'. And I will send v2 patch with the "Fixes:" line. Fixes: 930cbf92db01 ("tty: serial: Add Nuvoton ma35d1 serial driver support") Best Regards, Jacky Huang
diff --git a/drivers/tty/serial/ma35d1_serial.c b/drivers/tty/serial/ma35d1_serial.c index 19f0a305cc43..3b4206e815fe 100644 --- a/drivers/tty/serial/ma35d1_serial.c +++ b/drivers/tty/serial/ma35d1_serial.c @@ -688,12 +688,13 @@ static int ma35d1serial_probe(struct platform_device *pdev) struct uart_ma35d1_port *up; int ret = 0; - if (pdev->dev.of_node) { - ret = of_alias_get_id(pdev->dev.of_node, "serial"); - if (ret < 0) { - dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); - return ret; - } + if (!pdev->dev.of_node) + return -ENODEV; + + ret = of_alias_get_id(pdev->dev.of_node, "serial"); + if (ret < 0) { + dev_err(&pdev->dev, "failed to get alias/pdev id, errno %d\n", ret); + return ret; } up = &ma35d1serial_ports[ret]; up->port.line = ret;