diff options
author | mav <mav@FreeBSD.org> | 2012-11-26 20:07:10 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2012-11-26 20:07:10 +0000 |
commit | a094deb5eec583e8af69dd76ce2d7cdc77e2274d (patch) | |
tree | 7c7be7d81a2c38147fe1b3895c856b4f002ec068 /sys/cam/ata | |
parent | 6a18eda622e1e5ceebf492ff86b00faf06f68257 (diff) | |
download | FreeBSD-src-a094deb5eec583e8af69dd76ce2d7cdc77e2274d.zip FreeBSD-src-a094deb5eec583e8af69dd76ce2d7cdc77e2274d.tar.gz |
Fix problem with the Samsung 840 PRO series SSD detection.
The device reports support for SATA Asynchronous Notification in its
IDENTIFY data, but returns error on attempt to enable that feature.
Make SATA XPT of CAM only report these errors, but not fail the device.
MFC after: 1 week
Diffstat (limited to 'sys/cam/ata')
-rw-r--r-- | sys/cam/ata/ata_xpt.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/cam/ata/ata_xpt.c b/sys/cam/ata/ata_xpt.c index caa4d84..54cda1b 100644 --- a/sys/cam/ata/ata_xpt.c +++ b/sys/cam/ata/ata_xpt.c @@ -751,6 +751,14 @@ probedone(struct cam_periph *periph, union ccb *done_ccb) goto noerror; /* + * Some Samsung SSDs report supported Asynchronous Notification, + * but return ABORT on attempt to enable it. + */ + } else if (softc->action == PROBE_SETAN && + status == CAM_ATA_STATUS_ERROR) { + goto noerror; + + /* * SES and SAF-TE SEPs have different IDENTIFY commands, * but SATA specification doesn't tell how to identify them. * Until better way found, just try another if first fail. |