Port-i386 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: latest current fails to mount root
I also had this problem on a Toshiba A200-1Fj,
but could not fix it from the CMOS settings.
The attached patch helped me, but I am not sure what
the delay should actually be waiting for.
Additionally the reported error is zero (no error?)
in ata_get_params (ata_c.r_error) and I could not figure
out where AT_ERROR was first set (I tried a aprint_error
in ahci_cmd_complete but never saw anything).
I hope this information may be of some use.
--
Kind regards,
Yorick Hardy
--- sys/dev/ata/wd.c.orig 2008-04-11 21:09:43.000000000 +0200
+++ sys/dev/ata/wd.c 2008-04-12 09:57:00.000000000 +0200
@@ -1781,8 +1781,14 @@
int
wd_get_params(struct wd_softc *wd, u_int8_t flags, struct ataparams *params)
{
+ int err = wd->atabus->ata_get_params(wd->drvp, flags, params);
- switch (wd->atabus->ata_get_params(wd->drvp, flags, params)) {
+ if (err == CMD_ERR) {
+ delay(5000);
+ err = wd->atabus->ata_get_params(wd->drvp, flags, params);
+ }
+
+ switch (err) {
case CMD_AGAIN:
return 1;
case CMD_ERR:
Home |
Main Index |
Thread Index |
Old Index