[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0907191726360.16542@ask.diku.dk>
Date:	Sun, 19 Jul 2009 17:26:58 +0200 (CEST)
From:	Julia Lawall <julia@...u.dk>
To:	kristen.c.accardi@...el.com, linux-pci@...r.kernel.org,
	linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: [PATCH 5/10] drivers/pci: Move a dereference below a NULL test
From: Julia Lawall <julia@...u.dk>
If the NULL test is necessary, then the dereference should be moved below
the NULL test.
The semantic patch that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
type T;
expression E,E1;
identifier i,fld;
statement S;
@@
- T i = E->fld;
+ T i;
  ... when != E=E1
      when != i
  if (E == NULL||...) S
+ i = E->fld;
// </smpl>
Signed-off-by: Julia Lawall <julia@...u.dk>
---
 drivers/pci/pcie/aspm.c             |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 3d27c97..fc8311b 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -668,10 +668,11 @@ out:
 void pcie_aspm_exit_link_state(struct pci_dev *pdev)
 {
 	struct pci_dev *parent = pdev->bus->self;
-	struct pcie_link_state *link_state = parent->link_state;
+	struct pcie_link_state *link_state;
 
-	if (aspm_disabled || !pdev->is_pcie || !parent || !link_state)
+	if (aspm_disabled || !pdev->is_pcie || !parent || !parent->link_state)
 		return;
+	link_state = parent->link_state;
 	if (parent->pcie_type != PCI_EXP_TYPE_ROOT_PORT &&
 		parent->pcie_type != PCI_EXP_TYPE_DOWNSTREAM)
 		return;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists
 
