lkml.org 
[lkml]   [2021]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [patch V3 28/35] PCI/MSI: Simplify pci_irq_get_affinity()
    Date
    On Fri, Dec 17 2021 at 15:30, Nathan Chancellor wrote:
    > On Fri, Dec 10, 2021 at 11:19:26PM +0100, Thomas Gleixner wrote:
    > I just bisected a boot failure on my AMD test desktop to this patch as
    > commit f48235900182 ("PCI/MSI: Simplify pci_irq_get_affinity()") in
    > -next. It looks like there is a problem with the NVMe drive after this
    > change according to the logs. Given that the hard drive is not getting
    > mounted for journald to write logs to, I am not really sure how to get
    > them from the machine so I have at least taken a picture of what I see
    > on my screen; open to ideas on that front!

    Bah. Fix below.

    Thanks,

    tglx
    ---
    diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
    index 71802410e2ab..9b4910befeda 100644
    --- a/drivers/pci/msi/msi.c
    +++ b/drivers/pci/msi/msi.c
    @@ -1100,7 +1100,7 @@ EXPORT_SYMBOL(pci_irq_vector);
    */
    const struct cpumask *pci_irq_get_affinity(struct pci_dev *dev, int nr)
    {
    - int irq = pci_irq_vector(dev, nr);
    + int idx, irq = pci_irq_vector(dev, nr);
    struct msi_desc *desc;

    if (WARN_ON_ONCE(irq <= 0))
    @@ -1113,7 +1113,10 @@ const struct cpumask *pci_irq_get_affinity(struct pci_dev *dev, int nr)

    if (WARN_ON_ONCE(!desc->affinity))
    return NULL;
    - return &desc->affinity[nr].mask;
    +
    + /* MSI has a mask array in the descriptor. */
    + idx = dev->msi_enabled ? nr : 0;
    + return &desc->affinity[idx].mask;
    }
    EXPORT_SYMBOL(pci_irq_get_affinity);

    \
     
     \ /
      Last update: 2021-12-18 11:26    [W:4.944 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site