svn commit: r280897 - stable/9/sbin/camcontrol
Alexander Motin
mav at FreeBSD.org
Tue Mar 31 07:22:55 UTC 2015
Author: mav
Date: Tue Mar 31 07:22:53 2015
New Revision: 280897
URL: https://svnweb.freebsd.org/changeset/base/280897
Log:
MFC r280166:
Make ATA power management commands to work on SCSI HBAs via PASS THROUGH.
Modified:
stable/9/sbin/camcontrol/camcontrol.c
Directory Properties:
stable/9/ (props changed)
stable/9/sbin/ (props changed)
stable/9/sbin/camcontrol/ (props changed)
Modified: stable/9/sbin/camcontrol/camcontrol.c
==============================================================================
--- stable/9/sbin/camcontrol/camcontrol.c Tue Mar 31 07:21:53 2015 (r280896)
+++ stable/9/sbin/camcontrol/camcontrol.c Tue Mar 31 07:22:53 2015 (r280897)
@@ -7707,39 +7707,21 @@ atapm(struct cam_device *device, int arg
else
sc = 253;
- cam_fill_ataio(&ccb->ataio,
- retry_count,
- NULL,
- /*flags*/CAM_DIR_NONE,
- MSG_SIMPLE_Q_TAG,
- /*data_ptr*/NULL,
- /*dxfer_len*/0,
- timeout ? timeout : 30 * 1000);
- ata_28bit_cmd(&ccb->ataio, cmd, 0, 0, sc);
-
- /* Disable freezing the device queue */
- ccb->ccb_h.flags |= CAM_DEV_QFRZDIS;
-
- if (arglist & CAM_ARG_ERR_RECOVER)
- ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER;
-
- if (cam_send_ccb(device, ccb) < 0) {
- warn("error sending command");
-
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
+ retval = ata_do_28bit_cmd(device,
+ ccb,
+ /*retries*/retry_count,
+ /*flags*/CAM_DIR_NONE,
+ /*protocol*/AP_PROTO_NON_DATA,
+ /*tag_action*/MSG_SIMPLE_Q_TAG,
+ /*command*/cmd,
+ /*features*/0,
+ /*lba*/0,
+ /*sector_count*/sc,
+ /*data_ptr*/NULL,
+ /*dxfer_len*/0,
+ /*timeout*/timeout ? timeout : 30 * 1000,
+ /*quiet*/1);
- retval = 1;
- goto bailout;
- }
-
- if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
- cam_error_print(device, ccb, CAM_ESF_ALL, CAM_EPF_ALL, stderr);
- retval = 1;
- goto bailout;
- }
-bailout:
cam_freeccb(ccb);
return (retval);
}
More information about the svn-src-stable-9
mailing list