2.5.22 ide disk hang on boot
Hi,
In 2.5.22, I get during the partition detection (2.5.21 was ok):
.../dev/ide/host0/bus0/target0/lun0: [PTBC] (6201/240/63) p1 p2 p3 <hda: status
error: status = 0x58 [drive ready seek complete data request]
hda: recalibrating
After that, I have to reboot. The machine is an IBM thinkpad A30p, the ide controller is an ICH3 ("Intel Corp. 82801CAM IDE U100 (rev 1)") and the drive says it is "IC25T048ATDA05-0".
I tried reverting the last IDE patches but got too many rejects.
After replacing the ata_error that came last with BUG(), I got the backtrace below (assuming I copied every address correctly from the screen).
Arnd <><
Trace; c01f9242 <ata_status_poll+92/c8>
Trace; c01fb2d1 <start_request+c5/17c>
Trace; c01eb38a <__elv_next_request+a/10>
Trace; c01fb64e <queue_commands+126/160>
Trace; c01fb6c8 <do_request+40/68>
Trace; c01fb700 <do_ide_request+10/14>
Trace; c01ec2d7 <generic_unplug_device+3b/48>
Trace; c01ec3c0 <blk_run_queues+6c/7c>
Trace; c0137ea9 <block_sync_page+5/8>
Trace; c01273fa <__lock_page+96/c4>
Trace; c012743c <lock_page+14/18>
Trace; c01289e0 <read_cache_page+a8/100>
Trace; c01526fa <read_dev_sector+32/a4>
Trace; c01397d0 <blkdev_readpage+0/14>
Trace; c0152953 <extended_partition+a7/1ec>
Trace; c01175d7 <printk+ff/114>
Trace; c0152dd5 <msdos_partition+179/2c4>
Trace; c01fd0e0 <ata_get_queue+0/2c>
Trace; c01521d4 <check_partition+1b4/230>
Trace; c0139b35 <bdput+8d/94>
Trace; c0152698 <grok_partitions+e4/114>
Trace; c0150300 <statm_pgd_range+15c/1a8>
Trace; c01f9c31 <ata_revalidate+c9/f0>
Trace; c0200c1c <idedisk_attach+d0/e4>
Trace; c01fa358 <subdriver_match+58/68>
Trace; c01fa67f <register_ata_driver+2f/48>
Trace; c0105023 <init+7/124>
Trace; c010701c <kernel_thread+28/38>
Quoted 18 lines · Użytkownik Arnd Bergmann
Hi,
In 2.5.22, I get during the partition detection (2.5.21 was ok):
...
/dev/ide/host0/bus0/target0/lun0: [PTBC] (6201/240/63) p1 p2 p3 <hda: status
error: status =0x58[drive ready seek complete data request]
hda: recalibratingAfter that, I have to reboot. The machine is an IBM thinkpad A30p, the ide controller is an ICH3 ("Intel Corp. 82801CAM IDE U100 (rev 1)") and the drive says it is "IC25T048ATDA05-0".
I tried reverting the last IDE patches but got too many rejects.After replacing the
ata_errorthat came last withBUG(), I got the backtrace below (assuming I copied every address correctly from the screen).
Quoted 5 lines
Arnd <><Trace;
c01f9242<ata_status_poll+92/c8>
Trace;c01fb2d1<start_request+c5/17c>
Trace;c01eb38a<__elv_next_request+a/10>
I assume that the system in question isn't:
1. Isn't setting up the drive in BIOS for DMA operation?
2. Isn't showring the hda: hda1.... partition layout?
As one can see from the above the problem is caused by PIO read getting worser. I know the problem and am working on it. As a band plase apply patch -p1 -R < ide-clean-92.diff. I hope I can provide the proper solution soon.
Quoted 3 lines · you
I assume that the system in question isn't:
1. Isn't setting up the drive in BIOS for DMA operation?
Don't know. The BIOS setup does not have a config option for this. 'hdparm -d /dev/hda' says it's not using DMA usually. Compiling the kernel with or without 'Generic PCI bus-master DMA support' did not change the problem.
Quoted 1 line
2. Isn't showring the hda: hda1.... partition layout?
The strange thing is that the primary partition table appears to be read proberly, but not the extended one at the beginning of hda3, i.e. it is showing
p1 p2 p3 <hda: status error:
at the place where I usually get
p1 p2 p3 < p5 p6 p7 p8 p9 p10 >
If the drive could not be read at all, it would not show the first three entries either.
Quoted 2 lines
As one can see from the above the problem is caused by PIO read getting worser. I know the problem and am working on it.
ok.
Quoted 1 line
As a band plase apply patch -p1 -R < ide-clean-92.diff.
As I wanted to say in the original mail: I tried that but was too lazy to clean up the rejects. Fortunately, it's not urgent for me, so I can just wait for the next release. Just tell me if you want me to try your fix.
Arnd <><