Thread (60 messages) 60 messages, 8 authors, 2007-08-06

Re: [PATCH] add delay around sl82c105_reset_engine calls

From: Olaf Hering <hidden>
Date: 2006-12-04 13:12:05
Also in: linux-ide

On Mon, Dec 04, Alan wrote:
On Mon, 4 Dec 2006 13:40:26 +0100 (MET)
Olaf Hering [off-list ref] wrote:
quoted

the hald media changed polling does really confuse things.
noone knows why the delays are needed, but they give us access to
the CD.
Can you tell me what happens if you completely pull the reset out of the
dma_end function. Do you still need delays then.
Did you mean like this?
@@ -215,7 +217,10 @@ static void sl82c105_bmdma_stop(struct a
        struct ata_port *ap = qc->ap;

        ata_bmdma_stop(qc);
+#if 0
        sl82c105_reset_engine(ap);
+       udelay(50);
+#endif

        /* This will redo the initial setup of the DMA device to matching
           PIO timings */
[  315.923917] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
[  315.923927] ata1.00: (BMDMA stat 0x41)
[  315.923935] ata1.00: tag 0 cmd 0xa0 Emask 0x4 stat 0x40 err 0x0 (timeout)
[  315.924039] ata1: soft resetting port
[  346.243816] ata1.00: qc timeout (cmd 0xa1)
[  346.243829] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  346.243882] ata1.00: revalidation failed (errno=-5)
[  346.243891] ata1: failed to recover some devices, retrying in 5 secs
[  351.253802] ata1: soft resetting port
[  381.573813] ata1.00: qc timeout (cmd 0xa1)
[  381.573823] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[  381.573876] ata1.00: revalidation failed (errno=-5)
[  381.573884] ata1: failed to recover some devices, retrying in 5 secs
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help