Re: [PATCH] 2.5.19 IDE 78

Paul Mackerras
2002-06-02T09:23:08Z

Martin,

I think you have a typo here:

> diff -urN linux-2.5.19/drivers/ide/ide-pmac.c linux/drivers/ide/ide-pmac.c
> --- linux-2.5.19/drivers/ide/ide-pmac.c 2002-06-01 18:53:06.000000000 +0200
> +++ linux/drivers/ide/ide-pmac.c 2002-06-01 18:17:36.000000000 +0200
> @@ -434,7 +434,7 @@
> goto out;
> }
> udelay(10);
> - OUT_BYTE(drive->ctl | 2, IDE_CONTROL_REG);
> + ata_irq_enale(drive, 0);

ata_irq_enable surely?

Also, we need the patch below now that ata_channel.active is a
pointer.

Paul.

diff -urN linux-2.5/drivers/ide/ide-pmac.c pmac-2.5/drivers/ide/ide-pmac.c
--- linux-2.5/drivers/ide/ide-pmac.c Sun Jun 2 14:45:47 2002
+++ pmac-2.5/drivers/ide/ide-pmac.c Sun Jun 2 15:41:31 2002
@@ -1584,9 +1584,9 @@
*/
if (used_dma && !ide_spin_wait_hwgroup(drive)) {
/* Lock HW group */
- set_bit(IDE_BUSY, &drive->channel->active);
+ set_bit(IDE_BUSY, drive->channel->active);
pmac_ide_check_dma(drive);
- clear_bit(IDE_BUSY, &drive->channel->active);
+ clear_bit(IDE_BUSY, drive->channel->active);
spin_unlock_irq(drive->channel->lock);
}
#endif
@@ -1633,7 +1633,7 @@
return;
else {
/* Lock HW group */
- set_bit(IDE_BUSY, &drive->channel->active);
+ set_bit(IDE_BUSY, drive->channel->active);
/* Stop the device */
idepmac_sleep_device(drive, idx, base);
spin_unlock_irq(drive->channel->lock);
@@ -1663,7 +1663,7 @@

/* We resume processing on the lock group */
spin_lock_irq(drive->channel->lock);
- clear_bit(IDE_BUSY, &drive->channel->active);
+ clear_bit(IDE_BUSY, drive->channel->active);
if (!list_empty(&drive->queue.queue_head))
do_ide_request(&drive->queue);
spin_unlock_irq(drive->channel->lock);