Staging: agnx: Move a dereference below a NULL test
authorJulia Lawall <julia@diku.dk>
Fri, 19 Dec 2008 17:11:01 +0000 (18:11 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Apr 2009 21:53:26 +0000 (14:53 -0700)
If the NULL test is necessary, then the dereference should be moved below
the NULL test.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T;
expression E;
identifier i,fld;
statement S;
@@

- T i = E->fld;
+ T i;
  ... when != E
      when != i
  if (E == NULL) S
+ i = E->fld;
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: YanBo <dreamfly281@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/agnx/pci.c

index 854630c..131df9f 100644 (file)
@@ -434,11 +434,12 @@ static struct ieee80211_ops agnx_ops = {
 static void __devexit agnx_pci_remove(struct pci_dev *pdev)
 {
        struct ieee80211_hw *dev = pci_get_drvdata(pdev);
-       struct agnx_priv *priv = dev->priv;
+       struct agnx_priv *priv;
        AGNX_TRACE;
 
        if (!dev)
                return;
+       priv = dev->priv;
        ieee80211_unregister_hw(dev);
        pci_iounmap(pdev, priv->ctl);
        pci_iounmap(pdev, priv->data);