From julia@diku.dk Wed Jan 21 09:17:28 2009 From: Julia Lawall Date: Fri, 19 Dec 2008 18:11:01 +0100 (CET) Subject: Staging: agnx: Move a dereference below a NULL test To: dreamfly281@gmail.com, gregkh@suse.de, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Message-ID: From: Julia Lawall 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/) // @@ 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; // Signed-off-by: Julia Lawall Cc: YanBo Signed-off-by: Greg Kroah-Hartman --- drivers/staging/agnx/pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/staging/agnx/pci.c +++ b/drivers/staging/agnx/pci.c @@ -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);