Stanislav Brabec wrote: > Bartlomiej Zolnierkiewicz wrote: > >>On Wednesday 14 March 2007, Stanislav Brabec wrote: >> >>>Albert Lee wrote: >>> >>>>Tejun Heo wrote: >>> >>>>>Hmmm... weird. Your drive bears the same model name as Stanislav's. I >>>>>don't think the low level driver is causing the difference. They both >>>>>use the standard libata HSM implementation. Any ideas? Stanislav, can >>>>>you try to connect that zip drive to another IDE controller? >>> >>>>Maybe it's also worth a try to replace the medium, cable or even the >>>>drive itself to rule out the possibility of hardware problem. >>> >>>I'll try it. I cannot replace the drive, I don't have any spare one, but >>>my colleague has. He will try it on his machine. So let's wait for >>>result. >>> >>>Looking at the syslog in Novell bug 232086 in detail, following line may >>>indicate hardware failure: >>>usb 5-1: string descriptor 0 read error: -22 >>> >>>My drive is a slave on bus, where master is a modern Seagate ST3160812A. >>> >>>On my system I see two regressions: > > >>It is reproduceable, SuSE 10.1 kernel is "good" and SuSE 10.2 is "bad". >>So even if this is caused by some hardware problems or different >>initialization order git-bisect on 2.6.16-2.6.20 should tell us what >>change caused the problem. > > > After more kernels testing I am inclined to suspect broken hardware. > > 2.4.20 (SuSE 8.1) and newer kernels exhibits this "DRQ isn't asserted" > error. The latest kernel working without any problem is five years old > 2.4.18 (SuSE 8.0). > > In some older systems the delay was "hidden" somewhere in the boot > process, now userspace processes repeatedly scan all media, which makes > delay permanent. > Hi Stanislav, Could you apply the attached HSM debug patch and post the dmesg, thanks. (Hopefully we can get some clue from the HSM trace.) -- albert --- linux-2.6.20.3/drivers/ata/libata-core.c 2007-03-15 12:13:12.000000000 +0800 +++ linux-2.6.20.3-mod/drivers/ata/libata-core.c 2007-03-15 12:13:55.000000000 +0800 @@ -4371,8 +4371,9 @@ int ata_hsm_move(struct ata_port *ap, st WARN_ON(in_wq != ata_hsm_ok_in_wq(ap, qc)); fsm_start: - DPRINTK("ata%u: protocol %d task_state %d (dev_stat 0x%X)\n", - ap->id, qc->tf.protocol, ap->hsm_task_state, status); + if (is_atapi_taskfile(&qc->tf)) + printk(KERN_ERR "ata%u: protocol %d task_state %d (dev_stat 0x%X)\n", + ap->id, qc->tf.protocol, ap->hsm_task_state, status); switch (ap->hsm_task_state) { case HSM_ST_FIRST: @@ -5091,8 +5092,9 @@ inline unsigned int ata_host_intr (struc struct ata_eh_info *ehi = &ap->eh_info; u8 status, host_stat = 0; - VPRINTK("ata%u: protocol %d task_state %d\n", - ap->id, qc->tf.protocol, ap->hsm_task_state); + if (is_atapi_taskfile(&qc->tf)) + printk(KERN_ERR "ata%u: protocol %d task_state %d\n", + ap->id, qc->tf.protocol, ap->hsm_task_state); /* Check whether we are expecting interrupt in this state */ switch (ap->hsm_task_state) { - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html