The following reply was made to PR kern/152817; it has been noted by GNATS.

From: Alexander Motin <[email protected]>
To: Julian Stecklina <[email protected]>
Cc: [email protected]
Subject: Re: kern/152817: [ahci] ahci doesn't find disk
Date: Mon, 24 Jan 2011 11:49:21 +0200

 This is a multi-part message in MIME format.
 --------------060102030001030602070708
 Content-Type: text/plain; charset=KOI8-R
 Content-Transfer-Encoding: 7bit
 
 Julian Stecklina wrote:
 > Thus spake Alexander Motin <[email protected]>:
 >> Problem looks alike to one workarounded in CURRENT by SVN revision
 >> 217444, just with different feature. That patch with such addition
 >> should probably help:
 >>
 >> Try it please, as if it help, send me output of the `camcontrol
 >> identify ada0 -v` command for check.
 > 
 > Your fix works. :) All drives are detected. The camcontrol output is
 > from an 8.2ish userland, I hope this is ok.
 
 Thank you. Could you try this patch instead? It should be less noisy.
 
 -- 
 Alexander Motin
 
 --------------060102030001030602070708
 Content-Type: text/plain;
  name="mininit.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="mininit.patch"
 
 --- ata_xpt.c.prev     2011-01-15 11:43:26.000000000 +0200
 +++ ata_xpt.c  2011-01-24 11:42:36.000000000 +0200
 @@ -988,7 +988,9 @@ noerror:
                cts.xport_specific.sata.valid = CTS_SATA_VALID_CAPS;
                xpt_action((union ccb *)&cts);
                softc->caps = caps;
 -              if (ident_buf->satasupport & ATA_SUPPORT_IFPWRMNGT) {
 +              if ((ident_buf->satasupport & ATA_SUPPORT_IFPWRMNGT) &&
 +                  (!(softc->caps & CTS_SATA_CAPS_H_PMREQ)) !=
 +                  (!(ident_buf->sataenabled & ATA_SUPPORT_IFPWRMNGT))) {
                        PROBE_SET_ACTION(softc, PROBE_SETPM);
                        xpt_release_ccb(done_ccb);
                        xpt_schedule(periph, priority);
 @@ -997,7 +999,9 @@ noerror:
                /* FALLTHROUGH */
        case PROBE_SETPM:
                if (ident_buf->satacapabilities != 0xffff &&
 -                  ident_buf->satacapabilities & ATA_SUPPORT_DAPST) {
 +                  (ident_buf->satacapabilities & ATA_SUPPORT_DAPST) &&
 +                  (!(softc->caps & CTS_SATA_CAPS_H_APST)) !=
 +                  (!(ident_buf->sataenabled & ATA_ENABLED_DAPST))) {
                        PROBE_SET_ACTION(softc, PROBE_SETAPST);
                        xpt_release_ccb(done_ccb);
                        xpt_schedule(periph, priority);
 @@ -1005,7 +1009,9 @@ noerror:
                }
                /* FALLTHROUGH */
        case PROBE_SETAPST:
 -              if (ident_buf->satasupport & ATA_SUPPORT_AUTOACTIVATE) {
 +              if ((ident_buf->satasupport & ATA_SUPPORT_AUTOACTIVATE) &&
 +                  (!(softc->caps & CTS_SATA_CAPS_H_DMAAA)) !=
 +                  (!(ident_buf->sataenabled & ATA_SUPPORT_AUTOACTIVATE))) {
                        PROBE_SET_ACTION(softc, PROBE_SETDMAAA);
                        xpt_release_ccb(done_ccb);
                        xpt_schedule(periph, priority);
 
 --------------060102030001030602070708--
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to