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]
Date:	Wed, 4 Mar 2009 00:53:34 +0100
From:	Stefan Lippers-Hollmann <s.L-H@....de>
To:	Greg KH <gregkh@...e.de>
Cc:	linux-kernel@...r.kernel.org, stable@...nel.org,
	Tejun Heo <tj@...nel.org>, Robert Hancock <hancockr@...w.ca>,
	Jeff Garzik <jgarzik@...hat.com>, saro_v@...mail.it
Subject: Re: [patch 05/39] sata_nv: give up hardreset on nf2

Hi

On Mittwoch, 18. Februar 2009, Greg KH wrote:
> 2.6.28-stable review patch.  If anyone has any objections, please let us know.
[...]
> From: Tejun Heo <tj@...nel.org>
> 
> commit 7dac745b8e367c99175b8f0d014d996f0e5ed9e5 upstream.
> 
> Kernel bz#12176 reports that nf2 hardreset simply doesn't work.  Give
> up.  Argh...

Sorry to report this rather late, but I upgraded a remote nforce3 system to
2.6.28.7 today, and noticed the following messages repeating continously 
(reproducable on a different nforce3 system as well):

ata4: EH pending after 5 tries, giving up
ata4: EH complete
ata4: EH pending after 5 tries, giving up
ata4: EH complete

Reverting just this patch from 2.6.28.7 lets them disappear again. Likewise
2.6.29-rc6-git7 is affected as well - and reverting this patch seems to fix
the issue there as well. 

Below is the lspci output from the affected system, with dmesg attached:

affected:
	2.6.28.7:		dmesg.2.6.28-7.slh.1-sidux-amd64.gz
	2.6.29-rc6-git5:	dmesg.2.6.29-rc6-sidux-amd64.broken.gz

not affected (only sata_nv-give-up-hardreset-on-nf2 reverted):
	2.6.28.7:		dmesg.2.6.28-7.slh.1.2-sidux-amd64.gz
	2.6.29-rc6-git7:	dmesg.2.6.29-rc6-sidux-amd64.working.gz

(don't be confused the $(uname -r) output for -rc kernels, thats's a 
limitation of the current kernel packaging)


This is a regression compared to plain 2.6.28.[0-6] and present in current 
-stable (2.6.28.7, 2.6.27.19 (untested)) and 2.6.29-rc*-git.

00:09.0 IDE interface [0101]: nVidia Corporation nForce3 Serial ATA Controller 2 [10de:00ee] (rev a2) (prog-if 85 [Master SecO PriO])
        Subsystem: Micro-Star International Co., Ltd. Device [1462:0250]
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0 (750ns min, 250ns max)
        Interrupt: pin A routed to IRQ 23
        Region 0: I/O ports at 09e0 [size=8]
        Region 1: I/O ports at 0be0 [size=4]
        Region 2: I/O ports at 0960 [size=8]
        Region 3: I/O ports at 0b60 [size=4]
        Region 4: I/O ports at c800 [size=16]
        Region 5: I/O ports at c400 [size=128]
        Capabilities: <access denied>
        Kernel driver in use: sata_nv
        Kernel modules: pata_acpi, sata_nv, ata_generic

00:0a.0 IDE interface [0101]: nVidia Corporation nForce3 Serial ATA Controller [10de:00e3] (rev a2) (prog-if 85 [Master SecO PriO])
        Subsystem: Micro-Star International Co., Ltd. Device [1462:0250]
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0 (750ns min, 250ns max)
        Interrupt: pin A routed to IRQ 22
        Region 0: I/O ports at 09f0 [size=8]
        Region 1: I/O ports at 0bf0 [size=4]
        Region 2: I/O ports at 0970 [size=8]
        Region 3: I/O ports at 0b70 [size=4]
        Region 4: I/O ports at b000 [size=16]
        Region 5: I/O ports at ac00 [size=128]
        Capabilities: <access denied>
        Kernel driver in use: sata_nv
        Kernel modules: pata_acpi, sata_nv, ata_generic

00:00.0 Host bridge [0600]: nVidia Corporation nForce3 250Gb Host Bridge [10de:00e1] (rev a1)
00:01.0 ISA bridge [0601]: nVidia Corporation nForce3 250Gb LPC Bridge [10de:00e0] (rev a2)
00:01.1 SMBus [0c05]: nVidia Corporation nForce 250Gb PCI System Management [10de:00e4] (rev a1)
00:02.0 USB Controller [0c03]: nVidia Corporation CK8S USB Controller [10de:00e7] (rev a1)
00:02.1 USB Controller [0c03]: nVidia Corporation CK8S USB Controller [10de:00e7] (rev a1)
00:02.2 USB Controller [0c03]: nVidia Corporation nForce3 EHCI USB 2.0 Controller [10de:00e8] (rev a2)
00:05.0 Bridge [0680]: nVidia Corporation CK8S Ethernet Controller [10de:00df] (rev a2)
00:06.0 Multimedia audio controller [0401]: nVidia Corporation nForce3 250Gb AC'97 Audio Controller [10de:00ea] (rev a1)
00:08.0 IDE interface [0101]: nVidia Corporation CK8S Parallel ATA Controller (v2.5) [10de:00e5] (rev a2)
00:09.0 IDE interface [0101]: nVidia Corporation nForce3 Serial ATA Controller 2 [10de:00ee] (rev a2)
00:0a.0 IDE interface [0101]: nVidia Corporation nForce3 Serial ATA Controller [10de:00e3] (rev a2)
00:0b.0 PCI bridge [0604]: nVidia Corporation nForce3 250Gb AGP Host to PCI Bridge [10de:00e2] (rev a2)
00:0e.0 PCI bridge [0604]: nVidia Corporation nForce3 250Gb PCI-to-PCI Bridge [10de:00ed] (rev a2)
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration [1022:1100]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map [1022:1101]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller [1022:1102]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control [1022:1103]
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV280 [Radeon 9200 PRO] [1002:5960] (rev 01)
01:00.1 Display controller [0380]: ATI Technologies Inc RV280 [Radeon 9200 PRO] (Secondary) [1002:5940] (rev 01)
02:0a.0 Multimedia controller [0480]: Philips Semiconductors TriMedia TM-1300 [1131:5402] (rev 82)
02:0c.0 FireWire (IEEE 1394) [0c00]: VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller [1106:3044] (rev 46)
02:0d.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10)

Regards
	Stefan Lippers-Hollmann

-- 

> Signed-off-by: Tejun Heo <tj@...nel.org>
> Cc: Robert Hancock <hancockr@...w.ca>
> Reported-by: Saro <saro_v@...mail.it>
> Signed-off-by: Jeff Garzik <jgarzik@...hat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
> 
> ---
>  drivers/ata/sata_nv.c |   14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> --- a/drivers/ata/sata_nv.c
> +++ b/drivers/ata/sata_nv.c
> @@ -421,19 +421,21 @@ static struct ata_port_operations nv_gen
>  	.hardreset		= ATA_OP_NULL,
>  };
>  
> -/* OSDL bz3352 reports that nf2/3 controllers can't determine device
> - * signature reliably.  Also, the following thread reports detection
> - * failure on cold boot with the standard debouncing timing.
> +/* nf2 is ripe with hardreset related problems.
> + *
> + * kernel bz#3352 reports nf2/3 controllers can't determine device
> + * signature reliably.  The following thread reports detection failure
> + * on cold boot with the standard debouncing timing.
>   *
>   * http://thread.gmane.org/gmane.linux.ide/34098
>   *
> - * Debounce with hotplug timing and request follow-up SRST.
> + * And bz#12176 reports that hardreset simply doesn't work on nf2.
> + * Give up on it and just don't do hardreset.
>   */
>  static struct ata_port_operations nv_nf2_ops = {
> -	.inherits		= &nv_common_ops,
> +	.inherits		= &nv_generic_ops,
>  	.freeze			= nv_nf2_freeze,
>  	.thaw			= nv_nf2_thaw,
> -	.hardreset		= nv_noclassify_hardreset,
>  };
>  
>  /* For initial probing after boot and hot plugging, hardreset mostly

Download attachment "dmesg.2.6.29-rc6-sidux-amd64.broken.gz" of type "application/x-gzip" (9726 bytes)

Download attachment "dmesg.2.6.29-rc6-sidux-amd64.working.gz" of type "application/x-gzip" (9465 bytes)

Download attachment "dmesg.2.6.28-7.slh.1.2-sidux-amd64.gz" of type "application/x-gzip" (8985 bytes)

Download attachment "dmesg.2.6.28-7.slh.1-sidux-amd64.gz" of type "application/x-gzip" (9217 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ