Re: [NEW PATCH] VIA IRQ quirk behaviour change

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

 



On Wed, 2006-09-06 at 19:49 -0400, Daniel Drake wrote:
> Sergio,
> 
> Stian appears to be walking proof that quirks are sometimes required
> in 
> IO-APIC mode.
> 
> My next move would be to modify the patch to not revert Bjorn's
> changes 
> (but leave Linus' modification in place, alongside the southbridge 
> detection). Any thoughts? 

Hi Daniel, since you ask for thoughts :)

yap, is the obvious conclusion, but no, my bet is one problem with USB
and USB guys could put the USB things working. 
I just had remember, my Asrock with VIA8237 and VIA SATA (where I am
write now) is working without quirks and USB guys made a patch, by
coincidence. Since then have been working great.
http://bugzilla.kernel.org/show_bug.cgi?id=6419#c19

About Linus patch I have to correct me about what I had write,
http://lkml.org/lkml/2005/9/27/113
«(it used to say "if we have an IO-APIC, don't do this" (my patch), now
it says "if this irq is bound to an IO-APIC, don't do this")»
Or my patch or the Linus patch, not both.


diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c 
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -546,7 +546,10 @@ static void quirk_via_irq(struct pci_dev
 {
 	u8 irq, new_irq;
 
-	new_irq = dev->irq & 0xf;
+	new_irq = dev->irq;
+	if (!new_irq || new_irq >= 15)
+		return;
+
 	pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
 	if (new_irq != irq) {

but I look to this Linus patch and I see 2 bugs
one should be > not >= and new_irq after tests new_irq should be dev->irq & 0xf;
like this:
-	new_irq = dev->irq & 0xf;
+	new_irq = dev->irq;
+	if (!new_irq || new_irq > 15)
+		return;
+	new_irq = dev->irq & 0xf;
	pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
 	if (new_irq != irq) {

or simply :

+	if (!dev->irq || dev->irq > 15)
+		return;
	new_irq = dev->irq & 0xf;

About Stian computer, looking for /proc/interrupts 

11:      30696      27559   IO-APIC-level  uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3

have USB on irq 11, with IO-APIC-level, which less acpi is not normal on
low numbers ( <=15  )  be IO-APIC-level,  normally is IO-APIC-edge. 
Could be a ACPI problem .

Thanks,
-- 
Sérgio M. B.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


[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]
  Powered by Linux