Most recent kernel where this bug did not occur: Distribution: SuSE 10.0 Hardware Environment: SATA Drives on PDC20579 SATA II 150 and PDC20718 SATA 300 TX4 Software Environment: Problem Description: Kernel reports Oops when calling hddtemp an a SATA drive which is in standby mode. Steps to reproduce: hdparm -y /dev/sdx hddtemp /dev/sdx Jan 21 16:30:48 DatenGrab kernel: ata6: command timeout Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C Jan 21 16:30:48 DatenGrab kernel: ata6: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/ 47/00 Jan 21 16:30:48 DatenGrab kernel: ata6: status=0xff { Busy } Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C Jan 21 16:30:51 DatenGrab kernel: ata6: unknown timeout, cmd 0xb0 stat 0xff Jan 21 16:30:51 DatenGrab kernel: ata6: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/ 47/00 Jan 21 16:30:51 DatenGrab kernel: ata6: status=0xff { Busy } Jan 21 16:30:51 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:51 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:51 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2849 Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_block,line=3274 Jan 21 16:30:52 DatenGrab kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000014 Jan 21 16:30:52 DatenGrab kernel: printing eip: Jan 21 16:30:52 DatenGrab kernel: e02b7ee3 Jan 21 16:30:52 DatenGrab kernel: *pde = 00000000 Jan 21 16:30:52 DatenGrab kernel: Oops: 0000 [#1] Jan 21 16:30:52 DatenGrab kernel: Modules linked in: edd ipv6 nfsd w83627hf hwmon_vid hwmon eeprom i2c_isa button battery ac af_packet xfs exportfs reiserfs ohci1394 ieee1394 sk98lin i8xx_tco i2c_i801 intel_agp agpgart shpchp pci_hotplug i2c_core generic uhci_hcd raid5 xor parport_pc lp parport sata_promise libata dm_mod sg skge ohci_hcd ehci_hcd usb_storage usbcore fan thermal processor piix sd_mod scsi_mod ide_disk ide_core Jan 21 16:30:52 DatenGrab kernel: CPU: 0 Jan 21 16:30:52 DatenGrab kernel: EIP: 0060:[<e02b7ee3>] Not tainted VLI Jan 21 16:30:52 DatenGrab kernel: EFLAGS: 00010246 (2.6.16-rc1-default) Jan 21 16:30:52 DatenGrab kernel: EIP is at ata_pio_task+0xda/0x641 [libata] Jan 21 16:30:52 DatenGrab kernel: eax: 00000053 ebx: 00000050 ecx: c0393600 edx: 00000050 Jan 21 16:30:52 DatenGrab kernel: esi: de422298 edi: 00000000 ebp: 00000010 esp: de3a7f34 Jan 21 16:30:52 DatenGrab kernel: ds: 007b es: 007b ss: 0068 Jan 21 16:30:52 DatenGrab kernel: Process ata/0 (pid: 2193, threadinfo=de3a6000 task=df0ad030) Jan 21 16:30:52 DatenGrab kernel: Stack: <0>df6bfac0 decf3580 d8b3ddd4 c02a631b de3a7f88 00000000 00000002 dece95c0 Jan 21 16:30:52 DatenGrab kernel: 00000000 de3a7f6c 00000002 df0ad158 de422848 dece95c0 00000283 de422298 Jan 21 16:30:52 DatenGrab kernel: c0122a60 e02b7e09 dece95c8 dece95c0 dece95d0 c0122b03 c0122bde 00000001 Jan 21 16:30:52 DatenGrab kernel: Call Trace: Jan 21 16:30:52 DatenGrab kernel: [<c02a631b>] schedule+0x457/0x4c4 Jan 21 16:30:52 DatenGrab kernel: [<c0122a60>] run_workqueue+0x64/0x93 Jan 21 16:30:52 DatenGrab kernel: [<e02b7e09>] ata_pio_task+0x0/0x641 [libata] Jan 21 16:30:52 DatenGrab kernel: [<c0122b03>] worker_thread+0x0/0x10b Jan 21 16:30:52 DatenGrab kernel: [<c0122bde>] worker_thread+0xdb/0x10b Jan 21 16:30:52 DatenGrab kernel: [<c0114fe8>] default_wake_function+0x0/0xc Jan 21 16:30:52 DatenGrab kernel: [<c0124eef>] kthread+0x90/0xbc Jan 21 16:30:52 DatenGrab kernel: [<c0124e5f>] kthread+0x0/0xbc Jan 21 16:30:52 DatenGrab kernel: [<c0101005>] kernel_thread_helper+0x5/0xb Jan 21 16:30:52 DatenGrab kernel: Code: 2b e0 68 4d cc 2b e0 68 69 cb 2b e0 e8 d6 ff e5 df 83 c4 14 0f b6 d3 f6 c2 21 74 0c 83 8f 8c 00 00 00 02 e9 e7 01 00 00 8d 6f 10 <8a> 45 04 83 e8 05 3c 02 0f 87 ca 01 00 00 80 e2 08 75 0f c7 86
Could you retest -rc3?
It is still there in 2.6.16-rc4: Feb 19 19:56:39 DatenGrab kernel: ata1: command timeout Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C Feb 19 19:56:39 DatenGrab kernel: ata1: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/ 47/00 Feb 19 19:56:39 DatenGrab kernel: ata1: status=0xff { Busy } Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C Feb 19 19:56:42 DatenGrab kernel: ata1: unknown timeout, cmd 0xb0 stat 0xff Feb 19 19:56:42 DatenGrab kernel: ata1: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/ 47/00 Feb 19 19:56:42 DatenGrab kernel: ata1: status=0xff { Busy } Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2890 Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2890 Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2890 Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2890 Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_poll,line=2890 Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata- core.c,ata_pio_block,line=3326 Feb 19 19:56:42 DatenGrab kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000014 Feb 19 19:56:42 DatenGrab kernel: printing eip: Feb 19 19:56:42 DatenGrab kernel: e02c1f9c Feb 19 19:56:42 DatenGrab kernel: *pde = 00000000 Feb 19 19:56:42 DatenGrab kernel: Oops: 0000 [#1] Feb 19 19:56:42 DatenGrab kernel: Modules linked in: edd ipv6 w83627hf hwmon_vid nfsd hwmon eeprom i2c_isa button battery ac af_packet xfs exportfs reiserfs ohci1394 ieee1394 sk98lin i2c_i801 i2c_core i8xx_tco shpchp generic pci_hotplug intel_agp uhci_hcd agpgart raid5 xor parport_pc lp parport sata_promise libata dm_mod sg skge ohci_hcd ehci_hcd usb_storage usbcore fan thermal processor piix sd_mod scsi_mod ide_disk ide_core Feb 19 19:56:42 DatenGrab kernel: CPU: 0 Feb 19 19:56:42 DatenGrab kernel: EIP: 0060:[<e02c1f9c>] Not tainted VLI Feb 19 19:56:42 DatenGrab kernel: EFLAGS: 00010246 (2.6.16-rc4-default #2) Feb 19 19:56:42 DatenGrab kernel: EIP is at ata_pio_task+0xda/0x647 [libata] Feb 19 19:56:42 DatenGrab kernel: eax: 00000053 ebx: 00000050 ecx: ffffffff edx: 00000050 Feb 19 19:56:42 DatenGrab kernel: esi: df10d298 edi: 00000000 ebp: 00000010 esp: ddc19f34 Feb 19 19:56:42 DatenGrab kernel: ds: 007b es: 007b ss: 0068 Feb 19 19:56:42 DatenGrab kernel: Process ata/0 (pid: 2258, threadinfo=ddc18000 task=de941a70) Feb 19 19:56:42 DatenGrab kernel: Stack: <0>de3da200 c0301200 c0357fec c02a7d9b ddc19f88 00000000 00000006 def55240 Feb 19 19:56:42 DatenGrab kernel: 00000000 e73be800 003d08d1 de941b98 df10d848 def55240 00000206 df10d298 Feb 19 19:56:42 DatenGrab kernel: c0122f18 e02c1ec2 def55248 def55240 def55250 c0122fbb c0123096 00000001 Feb 19 19:56:42 DatenGrab kernel: Call Trace: Feb 19 19:56:42 DatenGrab kernel: [<c02a7d9b>] schedule+0x457/0x4c4 Feb 19 19:56:42 DatenGrab kernel: [<c0122f18>] run_workqueue+0x64/0x93 Feb 19 19:56:42 DatenGrab kernel: [<e02c1ec2>] ata_pio_task+0x0/0x647 [libata] Feb 19 19:56:42 DatenGrab kernel: [<c0122fbb>] worker_thread+0x0/0x10b Feb 19 19:56:42 DatenGrab kernel: [<c0123096>] worker_thread+0xdb/0x10b Feb 19 19:56:42 DatenGrab kernel: [<c0115008>] default_wake_function+0x0/0xc Feb 19 19:56:42 DatenGrab kernel: [<c01253a7>] kthread+0x90/0xbc Feb 19 19:56:42 DatenGrab kernel: [<c0125317>] kthread+0x0/0xbc Feb 19 19:56:42 DatenGrab kernel: [<c0101005>] kernel_thread_helper+0x5/0xb Feb 19 19:56:42 DatenGrab kernel: Code: 2c e0 68 6d 6d 2c e0 68 89 6c 2c e0 e8 1d 63 e5 df 83 c4 14 0f b6 d3 f6 c2 21 74 0c 83 8f 8c 00 00 00 02 e9 e7 01 00 00 8d 6f 10 <8a> 45 04 83 e8 05 3c 02 0f 87 ca 01 00 00 80 e2 08 75 0f c7 86
It's been many changes to SATA, have you tested with recent kernels Ralf? Thanks.
I have to test it again - the last month I just avoided to trigger this condition. I'll try this weekend if anyhow possible.(In reply to comment #3)
The bug is fixed since at least 2.6.18 - thats the kernel I currently use on this system. Thanks a lot. Ralf