Browse Source

PCI: portdrv: check capabilities first

Move capability check capability to the beginning of
pcie_port_device_register() prevents redundant execution path.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Kenji Kaneshige 15 years ago
parent
commit
d013598d9a
1 changed files with 4 additions and 2 deletions
  1. 4 2
      drivers/pci/pcie/portdrv_core.c

+ 4 - 2
drivers/pci/pcie/portdrv_core.c

@@ -297,6 +297,10 @@ int pcie_port_device_register(struct pci_dev *dev)
 	int status, capabilities, irq_mode, i, nr_serv;
 	int vectors[PCIE_PORT_DEVICE_MAXSERVICES];
 
+	capabilities = get_port_device_capability(dev);
+	if (!capabilities)
+		return -ENODEV;
+
 	port_data = kzalloc(sizeof(*port_data), GFP_KERNEL);
 	if (!port_data)
 		return -ENOMEM;
@@ -304,8 +308,6 @@ int pcie_port_device_register(struct pci_dev *dev)
 
 	port_data->port_type = dev->pcie_type;
 
-	capabilities = get_port_device_capability(dev);
-
 	irq_mode = assign_interrupt_mode(dev, vectors, capabilities);
 	if (irq_mode == PCIE_PORT_NO_IRQ) {
 		/*