Re: [PATCH 2/3 v2] drivers/net/ethernet/ti: Move call to PTR_ERRafter reassignment

From: Julia Lawall
Date: Thu Feb 02 2012 - 11:05:11 EST


On Thu, 2 Feb 2012, D A wrote:

hello all,

im in the janitors for a while now and i keep looking at the emails you keep
sending to eachother, but i m lost, i have a back ground in C how can i be
part of this, any body can give some help to start, a small task that i can
begin with ?

There are hundreds of places where the various devm_ functions, eg devm_kzalloc, could be used. Proceed slowly and carefully...

Documentation/driver-model/devres.txt

julia



there must be a way or a strategy to absorb new members, i m 3 months now or
more.


On Thu, Feb 2, 2012 at 4:53 PM, Julia Lawall <Julia.Lawall@xxxxxxx> wrote:
From: Julia Lawall <Julia.Lawall@xxxxxxx>

PTR_ERR should be called before its argument is cleared.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,e1;
constant c;
@@

*e = c
... when != e = e1
   when != &e
   when != true IS_ERR(e)
*PTR_ERR(e)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
Reported-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

---
v2: correct commit message.

 drivers/net/ethernet/ti/davinci_emac.c |    3 ++-
 drivers/net/ethernet/ti/davinci_mdio.c |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/ti/davinci_emac.c
b/drivers/net/ethernet/ti/davinci_emac.c
index efd4f3e..922a937 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1600,8 +1600,9 @@ static int emac_dev_open(struct net_device
*ndev)
               if (IS_ERR(priv->phydev)) {
                       dev_err(emac_dev, "could not connect to
phy %s\n",
                               priv->phy_id);
+                       ret = PTR_ERR(priv->phydev);
                       priv->phydev = NULL;
-                       return PTR_ERR(priv->phydev);
+                       return ret;
               }

               priv->link = 0;
diff --git a/drivers/net/ethernet/ti/davinci_mdio.c
b/drivers/net/ethernet/ti/davinci_mdio.c
index ef7c9c1..af8b8fc 100644
--- a/drivers/net/ethernet/ti/davinci_mdio.c
+++ b/drivers/net/ethernet/ti/davinci_mdio.c
@@ -318,9 +318,9 @@ static int __devinit
davinci_mdio_probe(struct platform_device *pdev)

       data->clk = clk_get(dev, NULL);
       if (IS_ERR(data->clk)) {
-               data->clk = NULL;
               dev_err(dev, "failed to get device clock\n");
               ret = PTR_ERR(data->clk);
+               data->clk = NULL;
               goto bail_out;
       }


--
To unsubscribe from this list: send the line "unsubscribe
kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
 http://vger.kernel.org/majordomo-info.html