* sata_promise KERNEL_BUG on 2.6.12
@ 2005-06-20 2:02 Marcel Naziri
2005-06-20 2:25 ` Jeff Garzik
0 siblings, 1 reply; 6+ messages in thread
From: Marcel Naziri @ 2005-06-20 2:02 UTC (permalink / raw)
To: linux-kernel
Hi,
this is my first posting to the LKML and I have to report a problem with the
sata_promise driver:
I've installed a Promise SATAII-150 TX4 with two Samsung drives. One drive is
native SATA, the other is adapted via some Silicon Image SATA-PATA-bridge.
$ cat /proc/version
Linux version 2.6.12 (root@Carter) (gcc version 4.0.1 20050522 (prerelease)
(Debian 4.0.0-9)) #1 Mon Jun 20 01:27:35 CEST 2005
Now, when I connect the drives to port 1 & 2 of the controller, booting up
stops with this:
ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
ata1: SATA max UDMA/133 cmd 0xF8802200 ctl 0xF8802238 bdma 0x0 irq 17
ata2: SATA max UDMA/133 cmd 0xF8802280 ctl 0xF88022B8 bdma 0x0 irq 17
ata3: SATA max UDMA/133 cmd 0xF8802300 ctl 0xF8802338 bdma 0x0 irq 17
ata4: SATA max UDMA/133 cmd 0xF8802380 ctl 0xF88023B8 bdma 0x0 irq 17
ata1: no device found (phy stat 00000000)
scsi0 : sata_promise
ata2: dev 0 ATA, max UDMA/100, 312581808 sectors: lba48
------------[ cut here ]------------
kernel BUG at drivers/scsi/libata-core.c:2077!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in:
CPU: 0
EIP: 0060:[<c025f60f>] Not tainted VLI
EFLAGS: 00010246 (2.6.12)
EIP is at ata_dev_set_xfermode+0xcf/0xf0
eax: 00000000 ebx: c1bdea7c ecx: 00000000 edx: 00000000
esi: c1bdea7c edi: c1bdea00 ebp: c193fe2c esp: c193fe24
ds: 007b es: 007b ss: 0068
Process swapper (pid: 1, threadinfo=c193e000 task=c18f6a20)
Stack: c1bdea00 c1bdea7c 00000000 c193fe30 c193fe30 c1bdea7c c1bdea7c c1bdea00
00000001 c025e813 c1bdea00 c1bdea7c 0000003f c1bdea00 c1bdea00 c1bdea7c
00000440 c025eabd c1bdea00 c1bdea7c 00000000 00000000 45000001 c1bdea00
Call Trace:
[<c025e813>] ata_dev_set_mode+0x53/0x110
[<c025eabd>] ata_set_mode+0x7d/0xd0
[<c025e5f8>] ata_bus_probe+0xb8/0xd0
[<c0261605>] ata_device_add+0x215/0x2d0
[<c02644e3>] pdc_ata_init_one+0x223/0x2e0
[<c01cf605>] pci_device_probe_static+0x45/0x50
[<c01cf64b>] __pci_device_probe+0x3b/0x60
[<c01cf69c>] pci_device_probe+0x2c/0x50
[<c022638f>] driver_probe_device+0x2f/0x80
[<c0226509>] driver_attach+0x59/0x90
[<c02269e8>] bus_add_driver+0x98/0xe0
[<c01cf915>] pci_register_driver+0x55/0x90
[<c03da70f>] pdc_ata_init+0xf/0x20
[<c03bc948>] do_initcalls+0x58/0xd0
[<c01002b0>] init+0x0/0x120
[<c01002df>] init+0x2f/0x120
[<c0101334>] kernel_thread_helper+0x0/0xc
[<c0101339>] kernel_thread_helper+0x5/0xc
Code: 8b 74 24 18 8b 7c 24 1c 8b 6c 24 20 83 c4 24 c3 89 e8 e8 05 c5 08 00 8b
5c 24 14 8b 74 24 18 8b 7c 24 1c 8b 6c 24 20 83 c4 24 c3 <0f> 0b 1d 08 16 fc
30 c0
e9 6d ff ff ff e8 0f c4 08 00 eb ad 8d
<0>Kernel panic - not syncing: Attempted to kill init!
When I connect the drives on port 3 & 4 of the controller, kernel gets
running:
libata version 1.11 loaded.
sata_promise version 1.01
ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
ata1: SATA max UDMA/133 cmd 0xF8802200 ctl 0xF8802238 bmdma 0x0 irq 17
ata2: SATA max UDMA/133 cmd 0xF8802280 ctl 0xF88022B8 bmdma 0x0 irq 17
ata3: SATA max UDMA/133 cmd 0xF8802300 ctl 0xF8802338 bmdma 0x0 irq 17
ata4: SATA max UDMA/133 cmd 0xF8802380 ctl 0xF88023B8 bmdma 0x0 irq 17
ata1: dev 0 cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3c01 87:4003
88:80ff
ata1: dev 0 ATA, max UDMA7, 312581808 sectors: lba48
ata1: dev 0 configured for UDMA/133
scsi0 : sata_promise
ata2: no device found (phy stat 00000000)
scsi1 : sata_promise
ata3: dev 0 cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3e01 87:4003
88:203f
ata3: dev 0 ATA, max UDMA/100, 312581808 sectors: lba48
ata3: dev 0 configured for UDMA/100
scsi2 : sata_promise
ata4: no device found (phy stat 00000000)
scsi3 : sata_promise
Vendor: ATA Model: SAMSUNG SP1614C Rev: SW10
Type: Direct-Access ANSI SCSI revision: 05
Vendor: ATA Model: SAMSUNG SV1604N Rev: TR10
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9 sda10 >
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sdb: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sdb: drive cache: write back
sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 sdb6 sdb7 sdb8 sdb9 sdb10 >
Attached scsi disk sdb at scsi2, channel 0, id 0, lun 0
Can it deal with the fact, that the drives are not scanned in port order of
the controller? They seem to be mapped like
port 1 > ata4
port 2 > ata2
port 3 > ata1
port 4 > ata3
With Promise ulsata driver on 2.4.x kernels i have no problems with drives
connected on port 1 & 2.
What can I do? If more info is needed, please bug me... :)
Thanks for help!
zwobbl
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sata_promise KERNEL_BUG on 2.6.12
2005-06-20 2:02 sata_promise KERNEL_BUG on 2.6.12 Marcel Naziri
@ 2005-06-20 2:25 ` Jeff Garzik
2005-06-20 2:38 ` Marcel Naziri
2005-06-20 12:32 ` Marcel Naziri
0 siblings, 2 replies; 6+ messages in thread
From: Jeff Garzik @ 2005-06-20 2:25 UTC (permalink / raw)
To: Marcel Naziri; +Cc: linux-kernel
Marcel Naziri wrote:
> Now, when I connect the drives to port 1 & 2 of the controller, booting up
> stops with this:
> ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
> ata1: SATA max UDMA/133 cmd 0xF8802200 ctl 0xF8802238 bdma 0x0 irq 17
> ata2: SATA max UDMA/133 cmd 0xF8802280 ctl 0xF88022B8 bdma 0x0 irq 17
> ata3: SATA max UDMA/133 cmd 0xF8802300 ctl 0xF8802338 bdma 0x0 irq 17
> ata4: SATA max UDMA/133 cmd 0xF8802380 ctl 0xF88023B8 bdma 0x0 irq 17
> ata1: no device found (phy stat 00000000)
> scsi0 : sata_promise
> ata2: dev 0 ATA, max UDMA/100, 312581808 sectors: lba48
> ------------[ cut here ]------------
> kernel BUG at drivers/scsi/libata-core.c:2077!
> invalid operand: 0000 [#1]
> PREEMPT
> Modules linked in:
> CPU: 0
> EIP: 0060:[<c025f60f>] Not tainted VLI
> EFLAGS: 00010246 (2.6.12)
> EIP is at ata_dev_set_xfermode+0xcf/0xf0
This is highly strange. Do you have any patches applied, or is this
vanilla 2.6.12 kernel?
Can you turn off preempt and try to reproduce ?
Can you provide your full .config ?
> Can it deal with the fact, that the drives are not scanned in port order of
> the controller? They seem to be mapped like
> port 1 > ata4
> port 2 > ata2
> port 3 > ata1
> port 4 > ata3
The driver scans the ports in the order presented internally in the
hardware.
Jeff
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sata_promise KERNEL_BUG on 2.6.12
2005-06-20 2:25 ` Jeff Garzik
@ 2005-06-20 2:38 ` Marcel Naziri
2005-06-20 2:41 ` Jeff Garzik
2005-06-20 12:32 ` Marcel Naziri
1 sibling, 1 reply; 6+ messages in thread
From: Marcel Naziri @ 2005-06-20 2:38 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1734 bytes --]
Also sprach Jeff Garzik am Montag 20 Juni 2005 04:25:
> Marcel Naziri wrote:
> > Now, when I connect the drives to port 1 & 2 of the controller, booting
> > up stops with this:
> > ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
> > ata1: SATA max UDMA/133 cmd 0xF8802200 ctl 0xF8802238 bdma 0x0 irq 17
> > ata2: SATA max UDMA/133 cmd 0xF8802280 ctl 0xF88022B8 bdma 0x0 irq 17
> > ata3: SATA max UDMA/133 cmd 0xF8802300 ctl 0xF8802338 bdma 0x0 irq 17
> > ata4: SATA max UDMA/133 cmd 0xF8802380 ctl 0xF88023B8 bdma 0x0 irq 17
> > ata1: no device found (phy stat 00000000)
> > scsi0 : sata_promise
> > ata2: dev 0 ATA, max UDMA/100, 312581808 sectors: lba48
> > ------------[ cut here ]------------
> > kernel BUG at drivers/scsi/libata-core.c:2077!
> > invalid operand: 0000 [#1]
> > PREEMPT
> > Modules linked in:
> > CPU: 0
> > EIP: 0060:[<c025f60f>] Not tainted VLI
> > EFLAGS: 00010246 (2.6.12)
> > EIP is at ata_dev_set_xfermode+0xcf/0xf0
>
> This is highly strange. Do you have any patches applied, or is this
> vanilla 2.6.12 kernel?
it's vanilla. and I have this problem since 2.6.10 (that is the first one i
tried with the controller)
> Can you turn off preempt and try to reproduce ?
I can try this tomorrow...
> Can you provide your full .config ?
Is attached...
> > Can it deal with the fact, that the drives are not scanned in port order
> > of the controller? They seem to be mapped like
> > port 1 > ata4
> > port 2 > ata2
> > port 3 > ata1
> > port 4 > ata3
>
> The driver scans the ports in the order presented internally in the
> hardware.
Could the driver "remap" it? It's confusing that the boot loader sees the
drives in another way than the kernel do.
Greets
zwobbl
[-- Attachment #2: zwobbl.config.gz --]
[-- Type: application/x-gzip, Size: 8393 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sata_promise KERNEL_BUG on 2.6.12
2005-06-20 2:38 ` Marcel Naziri
@ 2005-06-20 2:41 ` Jeff Garzik
0 siblings, 0 replies; 6+ messages in thread
From: Jeff Garzik @ 2005-06-20 2:41 UTC (permalink / raw)
To: Marcel Naziri; +Cc: linux-kernel
Marcel Naziri wrote:
> Could the driver "remap" it? It's confusing that the boot loader sees the
> drives in another way than the kernel do.
Unfortunately it largely depends on how the board maker decided to wire
up the ports. If the Promise driver gets it right, I probably need to
poke into BIOS somewhere...
Jeff
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sata_promise KERNEL_BUG on 2.6.12
2005-06-20 2:25 ` Jeff Garzik
2005-06-20 2:38 ` Marcel Naziri
@ 2005-06-20 12:32 ` Marcel Naziri
2005-06-20 13:25 ` Simon Sudler
1 sibling, 1 reply; 6+ messages in thread
From: Marcel Naziri @ 2005-06-20 12:32 UTC (permalink / raw)
To: linux-kernel; +Cc: Jeff Garzik
Also sprach Jeff Garzik am Montag 20 Juni 2005 04:25:
> Marcel Naziri wrote:
> > Now, when I connect the drives to port 1 & 2 of the controller, booting
> > up stops with this:
> > ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
> > ata1: SATA max UDMA/133 cmd 0xF8802200 ctl 0xF8802238 bdma 0x0 irq 17
> > ata2: SATA max UDMA/133 cmd 0xF8802280 ctl 0xF88022B8 bdma 0x0 irq 17
> > ata3: SATA max UDMA/133 cmd 0xF8802300 ctl 0xF8802338 bdma 0x0 irq 17
> > ata4: SATA max UDMA/133 cmd 0xF8802380 ctl 0xF88023B8 bdma 0x0 irq 17
> > ata1: no device found (phy stat 00000000)
> > scsi0 : sata_promise
> > ata2: dev 0 ATA, max UDMA/100, 312581808 sectors: lba48
> > ------------[ cut here ]------------
> > kernel BUG at drivers/scsi/libata-core.c:2077!
> > invalid operand: 0000 [#1]
> > PREEMPT
> > Modules linked in:
> > CPU: 0
> > EIP: 0060:[<c025f60f>] Not tainted VLI
> > EFLAGS: 00010246 (2.6.12)
> > EIP is at ata_dev_set_xfermode+0xcf/0xf0
>
> This is highly strange. Do you have any patches applied, or is this
> vanilla 2.6.12 kernel?
>
> Can you turn off preempt and try to reproduce ?
With preempt disabled it boots up. drives attached to port 1 & 2 gets attached
to ata4 & ata2:
libata version 1.11 loaded.
sata_promise version 1.01
ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17
ata1: SATA max UDMA/133 cmd 0xF8802200 ctl 0xF8802238 bmdma 0x0 irq 17
ata2: SATA max UDMA/133 cmd 0xF8802280 ctl 0xF88022B8 bmdma 0x0 irq 17
ata3: SATA max UDMA/133 cmd 0xF8802300 ctl 0xF8802338 bmdma 0x0 irq 17
ata4: SATA max UDMA/133 cmd 0xF8802380 ctl 0xF88023B8 bmdma 0x0 irq 17
ata1: no device found (phy stat 00000000)
scsi0 : sata_promise
ata2: dev 0 cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3e01 87:4003
88:203f
ata2: dev 0 ATA, max UDMA/100, 312581808 sectors: lba48
ata2: dev 0 configured for UDMA/100
scsi1 : sata_promise
ata3: no device found (phy stat 00000000)
scsi2 : sata_promise
ata4: dev 0 cfg 49:2f00 82:346b 83:7f01 84:4003 85:3c69 86:3c01 87:4003
88:80ff
ata4: dev 0 ATA, max UDMA7, 312581808 sectors: lba48
ata4: dev 0 configured for UDMA/133
scsi3 : sata_promise
Vendor: ATA Model: SAMSUNG SV1604N Rev: TR10
Type: Direct-Access ANSI SCSI revision: 05
Vendor: ATA Model: SAMSUNG SP1614C Rev: SW10
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9 sda10 >
Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
SCSI device sdb: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 312581808 512-byte hdwr sectors (160042 MB)
SCSI device sdb: drive cache: write back
sdb: sdb1 sdb2 sdb3 sdb4 < sdb5 sdb6 sdb7 sdb8 sdb9 sdb10 >
Attached scsi disk sdb at scsi3, channel 0, id 0, lun 0
What else can I try? What helpful information can I provide?
# lspci -v -s 0a.0
0000:00:0a.0 Unknown mass storage controller: Promise Technology, Inc.:
Unknown device 3d18 (rev 02)
Subsystem: Promise Technology, Inc.: Unknown device 3d18
Flags: bus master, 66MHz, medium devsel, latency 72, IRQ 17
I/O ports at e800 [size=128]
I/O ports at e400 [size=256]
Memory at dffff000 (32-bit, non-prefetchable) [size=4K]
Memory at dffc0000 (32-bit, non-prefetchable) [size=128K]
Expansion ROM at dffe0000 [disabled] [size=32K]
Capabilities: [60] Power Management version 2
Hopefully with preempt disabled also these sporadic messages in syslog will
disappear:
Jun 20 01:28:31 Carter kernel: ata3: status=0x51 { DriveReady SeekComplete
Error }
Jun 20 01:28:31 Carter kernel: ata3: called with no error (51)!
But I think that the one bridged ATA-drive may cause this warning/error!? Is
it harmful?
On very rare conditions sometimes it results in harder errors like that ending
up in lockup filesystems and my box:
May 25 01:25:50 Carter kernel: ata1: command timeout
May 25 01:25:50 Carter kernel: ata1: status=0x51 { DriveReady SeekComplete
Error }
May 25 01:25:50 Carter kernel: ata1: called with no error (51)!
May 25 01:26:20 Carter kernel: ata1: command timeout
May 25 01:26:20 Carter kernel: ATA: abnormal status 0xFF on port 0xF880221C
May 25 01:26:20 Carter kernel: ata1: status=0xff { Busy }
May 25 01:26:20 Carter kernel: SCSI error : <0 0 0 0> return code = 0x8000002
May 25 01:26:20 Carter kernel: sda: Current: sense key: Aborted Command
May 25 01:26:20 Carter kernel: Additional sense: Scsi parity error
May 25 01:26:20 Carter kernel: end_request: I/O error, dev sda, sector 9079889
May 25 01:26:50 Carter kernel: ata1: command timeout
May 25 01:26:50 Carter kernel: ATA: abnormal status 0xFF on port 0xF880221C
May 25 01:26:50 Carter kernel: ata1: status=0xff { Busy }
May 25 01:26:50 Carter kernel: SCSI error : <0 0 0 0> return code = 0x8000002
May 25 01:26:50 Carter kernel: sda: Current: sense key: Aborted Command
May 25 01:26:50 Carter kernel: Additional sense: Scsi parity error
May 25 01:26:50 Carter kernel: end_request: I/O error, dev sda, sector 9079897
May 25 01:27:20 Carter kernel: ata1: command timeout
May 25 01:27:20 Carter kernel: ATA: abnormal status 0xFF on port 0xF880221C
May 25 01:27:20 Carter kernel: ata1: status=0xff { Busy }
May 25 01:27:20 Carter kernel: SCSI error : <0 0 0 0> return code = 0x8000002
May 25 01:27:20 Carter kernel: sda: Current: sense key: Aborted Command
May 25 01:27:20 Carter kernel: Additional sense: Scsi parity error
May 25 01:27:20 Carter kernel: end_request: I/O error, dev sda, sector 9079905
May 25 01:27:50 Carter kernel: ata1: command timeout
May 25 01:27:50 Carter kernel: ATA: abnormal status 0xFF on port 0xF880221C
May 25 01:27:50 Carter kernel: ata1: status=0xff { Busy }
May 25 01:27:50 Carter kernel: SCSI error : <0 0 0 0> return code = 0x8000002
May 25 01:27:50 Carter kernel: sda: Current: sense key: Aborted Command
May 25 01:27:50 Carter kernel: Additional sense: Scsi parity error
May 25 01:27:50 Carter kernel: end_request: I/O error, dev sda, sector 9079913
May 25 01:28:20 Carter kernel: ata1: command timeout
May 25 01:28:20 Carter kernel: ATA: abnormal status 0xFF on port 0xF880221C
May 25 01:28:20 Carter kernel: ata1: status=0xff { Busy }
May 25 01:28:20 Carter kernel: SCSI error : <0 0 0 0> return code = 0x8000002
May 25 01:28:20 Carter kernel: sda: Current: sense key: Aborted Command
May 25 01:28:20 Carter kernel: Additional sense: Scsi parity error
May 25 01:28:20 Carter kernel: end_request: I/O error, dev sda, sector 9079921
May 25 01:28:46 Carter syslog-ng[2376]: STATS: dropped 0
May 25 01:28:50 Carter kernel: ata1: command timeout
May 25 01:28:50 Carter kernel: ATA: abnormal status 0xFF on port 0xF880221C
May 25 01:28:50 Carter kernel: ata1: status=0xff { Busy }
May 25 01:28:50 Carter kernel: SCSI error : <0 0 0 0> return code = 0x8000002
May 25 01:28:50 Carter kernel: sda: Current: sense key: Aborted Command
May 25 01:28:50 Carter kernel: Additional sense: Scsi parity error
May 25 01:28:50 Carter kernel: end_request: I/O error, dev sda, sector 9079929
May 25 01:30:05 Carter syslog-ng[2680]: syslog-ng version 1.6.5 starting
Greets
zwobbl>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sata_promise KERNEL_BUG on 2.6.12
2005-06-20 12:32 ` Marcel Naziri
@ 2005-06-20 13:25 ` Simon Sudler
0 siblings, 0 replies; 6+ messages in thread
From: Simon Sudler @ 2005-06-20 13:25 UTC (permalink / raw)
To: Marcel Naziri; +Cc: linux-kernel, Jeff Garzik
I can confirm the the problem on my Promise SATAII-150 TX4
with the 2.6.12. However after a immediate downgrade to
2.6.11 the problem persist.
updating the controller bios to 1.00.0.34 didn't helped either.
The kernel freezes the interrupt from the satalib after a short
time. strangly it occurs only after even numbers (like
200000 or 300000). Bevor the freez, all devices are working fine
except for some
[kernel] irq 18: nobody cared!
messages.
Simon
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-06-20 13:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-20 2:02 sata_promise KERNEL_BUG on 2.6.12 Marcel Naziri
2005-06-20 2:25 ` Jeff Garzik
2005-06-20 2:38 ` Marcel Naziri
2005-06-20 2:41 ` Jeff Garzik
2005-06-20 12:32 ` Marcel Naziri
2005-06-20 13:25 ` Simon Sudler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox