[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100818162329.GC3029@gaiman.synerway.com>
Date: Wed, 18 Aug 2010 18:23:29 +0200
From: Pascal GREGIS <pgs@...erway.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: linux-kernel@...r.kernel.org
Subject: Re: ata_sff_drain_fifo
Alan Cox a écrit, le mer 18 aoû 2010 à 12:44:12 :
> > so I guess when status is 0xD0, ATA_DRQ is not set but ATA_BUSY is.
> > It would explain why in my case it doesn't drain anything before trying to reset.
> >
> > Would it be of any interest to drain the fifo also when the ATA_BUSY flag is on, not only the ATA_DRQ ?
>
> If the drive has the busy flag set it is busy, all we can do is wait for
> it and if that fails try to reset it. The FIFO drain handles a specific
> case where the two ends disagree about the amount of data expected, and
> often lets us avoid a reset.
Ok. I also noticed that qc->dma_dir=DMA_TO_DEVICE which also prevents the draining.
I thought it could be a solution for certain problems like mine where the device is busy but the reset doesn't work which brings to a blocking point, but no.
Pascal
>
> Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists