Commit 0dd11f9be47188ce08543ef65e9ece9beb2027dc

Authored by Eric W. Biederman
Committed by Linus Torvalds
1 parent 4eb527a0ca

msi: fix the ordering of msix irqs

"Mike Miller (OS Dev)" <mikem@beardog.cca.cpqcorp.net> writes:

Found what seems the problem with our vectors being listed backward.  In
drivers/pci/msi.c we should be using list_add_tail rather than list_add to
preserve the ordering across various kernels.  Please consider this for
inclusion.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Screwed-up-by: Michael Ellerman <michael@ellerman.id.au>
Cc: "Mike Miller (OS Dev)" <mikem@beardog.cca.cpqcorp.net>
Cc: Andi Kleen <ak@suse.de>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff

... ... @@ -333,7 +333,7 @@
333 333 msi_mask_bits_reg(pos, is_64bit_address(control)),
334 334 maskbits);
335 335 }
336   - list_add(&entry->list, &dev->msi_list);
  336 + list_add_tail(&entry->list, &dev->msi_list);
337 337  
338 338 /* Configure MSI capability structure */
339 339 ret = arch_setup_msi_irqs(dev, 1, PCI_CAP_ID_MSI);
... ... @@ -404,7 +404,7 @@
404 404 entry->dev = dev;
405 405 entry->mask_base = base;
406 406  
407   - list_add(&entry->list, &dev->msi_list);
  407 + list_add_tail(&entry->list, &dev->msi_list);
408 408 }
409 409  
410 410 ret = arch_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSIX);