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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <18446.60365.156326.246875@harpo.it.uu.se>
Date:	Wed, 23 Apr 2008 09:57:01 +0200
From:	Mikael Pettersson <mikpe@...uu.se>
To:	Marin Mitov <mitov@...p.bas.bg>
Cc:	linux-kernel@...r.kernel.org, Jeff Garzik <jgarzik@...ox.com>,
	Mikael Pettersson <mikpe@...uu.se>, linux-ide@...r.kernel.org
Subject: Re: [PATCH] pci_try_set_mwi() in sata_promise

Marin Mitov writes:
 > Hi all,
 > 
 > The BIOS (Asus A8V Deluxe) is setting incorrectly PCI
 > Cache Line Size Register (as seen in lspci -vvv output), 
 > so try to correct it by pci_try_set_mwi(pdev).
 > 
 > Marin Mitov
 > ----------------------------------------------------------
 > Enable Memory-Write-and-Invalidate in sata_promise driver and 
 > get rid of strange BIOS-set value for cache line size register.
 > 
 > According to Documentation/pci.txt:  "This enables...
 > ...and also ensures that the cache line size register
 > is set correctly".
 > 
 > Signed-off-by: Marin Mitov <mitov@...p.bas.bg>
 > ----------------------------------------------------------
 > --- a/drivers/ata/sata_promise.c	2008-04-22 13:09:15.000000000 +0300
 > +++ b/drivers/ata/sata_promise.c	2008-04-22 13:11:01.000000000 +0300
 > @@ -1114,6 +1114,7 @@ static int pdc_ata_init_one(struct pci_d
 > 
 >  	/* start host, request IRQ and attach */
 >  	pci_set_master(pdev);
 > +	pci_try_set_mwi(pdev);
 >  	return ata_host_activate(host, pdev->irq, pdc_interrupt, IRQF_SHARED,
 >  				 &pdc_ata_sht);
 >  }
 > 

Not enough information here.

0. Please post lspci -vvvx including all PCI devices.
1. What consequence does the incorrect cache line size setting have?
2. What improvement does that pci_try_set_mwi() cause? Speed? Fewer errors?
3. Why call pci_try_set_mwi()? Can't you set the cache line size directly?
4. You write "try to correct it". So the "fix" might not work? Then what?
5. Is the problem specific for the Promise chip? That is:
   a) are any other built-in PCI devices affected by this BIOS bug?
   b) if you add a PCI card (of any kind), does it also
      get the incorrect cache line size setting?
6. Are you running the latest BIOS?

To me it sounds like this is a generic PCI bug on that
machine, and so should be handled by the kernel's PCI layer.
But if the problem really is specific to the built-in Promise
chip on that machine, then I can see why a workaround in
sata_promise could be appropriate.

/Mikael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ