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 }regards,
dan carpenter
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 driverHello 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:647xilinx_pcie_init_irq_domain()warn: passing zero to 'PTR_ERR'drivers/pci/host/pcie-xilinx.c:655xilinx_pcie_init_irq_domain()warn: passing zero to 'PTR_ERR'drivers/pci/host/pcie-xilinx.c:666xilinx_pcie_init_irq_domain()warn: passing zero to 'PTR_ERR'
drivers/pci/host/pcie-xilinx.c
637 static intxilinx_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 anegative 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.
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 driverHello 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:647xilinx_pcie_init_irq_domain()warn: passing zero to 'PTR_ERR'drivers/pci/host/pcie-xilinx.c:655xilinx_pcie_init_irq_domain()warn: passing zero to 'PTR_ERR'drivers/pci/host/pcie-xilinx.c:666xilinx_pcie_init_irq_domain()warn: passing zero to 'PTR_ERR'
drivers/pci/host/pcie-xilinx.c
637 static intxilinx_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 anegative 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 carpenterThis 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.