Message ID | 20181218082329.GB440@kadam (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PCI: imx: Fix an IS_ERR() vs NULL bug | expand |
On Tue, 2018-12-18 at 11:23 +0300, Dan Carpenter wrote: > The device_link_add() function doesn't return error pointers, it returns > NULL if there is an error. > > Fixes: 7a6991159bcd ("PCI: imx: Add multi-pd support") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com> I assume this was found with a static checker?
On Tue, Dec 18, 2018 at 11:23:29AM +0300, Dan Carpenter wrote: > The device_link_add() function doesn't return error pointers, it returns > NULL if there is an error. > > Fixes: 7a6991159bcd ("PCI: imx: Add multi-pd support") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > --- > drivers/pci/controller/dwc/pci-imx6.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Thanks Dan, if you do not mind I will squash this in the initial commit given that it is not upstream yet. Lorenzo > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index b54b4590ccf9..8e7956224a5f 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -326,9 +326,9 @@ static int imx6_pcie_attach_pd(struct device *dev) > DL_FLAG_STATELESS | > DL_FLAG_PM_RUNTIME | > DL_FLAG_RPM_ACTIVE); > - if (IS_ERR(link)) { > - dev_err(dev, "Failed to add device_link to pcie pd: %ld\n", PTR_ERR(link)); > - return PTR_ERR(link); > + if (!link) { > + dev_err(dev, "Failed to add device_link to pcie pd.\n"); > + return -EINVAL; > } > > imx6_pcie->pd_pcie_phy = dev_pm_domain_attach_by_name(dev, "pcie_phy"); > -- > 2.17.1 >
On Tue, Dec 18, 2018 at 08:54:36AM +0000, Leonard Crestez wrote: > On Tue, 2018-12-18 at 11:23 +0300, Dan Carpenter wrote: > > The device_link_add() function doesn't return error pointers, it returns > > NULL if there is an error. > > > > Fixes: 7a6991159bcd ("PCI: imx: Add multi-pd support") > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com> > > I assume this was found with a static checker? It's an unpublished Smatch check... It complains about running IS_ERR() on things which aren't an error pointer. The problem is that that happens all the time intentionally so i haven't published it. I should probably make a version which only complains if it is an assignment from a function that returns NULL. (Even then it's problematic because it can depend on the .config) regards, dan carpenter
On Tue, Dec 18, 2018 at 10:57:42AM +0000, Lorenzo Pieralisi wrote: > On Tue, Dec 18, 2018 at 11:23:29AM +0300, Dan Carpenter wrote: > > The device_link_add() function doesn't return error pointers, it returns > > NULL if there is an error. > > > > Fixes: 7a6991159bcd ("PCI: imx: Add multi-pd support") > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > --- > > drivers/pci/controller/dwc/pci-imx6.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > Thanks Dan, if you do not mind I will squash this in the initial > commit given that it is not upstream yet. > I don't mind at all. Thanks. regards, dan carpenter
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index b54b4590ccf9..8e7956224a5f 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -326,9 +326,9 @@ static int imx6_pcie_attach_pd(struct device *dev) DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME | DL_FLAG_RPM_ACTIVE); - if (IS_ERR(link)) { - dev_err(dev, "Failed to add device_link to pcie pd: %ld\n", PTR_ERR(link)); - return PTR_ERR(link); + if (!link) { + dev_err(dev, "Failed to add device_link to pcie pd.\n"); + return -EINVAL; } imx6_pcie->pd_pcie_phy = dev_pm_domain_attach_by_name(dev, "pcie_phy");
The device_link_add() function doesn't return error pointers, it returns NULL if there is an error. Fixes: 7a6991159bcd ("PCI: imx: Add multi-pd support") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- drivers/pci/controller/dwc/pci-imx6.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)