Bug 11195

Summary: MCP61 SATA link status incorrect.
Product: IO/Storage Reporter: Dino Wu (linux)
Component: Serial ATAAssignee: Tejun Heo (tj)
Status: CLOSED OBSOLETE    
Severity: normal CC: akpm, alan, bunk
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.26 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: nv-hardreset-debug
2.6.25.7 booting log
2.6.26 with reset_debug=0 Boot log
2.6.26 with reset_debug=1 Boot log
2.6.26 with reset_debug=2 Boot log
/nv-hardreset-debug-1
Boot log with reset_debug=2
hwinfo kernel-2.6.26 with hardreset_debug patch.

Description Dino Wu 2008-07-31 07:19:38 UTC
Latest working kernel version: 2.6.25.7
Earliest failing kernel version: 2.6.26
Distribution: openSUSE-11.0
Hardware Environment: MCP61 SATA Controller, ST3160815AS Disk
Software Environment:
Problem Description:

Computer hangs when booting kernel-2.6.26 with error message "Waiting for device /dev/sda7 to appear...." 

The log of kernel-2.6.25.7

----- kernel-2.6.25.7 Log BEGIN -----
1. <6>Loading iSCSI transport class v2.0-869.
2. <4>Driver 'sd' needs updating - please use bus_type methods
3. <7>sata_nv 0000:00:08.0: version 3.5
4. <4>ACPI: PCI Interrupt Link [APSI] enabled at IRQ 23
5. <6>ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSI] -> GSI 23 (level, low) -> IRQ 23
6. <7>PCI: Setting latency timer of device 0000:00:08.0 to 64
7. <6>scsi0 : sata_nv
8. <6>scsi1 : sata_nv
9. <6>ata1: SATA max UDMA/133 cmd 0x9f0 ctl 0xbf0 bmdma 0xd800 irq 23
10. <6>ata2: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xd808 irq 23
11. <6>ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
12. <6>ata1.00: ATA-7: ST3160815AS, 3.CCA, max UDMA/100
13. <6>ata1.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
14. <6>ata1.00: configured for UDMA/100
15. <6>ata2: SATA link down (SStatus 0 SControl 300)
16. <5>scsi 0:0:0:0: Direct-Access     ATA      ST3160815AS      3.CC PQ: 0 ANSI: 5
----- kernel-2.6.25.7 Log END -----

And the log of Kernel-2.6.26 *like* below.

----- Kernel-2.6.26 Log BEGIN -----
1. <6>Loading iSCSI transport class v2.0-869.
2. <4>Driver 'sd' needs updating - please use bus_type methods
3. 
4. <4>ACPI: PCI Interrupt Link [APSI] enabled at IRQ 23
5. <6>ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSI] -> GSI 23 (level, low) -> IRQ 23
6. <7>PCI: Setting latency timer of device 0000:00:08.0 to 64
7. <6>scsi0 : sata_nv
8. <6>scsi1 : sata_nv
9. <6>ata1: SATA max UDMA/133 cmd 0x9f0 ctl 0xbf0 bmdma 0xd800 irq 23
10. <6>ata2: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xd808 irq 23
11. <6>ata1: SATA link down (SStatus 100 SControl 300)
12. 
13. 
14. 
15. <6>ata2: SATA link down (SStatus 0 SControl 300)
----- Kernel-2.6.26 Log END -----

Something different.

And I was used the same .config file when compile the 2.6.25.7 and 2.6.26.
Comment 1 Tejun Heo 2008-07-31 19:02:39 UTC
Created attachment 17046 [details]
nv-hardreset-debug

It's probably fallout of prefer-hardreset change.  Can you please try the attached patch?  It adds a module parameter sata_nv.reset_debug.  Boot w/ 0, 1 and 2 and please report what happens with each value.  Thanks.
Comment 2 Dino Wu 2008-08-01 05:29:58 UTC
Created attachment 17051 [details]
2.6.25.7 booting log

2.6.25.7 Boot log.
the kernel works.
Comment 3 Dino Wu 2008-08-01 05:31:08 UTC
Created attachment 17052 [details]
2.6.26 with reset_debug=0 Boot log

the kernel doesn't work.
Comment 4 Dino Wu 2008-08-01 05:32:08 UTC
Created attachment 17053 [details]
2.6.26 with reset_debug=1 Boot log

the kernel doesn't work with longer waiting time.
Comment 5 Dino Wu 2008-08-01 05:32:53 UTC
Created attachment 17054 [details]
2.6.26 with reset_debug=2 Boot log

the kernel doesn't work without hardreset.
Comment 6 Dino Wu 2008-08-01 05:51:47 UTC
Sorry i cannot get the boot log from /var/log, The boot log *like* below...

----- Kernel-2.6.26 Log BEGIN -----
1. <6>Loading iSCSI transport class v2.0-869.
2. <4>Driver 'sd' needs updating - please use bus_type methods
3. XXX turning off hardreset
4. <4>ACPI: PCI Interrupt Link [APSI] enabled at IRQ 23
5. <6>ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSI] -> GSI 23 (level, low)
-> IRQ 23
6. <7>PCI: Setting latency timer of device 0000:00:08.0 to 64
7. <6>scsi0 : sata_nv
8. <6>scsi1 : sata_nv
9. <6>ata1: SATA max UDMA/133 cmd 0x9f0 ctl 0xbf0 bmdma 0xd800 irq 23
10. <6>ata2: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xd808 irq 23
     XXX hardreset, debug=2
11. <6>ata1: SATA link down (SStatus 100 SControl 300)
12. 
13. 
14. XXX hardreset, debug=2
15. <6>ata2: SATA link down (SStatus 0 SControl 300)
----- Kernel-2.6.26 Log END -----

----- Kernel-2.6.26 Log BEGIN -----
1. <6>Loading iSCSI transport class v2.0-869.
2. <4>Driver 'sd' needs updating - please use bus_type methods
3.
4. <4>ACPI: PCI Interrupt Link [APSI] enabled at IRQ 23
5. <6>ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSI] -> GSI 23 (level, low)
-> IRQ 23
6. <7>PCI: Setting latency timer of device 0000:00:08.0 to 64
7. <6>scsi0 : sata_nv
8. <6>scsi1 : sata_nv
9. <6>ata1: SATA max UDMA/133 cmd 0x9f0 ctl 0xbf0 bmdma 0xd800 irq 23
10. <6>ata2: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xd808 irq 23

Severial seconds......

     XXX hardreset, debug=1
11. <6>ata1: SATA link down (SStatus 100 SControl 300)
12. 
13.     
14. XXX hardreset, debug=1
15. <6>ata2: SATA link down (SStatus 0 SControl 300)
----- Kernel-2.6.26 Log END -----


----- Kernel-2.6.26 Log BEGIN -----
1. <6>Loading iSCSI transport class v2.0-869.
2. <4>Driver 'sd' needs updating - please use bus_type methods
3. 
4. <4>ACPI: PCI Interrupt Link [APSI] enabled at IRQ 23
5. <6>ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [APSI] -> GSI 23 (level, low)
-> IRQ 23
6. <7>PCI: Setting latency timer of device 0000:00:08.0 to 64
7. <6>scsi0 : sata_nv
8. <6>scsi1 : sata_nv
9. <6>ata1: SATA max UDMA/133 cmd 0x9f0 ctl 0xbf0 bmdma 0xd800 irq 23
10. <6>ata2: SATA max UDMA/133 cmd 0x970 ctl 0xb70 bmdma 0xd808 irq 23
      XXX hardreset, debug=0
11. <6>ata1: SATA link down (SStatus 100 SControl 300)
12. 
13. 
14. XXX hardreset, debug=0
15. <6>ata2: SATA link down (SStatus 0 SControl 300)
----- Kernel-2.6.26 Log END -----

It still doesn't work.
Comment 7 Tejun Heo 2008-08-01 09:28:20 UTC
Created attachment 17057 [details]
/nv-hardreset-debug-1

Ah.. I screwed up debug=2.  Can you please try the attached patch with debug=2?
Comment 8 Dino Wu 2008-08-01 18:27:11 UTC
Created attachment 17060 [details]
Boot log with reset_debug=2

it works.
Comment 9 Peer Chen 2008-08-13 00:04:48 UTC
Dino,
Could you point out the model number of your MCP61 board?

If other HDDs connect to this board have the same problem?
Comment 10 Dino Wu 2008-08-13 05:55:21 UTC
Created attachment 17216 [details]
hwinfo kernel-2.6.26 with hardreset_debug patch.

Hardware info.

I have no other HDD for test now, I'll try it later.