aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pcie
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/pcie')
-rw-r--r--drivers/pci/pcie/portdrv_core.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
index 7ea37c075d7e..42b21eec15f0 100644
--- a/drivers/pci/pcie/portdrv_core.c
+++ b/drivers/pci/pcie/portdrv_core.c
@@ -291,19 +291,15 @@ static int pcie_device_init(struct pci_dev *pdev, int service, int irq)
291int pcie_port_device_register(struct pci_dev *dev) 291int pcie_port_device_register(struct pci_dev *dev)
292{ 292{
293 struct pcie_port_data *port_data; 293 struct pcie_port_data *port_data;
294 int status, capabilities, irq_mode, i, nr_serv, pos; 294 int status, capabilities, irq_mode, i, nr_serv;
295 int vectors[PCIE_PORT_DEVICE_MAXSERVICES]; 295 int vectors[PCIE_PORT_DEVICE_MAXSERVICES];
296 u16 reg16;
297 296
298 port_data = kzalloc(sizeof(*port_data), GFP_KERNEL); 297 port_data = kzalloc(sizeof(*port_data), GFP_KERNEL);
299 if (!port_data) 298 if (!port_data)
300 return -ENOMEM; 299 return -ENOMEM;
301 pci_set_drvdata(dev, port_data); 300 pci_set_drvdata(dev, port_data);
302 301
303 /* Get port type */ 302 port_data->port_type = dev->pcie_type;
304 pos = pci_pcie_cap(dev);
305 pci_read_config_word(dev, pos + PCIE_CAPABILITIES_REG, &reg16);
306 port_data->port_type = (reg16 >> 4) & PORT_TYPE_MASK;
307 303
308 capabilities = get_port_device_capability(dev); 304 capabilities = get_port_device_capability(dev);
309 /* Root ports are capable of generating PME too */ 305 /* Root ports are capable of generating PME too */