Skip to content

Commit

Permalink
add delay around sl82c105_reset_engine calls
Browse files Browse the repository at this point in the history
The hald media changed polling does really confuse things.
Noone knows why the delays are needed, but they give us access to the CD.

An udelay(50) will give reliable access to the drive, but there is still
one (or more) EH reset. The drive works without EH resets with udelay(100).

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Olaf Hering authored and Jeff Garzik committed Feb 15, 2007
1 parent 9f271d5 commit 8361cd7
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/ata/pata_sl82c105.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,9 @@ static void sl82c105_bmdma_start(struct ata_queued_cmd *qc)
{
struct ata_port *ap = qc->ap;

udelay(100);
sl82c105_reset_engine(ap);
udelay(100);

/* Set the clocks for DMA */
sl82c105_configure_dmamode(ap, qc->dev);
Expand Down Expand Up @@ -216,6 +218,7 @@ static void sl82c105_bmdma_stop(struct ata_queued_cmd *qc)

ata_bmdma_stop(qc);
sl82c105_reset_engine(ap);
udelay(100);

/* This will redo the initial setup of the DMA device to matching
PIO timings */
Expand Down

0 comments on commit 8361cd7

Please sign in to comment.