Skip to contentSkip to conversation

PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver

DISCUSSION Dan Carpenter 2 participants 3 messages Sep 11, 2014 – Jul 13, 2016 PCI

lore
Share & tools
lore
#0 lore raw

Hello Srikanth Thokala,

The patch 8961def56845: "PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver" from Aug 20, 2014, leads to the following static checker warnings:

drivers/pci/host/pcie-xilinx.c:647 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR' drivers/pci/host/pcie-xilinx.c:655 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR' drivers/pci/host/pcie-xilinx.c:666 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'

drivers/pci/host/pcie-xilinx.c
637 static int xilinx_pcie_init_irq_domain(struct xilinx_pcie_port *port) 638 {

   639          struct device *dev = port->dev;
   640          struct device_node *node = dev->of_node;
   641          struct device_node *pcie_intc_node;
   642  
   643          /* Setup INTx */
   644          pcie_intc_node = of_get_next_child(node, NULL);
   645          if (!pcie_intc_node) {
   646                  dev_err(dev, "No PCIe Intc node found\n");
   647                  return PTR_ERR(pcie_intc_node);
                               ^^^^^^^^^^^^^^^^^^^^^^

Returning success when a negative error code was intended.

   648          }
   649  
   650          port->irq_domain = irq_domain_add_linear(pcie_intc_node, 4,
   651                                                   &intx_domain_ops,
   652                                                   port);
   653          if (!port->irq_domain) {
   654                  dev_err(dev, "Failed to get a INTx IRQ domain\n");
   655                  return PTR_ERR(port->irq_domain);
                               ^^^^^^^^^^^^^^^^^^^^^^^^^
   656          }
   657  
   658          /* Setup MSI */
   659          if (IS_ENABLED(CONFIG_PCI_MSI)) {
   660                  port->irq_domain = irq_domain_add_linear(node,
   661                                                           XILINX_NUM_MSI_IRQS,
   662                                                           &msi_domain_ops,
   663                                                           &xilinx_pcie_msi_chip);
   664                  if (!port->irq_domain) {
   665                          dev_err(dev, "Failed to get a MSI IRQ domain\n");
   666                          return PTR_ERR(port->irq_domain);
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
   667                  }
   668  
   669                  xilinx_pcie_enable_msi(port);
   670          }
   671  
   672          return 0;
   673  }

regards,
dan carpenter

#1 lore raw

Hi Dan,

I will look into it and will send a fix, thanks.

Srikanth

Quoted 64 lines

-----Original Message-----
From: Dan Carpenter [mailto:[email protected]]
Sent: Thursday, September 11, 2014 6:25 PM
To: Srikanth Thokala
Cc: [email protected]
Subject: re: PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver

Hello Srikanth Thokala,

The patch 8961def56845: "PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver" from Aug 20, 2014, leads to the following static checker
warnings:

drivers/pci/host/pcie-xilinx.c:647 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'
drivers/pci/host/pcie-xilinx.c:655 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'
drivers/pci/host/pcie-xilinx.c:666 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'

drivers/pci/host/pcie-xilinx.c
637 static int xilinx_pcie_init_irq_domain(struct xilinx_pcie_port *port)

   638  {
   639          struct device *dev = port->dev;
   640          struct device_node *node = dev->of_node;
   641          struct device_node *pcie_intc_node;
   642
   643          /* Setup INTx */
   644          pcie_intc_node = of_get_next_child(node, NULL);
   645          if (!pcie_intc_node) {
   646                  dev_err(dev, "No PCIe Intc node found\n");
   647                  return PTR_ERR(pcie_intc_node);
                               ^^^^^^^^^^^^^^^^^^^^^^ Returning success when a

negative error code was intended.

   648          }
   649
   650          port->irq_domain = irq_domain_add_linear(pcie_intc_node, 4,
   651                                                   &intx_domain_ops,
   652                                                   port);
   653          if (!port->irq_domain) {
   654                  dev_err(dev, "Failed to get a INTx IRQ domain\n");
   655                  return PTR_ERR(port->irq_domain);
                               ^^^^^^^^^^^^^^^^^^^^^^^^^
   656          }
   657
   658          /* Setup MSI */
   659          if (IS_ENABLED(CONFIG_PCI_MSI)) {
   660                  port->irq_domain = irq_domain_add_linear(node,
   661                                                           XILINX_NUM_MSI_IRQS,
   662                                                           &msi_domain_ops,
   663                                                           &xilinx_pcie_msi_chip);
   664                  if (!port->irq_domain) {
   665                          dev_err(dev, "Failed to get a MSI IRQ domain\n");
   666                          return PTR_ERR(port->irq_domain);
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
   667                  }
   668
   669                  xilinx_pcie_enable_msi(port);
   670          }
   671
   672          return 0;
   673  }
Quoted 2 lines

regards,
dan carpenter

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.

#2 lore raw

We lost track of this. It's still buggy two years later.

regards,
dan carpenter

Quoted 75 lines · Srikanth Thokala

Hi Dan,

I will look into it and will send a fix, thanks.

Srikanth

Quoted 64 lines

-----Original Message-----
From: Dan Carpenter [mailto:[email protected]]
Sent: Thursday, September 11, 2014 6:25 PM
To: Srikanth Thokala
Cc: [email protected]
Subject: re: PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver

Hello Srikanth Thokala,

The patch 8961def56845: "PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver" from Aug 20, 2014, leads to the following static checker
warnings:

drivers/pci/host/pcie-xilinx.c:647 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'
drivers/pci/host/pcie-xilinx.c:655 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'
drivers/pci/host/pcie-xilinx.c:666 xilinx_pcie_init_irq_domain() warn: passing zero to 'PTR_ERR'

drivers/pci/host/pcie-xilinx.c
637 static int xilinx_pcie_init_irq_domain(struct xilinx_pcie_port *port)

   638  {
   639          struct device *dev = port->dev;
   640          struct device_node *node = dev->of_node;
   641          struct device_node *pcie_intc_node;
   642
   643          /* Setup INTx */
   644          pcie_intc_node = of_get_next_child(node, NULL);
   645          if (!pcie_intc_node) {
   646                  dev_err(dev, "No PCIe Intc node found\n");
   647                  return PTR_ERR(pcie_intc_node);
                               ^^^^^^^^^^^^^^^^^^^^^^ Returning success when a

negative error code was intended.

   648          }
   649
   650          port->irq_domain = irq_domain_add_linear(pcie_intc_node, 4,
   651                                                   &intx_domain_ops,
   652                                                   port);
   653          if (!port->irq_domain) {
   654                  dev_err(dev, "Failed to get a INTx IRQ domain\n");
   655                  return PTR_ERR(port->irq_domain);
                               ^^^^^^^^^^^^^^^^^^^^^^^^^
   656          }
   657
   658          /* Setup MSI */
   659          if (IS_ENABLED(CONFIG_PCI_MSI)) {
   660                  port->irq_domain = irq_domain_add_linear(node,
   661                                                           XILINX_NUM_MSI_IRQS,
   662                                                           &msi_domain_ops,
   663                                                           &xilinx_pcie_msi_chip);
   664                  if (!port->irq_domain) {
   665                          dev_err(dev, "Failed to get a MSI IRQ domain\n");
   666                          return PTR_ERR(port->irq_domain);
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
   667                  }
   668
   669                  xilinx_pcie_enable_msi(port);
   670          }
   671
   672          return 0;
   673  }
Quoted 2 lines

regards,
dan carpenter

This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.