Bug 245294

Summary: [pata_via] ata soft resetting port errors flooding syslog; cd drive almost unusable
Product: [Fedora] Fedora Reporter: Allan Engelhardt <allane>
Component: kernelAssignee: Alan Cox <alan>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 7CC: cebbert, chris.brown, davej, oliva, stephane.ploix, triage
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-17 01:41:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Output of lspci -vvxx none

Description Allan Engelhardt 2007-06-22 08:13:39 UTC
Description of problem:

Inserting a new CD into the drive, the drive hangs (almost -- minutes to open
grip and it can't read/play/rip), dmesg is flooded with messages.  

The CD drive is essentially unusable.

This is a new problem after upgrading to Fedora 7 -- the (IDE) drive was working
fine on FC6.  (Note that the ‘disc change’ message below is intermittent as shown.)

Jun 22 08:58:07 server kernel: ata5: soft resetting port
Jun 22 08:58:07 server kernel: ata5.00: configured for PIO0
Jun 22 08:58:07 server kernel: ata5: EH complete
Jun 22 08:58:07 server kernel: sr0: disc change detected.
Jun 22 08:58:12 server kernel: ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 ac
tion 0x2 frozen
Jun 22 08:58:12 server kernel: ata5.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 
tag 0 cdb 0xbe data 14112 in
Jun 22 08:58:12 server kernel:          res 58/00:02:00:30:09/00:00:00:00:00/a0 
Emask 0x6 (timeout)
Jun 22 08:58:16 server kernel: ata5: soft resetting port
Jun 22 08:58:16 server kernel: ata5.00: configured for PIO0
Jun 22 08:58:16 server kernel: ata5: EH complete
Jun 22 08:58:21 server kernel: ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 ac
tion 0x2 frozen
Jun 22 08:58:21 server kernel: ata5.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 
tag 0 cdb 0xbe data 7056 in
Jun 22 08:58:21 server kernel:          res 58/00:02:00:30:09/00:00:00:00:00/a0 
Emask 0x6 (timeout)
Jun 22 08:58:27 server kernel: ata5: soft resetting port
Jun 22 08:58:28 server kernel: ata5.00: configured for PIO0
Jun 22 08:58:28 server kernel: ata5: EH complete
Jun 22 08:58:36 server kernel: ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 ac
tion 0x2 frozen
Jun 22 08:58:36 server kernel: ata5.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 
tag 0 cdb 0xbe data 56448 in
Jun 22 08:58:36 server kernel:          res 58/00:02:00:30:09/00:00:00:00:00/a0 
Emask 0x6 (timeout)


Version-Release number of selected component (if applicable):
kernel-2.6.21-1.3228.fc7


How reproducible: Very.  Some discs appear to be worse than others, but I get
the error every time and the flooding > 50% of times.


Steps to Reproduce:
1. Insert disc
2. Look at dmesg
3.
  
Actual results:


Expected results:


Additional info:

This appears to be a (slightly) different error message from Bug 243166 and Bug
243429 .

HP DVD/CD drive, IDE interface on Intel D975XBX2 motherboard.  lshal(1) says:


udi = '/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0'
  info.bus = 'scsi'  (string)
  info.linux.driver = 'sr'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host'  (string)
  info.product = 'SCSI Device'  (string)
  info.subsystem = 'scsi'  (string)
  info.udi = '/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_l
un0'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'scsi'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0
:0:0'  (string)
  scsi.bus = 0  (0x0)  (int)
  scsi.host = 4  (0x4)  (int)
  scsi.lun = 0  (0x0)  (int)
  scsi.model = 'DVD Writer 840b'  (string)
  scsi.target = 0  (0x0)  (int)
  scsi.type = 'cdrom'  (string)
  scsi.vendor = 'HP'  (string)

udi = '/org/freedesktop/Hal/devices/storage_model_DVD_Writer_840b'
  access_control.file = '/dev/scd0'  (string)
  access_control.grant_local_session = true  (bool)
  block.device = '/dev/scd0'  (string)
  block.is_volume = false  (bool)
  block.major = 11  (0xb)  (int)
  block.minor = 0  (0x0)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_model_DVD_Writer_
840b'  (string)
  info.addons = {'hald-addon-storage'} (string list)
  info.callouts.add = {'hal-acl-tool --add-device'} (string list)
  info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
  info.capabilities = {'storage', 'block', 'storage.cdrom', 'access_control'} (s
tring list)
  info.category = 'storage'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.
Device.Storage'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_devic
e_lun0'  (string)
  info.product = 'DVD Writer 840b'  (string)
  info.udi = '/org/freedesktop/Hal/devices/storage_model_DVD_Writer_840b'  (stri
ng)
  info.vendor = 'HP'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/block/sr0'  (string)
  org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_
options'} (string list)
  org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'h
al-storage-closetray'} (string list)
  org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (stri
ng list)
  org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string li
st)
  storage.automount_enabled_hint = true  (bool)
  storage.bus = 'scsi'  (string)
  storage.cdrom.bd = false  (bool)
  storage.cdrom.bdr = false  (bool)
  storage.cdrom.bdre = false  (bool)
  storage.cdrom.cdr = true  (bool)
  storage.cdrom.cdrw = true  (bool)
  storage.cdrom.dvd = true  (bool)
  storage.cdrom.dvdplusr = true  (bool)
  storage.cdrom.dvdplusrdl = true  (bool)
  storage.cdrom.dvdplusrw = true  (bool)
  storage.cdrom.dvdplusrwdl = false  (bool)
  storage.cdrom.dvdr = true  (bool)
  storage.cdrom.dvdram = true  (bool)
  storage.cdrom.dvdrw = true  (bool)
  storage.cdrom.hddvd = false  (bool)
  storage.cdrom.hddvdr = false  (bool)
  storage.cdrom.hddvdrw = false  (bool)
  storage.cdrom.mo = false  (bool)
  storage.cdrom.mrw = true  (bool)
  storage.cdrom.mrw_w = true  (bool)
  storage.cdrom.read_speed = 8468  (0x2114)  (int)
  storage.cdrom.support_media_changed = true  (bool)
  storage.cdrom.support_multisession = true  (bool)
  storage.cdrom.write_speed = 8468  (0x2114)  (int)
  storage.cdrom.write_speeds = {'8468', '7056', '4234', '2822'} (string list)
  storage.drive_type = 'cdrom'  (string)
  storage.firmware_version = 'FF66'  (string)
  storage.hotpluggable = false  (bool)
  storage.lun = 0  (0x0)  (int)
  storage.media_check_enabled = true  (bool)
  storage.model = 'DVD Writer 840b'  (string)
  storage.no_partitions_hint = true  (bool)
  storage.originating_device = '/org/freedesktop/Hal/devices/pci_8086_27df_scsi_
host_scsi_device_lun0'  (string)
  storage.partitioning_scheme = ''  (string)
  storage.physical_device = '/org/freedesktop/Hal/devices/pci_8086_27df_scsi_hos
t_scsi_device_lun0'  (string)
  storage.removable = true  (bool)
  storage.removable.media_available = true  (bool)
  storage.removable.media_size = 444467200  (0x1a7e0800)  (uint64)
  storage.requires_eject = true  (bool)
  storage.size = 0  (0x0)  (uint64)
  storage.vendor = 'HP'  (string)

udi = '/org/freedesktop/Hal/devices/volume_part_1_size_444467200'
  block.device = '/dev/scd0'  (string)
  block.is_volume = true  (bool)
  block.major = 11  (0xb)  (int)
  block.minor = 0  (0x0)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_model_DVD_Writer_
840b'  (string)
  info.capabilities = {'volume.disc', 'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Volume', 'org.freedesktop.Hal.D
evice.Volume'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/storage_model_DVD_Writer_840b'  (s
tring)
  info.udi = '/org/freedesktop/Hal/devices/volume_part_1_size_444467200'  (strin
g)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/block/sr0/fakevolume'  (string)
  org.freedesktop.Hal.Device.Volume.method_argnames = {'extra_options', 'extra_o
ptions'} (string list)
  org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-eject', 'ha
l-storage-eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_names = {'Eject', 'Eject'} (string li
st)
  org.freedesktop.Hal.Device.Volume.method_signatures = {'as', 'as'} (string lis
t)
  storage.model = ''  (string)
  volume.block_size = 2048  (0x800)  (int)
  volume.disc.capacity = 444467200  (0x1a7e0800)  (uint64)
  volume.disc.has_audio = true  (bool)
  volume.disc.has_data = false  (bool)
  volume.disc.is_appendable = false  (bool)
  volume.disc.is_blank = false  (bool)
  volume.disc.is_rewritable = false  (bool)
  volume.disc.type = 'cd_rom'  (string)
  volume.fstype = ''  (string)
  volume.fsusage = ''  (string)
  volume.fsversion = ''  (string)
  volume.is_disc = true  (bool)
  volume.is_mounted = false  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = false  (bool)
  volume.label = ''  (string)
  volume.linux.is_device_mapper = false  (bool)
  volume.mount_point = ''  (string)
  volume.num_blocks = 868100  (0xd3f04)  (int)
  volume.size = 444467200  (0x1a7e0800)  (uint64)
  volume.uuid = ''  (string)

Comment 1 stephane ploix 2007-09-15 14:17:36 UTC
On my laptop, I have the same problem with the kernel : Linux ultralab
2.6.22.5-76.fc7 #1 SMP Thu Aug 30 13:08:59 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

With dmesg, even if I do not introduce a CDROM or a DVD, I get many error
messages like this :

ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata4.00: cmd a0/00:00:00:00:20/00:00:00:00:00/a0 tag 0 cdb 0x0 data 0
         res 40/00:03:00:00:20/00:00:00:00:00/a0 Emask 0x4 (timeout)
ata4: soft resetting port
ata4.00: configured for PIO0
ata4: EH complete

Here is what I got with lshal :

udi = '/org/freedesktop/Hal/devices/storage_model_DVDRW_SOSW_833S'
  access_control.file = '/dev/scd0'  (string)
  access_control.grant_local_session = true  (bool)
  block.device = '/dev/scd0'  (string)
  block.is_volume = false  (bool)
  block.major = 11  (0xb)  (int)
  block.minor = 0  (0x0)  (int)
  block.storage_device =
'/org/freedesktop/Hal/devices/storage_model_DVDRW_SOSW_833S'  (string)
  info.addons = {'hald-addon-storage'} (string list)
  info.callouts.add = {'hal-acl-tool --add-device'} (string list)
  info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
  info.capabilities = {'storage', 'block', 'storage.cdrom', 'access_control'}
(string list)
  info.category = 'storage'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Storage',
'org.freedesktop.Hal.Device.Storage'} (string list)
  info.parent =
'/org/freedesktop/Hal/devices/pci_1106_571_scsi_host_scsi_device_lun0'  (string)
  info.product = 'DVDRW SOSW-833S'  (string)
  info.udi = '/org/freedesktop/Hal/devices/storage_model_DVDRW_SOSW_833S'  (string)
  info.vendor = 'Slimtype'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/block/sr0'  (string)
  org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options',
'extra_options'} (string list)
  org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject',
'hal-storage-closetray'} (string list)
  org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'}
(string list)
  org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list)
  storage.automount_enabled_hint = true  (bool)
  storage.bus = 'scsi'  (string)
  storage.cdrom.bd = false  (bool)
  storage.cdrom.bdr = false  (bool)
  storage.cdrom.bdre = false  (bool)
  storage.cdrom.cdr = true  (bool)
  storage.cdrom.cdrw = true  (bool)
  storage.cdrom.dvd = true  (bool)
  storage.cdrom.dvdplusr = true  (bool)
  storage.cdrom.dvdplusrdl = true  (bool)
  storage.cdrom.dvdplusrw = true  (bool)
  storage.cdrom.dvdplusrwdl = false  (bool)
  storage.cdrom.dvdr = true  (bool)
  storage.cdrom.dvdram = false  (bool)
  storage.cdrom.dvdrw = true  (bool)
  storage.cdrom.hddvd = false  (bool)
  storage.cdrom.hddvdr = false  (bool)
  storage.cdrom.hddvdrw = false  (bool)
  storage.cdrom.mo = false  (bool)
  storage.cdrom.mrw = true  (bool)
  storage.cdrom.mrw_w = true  (bool)
  storage.cdrom.read_speed = 4234  (0x108a)  (int)
  storage.cdrom.support_media_changed = true  (bool)
  storage.cdrom.support_multisession = true  (bool)
  storage.cdrom.write_speed = 4234  (0x108a)  (int)
  storage.cdrom.write_speeds = {'4234'} (string list)
  storage.drive_type = 'cdrom'  (string)
  storage.firmware_version = 'VS04'  (string)
  storage.hotpluggable = false  (bool)
  storage.lun = 0  (0x0)  (int)
  storage.media_check_enabled = true  (bool)
  storage.model = 'DVDRW SOSW-833S'  (string)
  storage.no_partitions_hint = true  (bool)
  storage.originating_device =
'/org/freedesktop/Hal/devices/pci_1106_571_scsi_host_scsi_device_lun0'  (string)
  storage.physical_device =
'/org/freedesktop/Hal/devices/pci_1106_571_scsi_host_scsi_device_lun0'  (string)
  storage.removable = true  (bool)
  storage.removable.media_available = false  (bool)
  storage.requires_eject = true  (bool)
  storage.size = 0  (0x0)  (uint64)
  storage.vendor = 'Slimtype'  (string)



Comment 2 stephane ploix 2007-09-15 14:21:15 UTC
Note that this problem also arose from the upgrade from fc6 to f7.
From this time, I have updated regularly kernels from the fedora update
repository, but the bug still remains...
If you have any idea of where to search...

Comment 3 stephane ploix 2007-09-15 14:30:24 UTC
Bug description seems to be very closed to bug 243429

Comment 4 Christopher Brown 2007-09-17 12:35:01 UTC
Hello,

I'm reviewing this bug as part of the kernel bug triage project, an attempt to
isolate current bugs in the fedora kernel.

http://fedoraproject.org/wiki/KernelBugTriage

I am CC'ing myself to this bug and will try and assist you in resolving it if I can.

I'm unable to see whether this is in fact a duplicate of bug 243429 however
please could you attach an output from lspci -vvxx and I will attempt to chase
this up further. You may also wish to check if you are running the latest
firmware for your drive, though as it worked previously I would be inclined this
is a result of the switch to libata.

Cheers
Chris

Comment 5 stephane ploix 2007-09-17 13:53:05 UTC
Created attachment 197451 [details]
Output of lspci -vvxx

I've attached the requested output.
Concerning the firmware update, I do not find the relevant file for my DVD-RW
device DVDRW LITEON Slimtype SOSW-833S.
But note that with FC6, it was working...

Comment 6 Christopher Brown 2007-09-17 14:09:37 UTC
Okay, thanks for that Stephanie. I'm re-assigning to the PATA maintainer who may
wish to review it and get more information from you if necessary. You might like
to try booting with acpi=off as a boot flag and see if this helps in any way.

Cheers
Chris

Comment 7 stephane ploix 2007-09-17 14:20:59 UTC
I have ever tried to boot with acpi=off. But it doesn't improved.
I have also disable acipd: same conclusion.

Comment 8 Christopher Brown 2008-01-09 15:24:23 UTC
Hello Stephanie,

Its been a while - any improvements on this? Are you able to test with a Fedora
8 live cd perhaps?

Comment 9 Alexandre Oliva 2008-01-12 17:55:29 UTC
I'm experiencing similar ata bus resets that render two DVD drives unusable on
one of my local boxes, that uses a pata_via controller for them:

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/
C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
        Subsystem: ASUSTeK Computer Inc. A7V600/K8V-X/A8V Deluxe motherboard
        Flags: bus master, medium devsel, latency 32, IRQ 20
        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]
        [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1]
        [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]
        [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1]
        I/O ports at fc00 [size=16]
        Capabilities: [c0] Power Management version 2
        Kernel driver in use: pata_via
        Kernel modules: pata_via, ata_generic


So I tried disabling one of the CPUs on the Dual Core boxes and, voila, the
drive is back to life, and it gets mounted automatically:

# echo 0 > /sys/devices/system/cpu/cpu1/online

I still can't read it reliably.  Maybe there's some remnant synchronization
problem in there, or it won't work with PIO0, which is what the drive ended up
at after two weeks getting constantly reset.  I'll give that a try next time I
reboot my home gateway/firewall, which is precisely the affected box.

Comment 10 Alexandre Oliva 2008-01-12 17:56:44 UTC
The above is with 2.6.23.9-85.fc8 on Fedora 8, BTW.

Comment 11 Alan Cox 2008-01-12 20:04:41 UTC
Alexandre: dmesg dump would be useful and also booting single CPU for
comparison. I'm wondering if you've just got an IRQ routing problem. Does
acpi=off change it ?


Comment 12 Bug Zapper 2008-05-14 13:14:56 UTC
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 13 Bug Zapper 2008-06-17 01:41:20 UTC
Fedora 7 changed to end-of-life (EOL) status on June 13, 2008. 
Fedora 7 is no longer maintained, which means that it will not 
receive any further security or bug fix updates. As a result we 
are closing this bug. 

If you can reproduce this bug against a currently maintained version 
of Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.