svn commit: r350150 - head/sbin/camcontrol

Alexander Motin mav at FreeBSD.org
Fri Jul 19 20:02:01 UTC 2019


Author: mav
Date: Fri Jul 19 20:02:01 2019
New Revision: 350150
URL: https://svnweb.freebsd.org/changeset/base/350150

Log:
  Properly report ACS revisions alike to kernel.
  
  MFC after:	2 weeks

Modified:
  head/sbin/camcontrol/camcontrol.c

Modified: head/sbin/camcontrol/camcontrol.c
==============================================================================
--- head/sbin/camcontrol/camcontrol.c	Fri Jul 19 19:15:08 2019	(r350149)
+++ head/sbin/camcontrol/camcontrol.c	Fri Jul 19 20:02:01 2019	(r350150)
@@ -1478,6 +1478,7 @@ atasata(struct ata_params *parm)
 static void
 atacapprint(struct ata_params *parm)
 {
+	const char *proto;
 	u_int32_t lbasize = (u_int32_t)parm->lba_size_1 |
 				((u_int32_t)parm->lba_size_2 << 16);
 
@@ -1488,7 +1489,19 @@ atacapprint(struct ata_params *parm)
 
 	printf("\n");
 	printf("protocol              ");
-	printf("ATA/ATAPI-%d", ata_version(parm->version_major));
+	proto = (parm->config == ATA_PROTO_CFA) ? "CFA" :
+		(parm->config & ATA_PROTO_ATAPI) ? "ATAPI" : "ATA";
+	if (ata_version(parm->version_major) == 0) {
+		printf("%s", proto);
+	} else if (ata_version(parm->version_major) <= 7) {
+		printf("%s-%d", proto,
+		    ata_version(parm->version_major));
+	} else if (ata_version(parm->version_major) == 8) {
+		printf("%s8-ACS", proto);
+	} else {
+		printf("ACS-%d %s",
+		    ata_version(parm->version_major) - 7, proto);
+	}
 	if (parm->satacapabilities && parm->satacapabilities != 0xffff) {
 		if (parm->satacapabilities & ATA_SATA_GEN3)
 			printf(" SATA 3.x\n");


More information about the svn-src-all mailing list