lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1156906638.3022.18.camel@localhost.portugal>
Date:	Wed, 30 Aug 2006 03:57:18 +0100
From:	Sergio Monteiro Basto <sergio@...giomb.no-ip.org>
To:	Daniel Drake <dsd@...too.org>, bjorn.helgaas@...com
Cc:	linux-kernel@...r.kernel.org, Alan Cox <alan@...rguk.ukuu.org.uk>,
	Andrew Morton <akpm@...l.org>, Chris Wedgwood <cw@...f.org>,
	greg@...ah.com, jeff@...zik.org, harmon@....edu
Subject: Re: [PATCH] VIA IRQ quirk fixup only in XT_PIC mode Take 2

Hi, Sorry for so late answer , I have been in holidays and  busy.

I remember check my emails that I send to Len Brown about this subject.
And I found, what I want, is just revert one patch of Bjorn Helgaas :)
between kernel 2.6.12-rc5 and 6.13.

Check this out
http://sourceforge.net/mailarchive/message.php?msg_id=11858102

so I propose this patch like this :

 static void quirk_via_irq(struct pci_dev *dev)
  {
  	u8 irq, new_irq;
  
 +#ifdef CONFIG_X86_IO_APIC
 +	if (nr_ioapics && !skip_ioapic_setup)
 +		return;
 +#endif
 +#ifdef CONFIG_ACPI
 +	if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
 +		return;
 +#endif
  	new_irq = dev->irq & 0xf;
  	pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
  	if (new_irq != irq) {
 
On Sat, 2006-08-12 at 23:47 +0100, Daniel Drake wrote:
> Sergio Monteiro Basto wrote:
> > Hi, this patch (now for 2.6.18-rc2) is more readable.
> 
> Ok, it looks like I was wrong in my earlier mails, ACPI vs APIC 
> confusion. In the bug reports I mentioned, APIC was not being used in 
> any circumstances (however it is still a bit strange how these systems 
> do not need quirks when acpi=off).

I still convinced that we need patch even with acpi=off , the problem
doesn't appear only on boot time.


> 
> I'm reasonably certain that this patch will apply the quirks on the 
> affected systems again, so I'm happy for it to be applied, people will 
> be able to use their hardware again. However I'm not sure how good a 
> solution it is, because in some circumstances it will apply the quirks 
> to VIA PCI cards on non-VIA boards, which was the reason we messed with 
> this code in the first place. We could possibly merge it with the 
> southbridge detection hack, but it gets a bit silly at that point...
> 
> Jeff/Chris: any thoughts?
> 
> > Cc: Alan Cox <alan@...rguk.ukuu.org.uk>
> > Cc: "Scott J. Harmon" <harmon@....edu>
> > Cc: Andrew Morton <akpm@...l.org>
> > Cc: Chris Wedgwood <cw@...f.org>
> > Cc: Greg KH <greg@...ah.com>
> > Signed-off-by: Sergio Monteiro Basto <sergio@...giomb.no-ip.org>
> > ---
> >  quirks.c |   14 +++++++-------
> >  1 file changed, 7 insertions(+), 7 deletions(-)
> > 
> > --- linux-2.6.17.i686/drivers/pci/quirks.c.orig	2006-07-28 12:59:04.000000000 +0100
> > +++ linux-2.6.17.i686/drivers/pci/quirks.c	2006-07-28 13:26:49.000000000 +0100
> > @@ -648,11 +648,17 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_V
> >   *
> >   * Some of the on-chip devices are actually '586 devices' so they are
> >   * listed here.
> > + * 
> > + * if flags say that we have working apic(s), we don't need to quirk these
> > + * devices
> >   */
> >  static void quirk_via_irq(struct pci_dev *dev)
> >  {
> >  	u8 irq, new_irq;
> >  
> > +	if ((smp_found_config && !skip_ioapic_setup && nr_ioapics) || cpu_has_apic)
> > +		return;
> > +
> >  	new_irq = dev->irq & 0xf;
> >  	pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> >  	if (new_irq != irq) {
> > @@ -662,13 +668,7 @@ static void quirk_via_irq(struct pci_dev
> >  		pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
> >  	}
> >  }
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq);
> > -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq);
> > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
> >  
> >  /*
> >   * VIA VT82C598 has its device ID settable and many BIOSes
> > 
> > 
> > 
> > 
> 

Download attachment "smime.p7s" of type "application/x-pkcs7-signature" (2166 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ