Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

scsi: hisi_sas: Propagate errors in interrupt_init_v1_hw()

After commit 6c11dc060427 ("scsi: hisi_sas: Fix IRQ checks") we have the
error codes returned by platform_get_irq() ready for the propagation
upsream in interrupt_init_v1_hw() -- that will fix still broken deferred
probing. Let's propagate the error codes from devm_request_irq() as well
since I don't see the reason to override them with -ENOENT...

Link: https://lore.kernel.org/r/49ba93a3-d427-7542-d85a-b74fe1a33a73@omp.ru
Acked-by: John Garry <john.garry@huawei.com>
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Sergey Shtylyov and committed by
Martin K. Petersen
ab17122e 8f942f9d

+6 -6
+6 -6
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
··· 1649 1649 if (irq < 0) { 1650 1650 dev_err(dev, "irq init: fail map phy interrupt %d\n", 1651 1651 idx); 1652 - return -ENOENT; 1652 + return irq; 1653 1653 } 1654 1654 1655 1655 rc = devm_request_irq(dev, irq, phy_interrupts[j], 0, ··· 1657 1657 if (rc) { 1658 1658 dev_err(dev, "irq init: could not request phy interrupt %d, rc=%d\n", 1659 1659 irq, rc); 1660 - return -ENOENT; 1660 + return rc; 1661 1661 } 1662 1662 } 1663 1663 } ··· 1668 1668 if (irq < 0) { 1669 1669 dev_err(dev, "irq init: could not map cq interrupt %d\n", 1670 1670 idx); 1671 - return -ENOENT; 1671 + return irq; 1672 1672 } 1673 1673 1674 1674 rc = devm_request_irq(dev, irq, cq_interrupt_v1_hw, 0, ··· 1676 1676 if (rc) { 1677 1677 dev_err(dev, "irq init: could not request cq interrupt %d, rc=%d\n", 1678 1678 irq, rc); 1679 - return -ENOENT; 1679 + return rc; 1680 1680 } 1681 1681 } 1682 1682 ··· 1686 1686 if (irq < 0) { 1687 1687 dev_err(dev, "irq init: could not map fatal interrupt %d\n", 1688 1688 idx); 1689 - return -ENOENT; 1689 + return irq; 1690 1690 } 1691 1691 1692 1692 rc = devm_request_irq(dev, irq, fatal_interrupts[i], 0, ··· 1694 1694 if (rc) { 1695 1695 dev_err(dev, "irq init: could not request fatal interrupt %d, rc=%d\n", 1696 1696 irq, rc); 1697 - return -ENOENT; 1697 + return rc; 1698 1698 } 1699 1699 } 1700 1700