Manuel Metz wrote:
> Tejun Heo wrote:
>> Does it work if you give 'irqpoll' kernel parameter?
>>
>
> Yes this works with "irqpoll". But as you can see in the attached dmesg
> output, now I get a bunch of APIC errors ... ?
Manuel, Stefan, please try the attached patch over 2.6.20 and report the
result.
--
tejun
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 48616c6..882b205 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -209,6 +209,10 @@ struct ahci_port_priv {
unsigned int ncq_saw_dmas:1;
};
+static int msi;
+module_param(msi, int, 0444);
+MODULE_PARM_DESC(msi, "Enable use of PCI MSI (0=off, 1=on)");
+
static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg);
static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
@@ -1706,11 +1710,13 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
goto err_out;
}
- if (pci_enable_msi(pdev) == 0)
- have_msi = 1;
- else {
- pci_intx(pdev, 1);
- have_msi = 0;
+ if (msi) {
+ if (pci_enable_msi(pdev) == 0)
+ have_msi = 1;
+ else {
+ pci_intx(pdev, 1);
+ have_msi = 0;
+ }
}
probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL);
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]