On Fri, 28 Jun 2019, Finn Thain wrote:
Hi All,
I've received a bug report concerning the pata-macio driver, when running
on a PowerBook G3 (Wallstreet).
With CONFIG_PATA_MACIO=n && CONFIG_BLK_DEV_IDE_PMAC=y, everything works.
With CONFIG_PATA_MACIO=y && CONFIG_BLK_DEV_IDE_PMAC=n, the CD-ROM fails.
When the CD-ROM mediabay module is swapped for a DVD-ROM mediabay module,
everything works (either pata-macio or ide-pmac driver works fine).
I'm not familiar with ATA device drivers or the "Heathrow" chipset and its
ATA interfaces so any hints as to how to debug this would be appreciated.
...
These logs are from v4.20 but the problem is the same in v5.2-rc2.
In the linux-ide list archive I found the same bug reported in 2.6.33-rc2,
shortly after the pata-macio driver was merged.
https://lore.kernel.org/linux-ide/19254.17766.674348.933702@pilspetsen.it.uu.se/ (local)
That report also involves a Matshita CD-ROM and a Heathrow controller
(beige G3).
In that thread Ben suggested that the cause may be a firmware bug in the
drive. Is there a quirk or other workaround for that kind of bug?
I tried removing the controller reset but there was no improvement...
diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
index 57f2ec71cfc3..b2fd5e20367f 100644
--- a/drivers/ata/pata_macio.c
+++ b/drivers/ata/pata_macio.c
@@ -1096,7 +1096,7 @@ static int pata_macio_common_init(struct pata_macio_priv *priv,
priv->host->ports[0]->private_data = priv;
/* hard-reset the controller */
- pata_macio_reset_hw(priv, 0);
+// pata_macio_reset_hw(priv, 0);
pata_macio_apply_timings(priv->host->ports[0], 0);
/* Enable bus master if necessary */
--