- allow-msi-to-work-on-kexec-kernel.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     Allow MSI to work on kexec kernel

has been removed from the -mm tree.  Its filename is

     allow-msi-to-work-on-kexec-kernel.patch

This patch was probably dropped from -mm because
it has now been merged into a subsystem tree or
into Linus's tree, or because it was folded into
its parent patch in the -mm tree.

------------------------------------------------------
Subject: Allow MSI to work on kexec kernel
From: Rajesh Shah <rajesh.shah@xxxxxxxxx>


We recently ran into a problem where the e1000 device failed to work
properly on the kexec kernel.  MSI was enabled for the device in the main
kernel when it crashed.  The e1000 driver tried to enable MSI on the kexec
kernel, but the code bailed early when it found that MSI was already
enabled in the hardware, even though the software state was not properly
set up in the kexec'd kernel.  This patch fixes the problem by moving the
early return to after making sure that the software state is properly
initialized.

Signed-off-by: Rajesh Shah <rajesh.shah@xxxxxxxxx>
Cc: Greg KH <greg@xxxxxxxxx>
Cc: "Nguyen, Tom L" <tom.l.nguyen@xxxxxxxxx>
Cc: Shaohua Li <shaohua.li@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/pci/msi.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff -puN drivers/pci/msi.c~allow-msi-to-work-on-kexec-kernel drivers/pci/msi.c
--- 25/drivers/pci/msi.c~allow-msi-to-work-on-kexec-kernel	Fri May 26 12:46:22 2006
+++ 25-akpm/drivers/pci/msi.c	Fri May 26 12:51:42 2006
@@ -938,14 +938,13 @@ int pci_enable_msi(struct pci_dev* dev)
 	if (!pos)
 		return -EINVAL;
 
-	pci_read_config_word(dev, msi_control_reg(pos), &control);
-	if (control & PCI_MSI_FLAGS_ENABLE)
-		return 0;			/* Already in MSI mode */
-
 	if (!msi_lookup_vector(dev, PCI_CAP_ID_MSI)) {
 		/* Lookup Sucess */
 		unsigned long flags;
 
+		pci_read_config_word(dev, msi_control_reg(pos), &control);
+		if (control & PCI_MSI_FLAGS_ENABLE)
+			return 0;	/* Already in MSI mode */
 		spin_lock_irqsave(&msi_lock, flags);
 		if (!vector_irq[dev->irq]) {
 			msi_desc[dev->irq]->msi_attrib.state = 0;
_

Patches currently in -mm which might be from rajesh.shah@xxxxxxxxx are


-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux