Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752423AbcLFRdu (ORCPT ); Tue, 6 Dec 2016 12:33:50 -0500 Received: from mail-sn1nam01on0058.outbound.protection.outlook.com ([104.47.32.58]:56148 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751180AbcLFRdp (ORCPT ); Tue, 6 Dec 2016 12:33:45 -0500 X-Greylist: delayed 891 seconds by postgrey-1.27 at vger.kernel.org; Tue, 06 Dec 2016 12:33:44 EST Authentication-Results: spf=fail (sender IP is 63.163.107.21) smtp.mailfrom=wdc.com; canonical.com; dkim=none (message not signed) header.d=none;canonical.com; dmarc=none action=none header.from=hgst.com; X-IncomingTopHeaderMarker: OriginalChecksum:;UpperCasedChecksum:;SizeAsReceived:3252;Count:18 X-AuditID: 0ac94369-9793798000000b53-a6-5846f0a67b71 From: Adam Manzanares To: , , , , , , , , CC: , , , Adam Manzanares Subject: [PATCH v7 4/4] ata: set ncq_prio_enabled iff device has support Date: Tue, 6 Dec 2016 09:18:05 -0800 Message-ID: <1481044685-2803-5-git-send-email-adam.manzanares@hgst.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1481044685-2803-1-git-send-email-adam.manzanares@hgst.com> References: <1481044685-2803-1-git-send-email-adam.manzanares@hgst.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprLIsWRmVeSWpSXmKPExsXCddJ5ke7yD24RBku3clvcPrqDxWL13X42 i59XZrFZTJ96gdFiz6JJTBZ7b2lbHNvxiMni8q45bBbLj/9jslh/ZAOjxa6H39ktfi0/ymjx cMFmdgdej1kNvWweu3Y1snss3vOSyePy2VKPTas62Tw+Pr3F4vF+31U2j0tn21k8Np+u9vi8 SS6AK4rLJiU1J7MstUjfLoEr48H7j6wFnUIVv3e8YG1gvM3XxcjJISFgIvFy8xPWLkYuDiGB pUwS1599ZQNJCAlsZ5S4vYMNpmjL4wYWiKL1jBL/z+9l7mLk4GATMJCYfjkRJC4icJ1Rovvz KTYQh1mgm1Fi8/cGVpBuYQEPiS/rZ4HZLAIqEre+rmMBsXkF3CUa13WxQGyQk7h5rpMZxOYE qr93vJcR4gp3iTvPr0Nd8ZZVYtkHK4heQYmTM5+A9TILSEgcfPEC7CAhAVWJ4+cFJzAKzUJS NQtJ1QJGplWMYrmZOcW56akFhqZ6xYl5KZnF2XrJ+bmbGCGRlrmD8e4T70OMAhyMSjy8B866 RQixJpYVV+YeYpTgYFYS4eV/BRTiTUmsrEotyo8vKs1JLT7EKM3BoiTO63bvS5iQQHpiSWp2 ampBahFMlomDU6qB0Y/VtHfnm4U76m9OWLR5YSjjHW3Fje8v3G2xjF77cN3xr1pFuw7tiTS4 Yb4+pSboyoWfj51ZigpVTtkXV4YbFadl/HB98N2vZT/PjhNsudbzi40O/Uz5epVP2tb/MY+i 5XR11ZcLlx+MUfaJWKLScezo1asKigffOSo76E/amab+52nnrAAPMSWW4oxEQy3mouJEAHrD aiGwAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFJMWRmVeSWpSXmKPExsXCtZGTTffJJ7cIg18v2SwOrLjJZLH6bj+b xacfL5kspk+9wGixZ9EkJou9t7Qtju14xGRxedccNovlx/8xWaw/soHRYtfD7+wWv5YfZbR4 uGAzuwOvx6yGXjaPU/d3sXjs2tXI7rF4z0smj8tnSz02repk8/j49BaLx/t9V9k8Np+u9vi8 Sc6j/UA3UwB3FJdNSmpOZllqkb5dAlfGg/cfWQs6hSp+73jB2sB4m6+LkZNDQsBEYsvjBpYu Ri4OIYG1jBKzj29n72Lk4GATMJCYfjkRJC4icJ5R4uWc72wgDrNAJ6PE395JbCDdwgIeEl/W z2IFsVkEVCWOrPnKCGLzCrhLTJ59hAlig5zEzXOdzCA2J1D9veO9YDVCQDV3nl9nm8DIvYCR YRWjWG5mTnFuemaBoaFecWJeSmZxtl5yfu4mRkhoRu5gfDrR/BAjEwenVAPjDPtHT2R3bZ0r t3X/xDnnP1if9dVuXRn+bnWwY6XPtYOtSi+tOhpnF105eEYz9HTAR9uVP5oeL+/4YpSXvvvZ oQLx7JL2Dz7eaRtms8UcDpBli6t9pKLR3rc+2UPfqPLj/v0P5iTIuXwLzPlj0fv2nxLz0kTt eanv78RIhi5clrrEYmd4v3mFEktxRqKhFnNRcSIA17Xjcf0BAAA= MIME-Version: 1.0 Content-Type: text/plain X-IncomingHeaderCount: 18 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(356003)(8936002)(68736007)(50226002)(47776003)(76176999)(5003940100001)(81166006)(5001770100001)(81156014)(50986999)(97736004)(106466001)(8676002)(189998001)(105606002)(2270400002)(305945005)(7846002)(48376002)(69596002)(50466002)(92566002)(2906002)(4326007)(39860400001)(39850400001)(39840400001)(960300001)(36756003)(7416002)(2950100002)(6666003)(33646002)(42882006)(85426001)(2201001)(39450400002)(626004)(5660300001)(38730400001)(77096006)(39410400001);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR0201MB1508;H:milsmgep15.sandisk.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD045;1:kz+oBx+f6jDgv5ycRmDoRVmR8LmgodZ7K+EJ19/f3p3BEYQCKXmrIoixN+hMkxB3X/6mtXWr/VNFpzAJLkqoQxhL5MIWVnpfv3f39hcWEB7MAeEHDhHXc+g4NTXxzsc4gxKaPVPXceO/RYPnyEYkQJ+UAzyp+mdPjXlydCF6h22STDoSNI6QUEEaxVtuhLF+fN2OeISsoupvRzcFukP8WK8JCYWh6N8kAGBYmJ2RniHlVdKz8UnCUUqxlg7hR8HrpKsNPGjO9kKBWgROKpQPPEEgCWrvCCGI1MIKqHuthU/I/5/2Nv+eD6FPrhyDE7sZutUlnNZhkZf/pPGl/dWTE7YHNp6Fv8SSGCPqrB9dufCDRRfNszHQoDzSD/ZimP5q3LJ1cTbOtPGEkAOCHXiGe5GzYHQmK5H5p3sUfcyDahfJWYKyCaG/mbr2p2G01VZnC6A3Hq3nWXJzlTM/cwIO6KAC87dQy+TpORYKIZjBR0d3C1Oz09ikwk+TVGy//FaKhYGWgaCYN6rK2SQiZ0NDufP3dAJ3Xz/o6fPSUaMSp+IVFSs3KLNxTyn3K+d9fR8RabeBg7CVKFqauWpKyiMj1w== X-MS-Office365-Filtering-Correlation-Id: 9c3b4ed8-bd09-47ac-0eb7-08d41dfbe812 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BLUPR0201MB1508; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1508;3:Z3uzRKkmShM65EI3wxDooLRfWP2BszYz0iAmFLyv3FOKY4bSHxvzHxjgDsro57FIFOvKaLuSD2mbxPf80QH4uZ76BD3+L565QR2HIi2dKNfGpN1iw1JFm0QF/Rj02P6IJnEzXF/i/4iID/RntYvVnl9IbAff1ra5BT1yXk6JGSComNRsNgRazgF7NGI5hWVKo9neoDa5GDDNiien7FZapDosNrQN7PvRf6eU+scX/dnRYhJMsvjtC3tDLuhNcrDbLXp6yvmHuWQwI6a1jJRqaP2MQS4KofZ1zbwRdUPKxSxiXNEsMDrR74IfPwNuEngLDedkvxpYzLj0lSrS+aDBLwyCDBnEPTg73aDH00mdkbuX6ToXW+VQostSb9Cbcr+i X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1508;25:ClowDcmVUF3u8Cx9DsVJAyEDb+BLQjxt31nwDHwPqp8eMglCrhbOPv7p+25Pl2tDFTI80XfjUR2L2lmhChk2cF0UzBwdi1P68wPMEVSoias2g0UIjmGmpBuPtJxOmW1j37QayS3oVSZDV3iOmRZ3XmH8qTMgdZ1vubxD5Lu7KpUpaqf5enXd1p2oXYs9IkLnwr+6XDFhlcWs4E3km8bXdf9kDmw3dpOSxbJCSdIcA0Y1qVCPG7Idgyu220geqfczolr5B4goRp5knuh+cw7fBSFBmluK8+AOolfJeozPqduu4u7mm2dvgf1XdLJ4F6r09j6Rdjr6uSqaf5EMCaHLgkfxRXyo9EpC6BKbHR/yLRDwyISuXNB69vQwBdXQs5g8nmRIFpWzhdXmlzBO1Y/t7ffPPf2KbJlM2AkFMVhx6tFj1kytjTKm+nBpp5vbHm2ciP160Mnq0zeoVmI4KZEoBsSo3X8RqPztAZKkSY6Km5Vxt2Q8ooU5aeCzB3X8Lqew/mAsBm4US1K+Tk9+61lrYHndVGGmpBKqelxyPF/nL6TiWFM2Rl/2tlhqH3rq7nwPOPBWbmdMKcC/SU3i58EgSOIkNhkLuVyDKFSBVwTUkG4xhLThdFHiRQYhq3o0Gcn4AiII6DQtZ8sQ+sh0ZE7ve3q1lqcA5yyPWPnO2YX76su75F9CRRCd+f4qCc20Ff67XzsQO/34OhuTqebW1f56Hcid3VU/GAsS3w0Bo8743M4LewGbt9MNCVNJIxfgN7BRrLm3UjUEl2YNz5WcDuCLlShZC+F0r38YbmV32U21hGU= X-LD-Processed: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1508;31:Vg4P9hLPifIAhrCaio6C0SQ2GhhksiMr/Xj+qcZChMenfpvC9FAw1vgxFna0dsFY60sLPCbAxFX5+U8Jx2bfdd5+YYl5YnpIuzuy7LUdLdQHZEs9YVbiNpNv4j4vByipUWf+ME0J2R0EC2cn+4uduR7w3s31u3aqhzviNN0eS4urmjGejMdWLfPw6oyUCXwt9rdZIMjQRbF/Q6Di9JtyqOanodTsdLPDjj4zFI+jXi/nZ9Vi7hfMS0tgbH9IMo6rFoH4uIyhglUFJDo2zPMZoVoX9wxfVzL0y9hIN9ZShEU=;20:jeUhWxtGbH3Jd7Bv3lOpGW6u9+C5tUVOzHl/jNu0D5FFQPoHFcrucS2Vr1p3x9sNkYWSRa2LEmMtI7JhRGIE6p8mu6fyZ+HHyGfRrQlbLugYagcgJSykROEhZYEmsavDJASCpG9Y6l5KbqElaq9OiqBDY5FiDfQX8fxSiFDcmBOj56i1M/2MZAV8cB7VcjIcuKDd5ASbWEYPXgSq28qy1E60+4jEjYDH929jsZ1pSudEoj7LEL2SLsYJVv9qhpVs/CZdx42Qbxk8tANmvFUZKVBqhRd8evJMkTYkjA5IZQ2gJzPGNayfhtp6hCX8J1x6csVR6qLva45zkrJwdQqk7pFcy/899nksRFPUovKHvKxO9Nk55KiAum1+dbNHdqKwv0fImEfwQrp1Ix5oSB9os8ZS1CO5C1ce/s/pd6XCkifCn9FBSN4PPI2V2bjMm0GBOAty2SuvFcgb0CoRsPnFB64OO8mtw/pXN1pX858SxvG3Ck4Qame5nKWW+6MRww31 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123562025)(20161123564025)(20161123555025)(6072148);SRVR:BLUPR0201MB1508;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1508; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1508;4:4s5RW+rCex5FtwQlYBk/x8TXfvSo+hlG/lJXIFqQmo+IGfi1aNOnneRljMMoA4T490mHbc7ehU10ddVVkWCqeH/BAEBwEbl23FPnqaQm11wZvHHRohEnKgRzkZrdYbKEv5OpNAqo6xYdvib5DjhQUamPXhf/HbXejbav15aaIVUMYRVf3JVy8K1lGoaX9lS3a5OvhYq8EKtL6vxfEnVE7e/N5xzAfJTyl3It4a1OYLoUXLp6FX8cosTrxs+i1IKyc7+uDnVzg3YHJdu2XZOyswX3ZQeTKDjVk8V/y/IzbgxXtn0H2Pkt6Y7CaCjEb+H7tdTqCpyoMnRFl5W05IHbVropIhMx/H3/GWIWPChnnh9m482BD5Jw7uGgFSxsCFnhpDc6pfo/Z0L9fU8+eopoTKr4HWcnBmotZcAH4w+RpvQpasUTF4WPlJh0Lxctu1ByrDCuXHoyvs7s4tmyNYFWq9cBJtJYqftmJW54GT9XG2++lS6VIQwCzcDRbCjvv2J4zXeZJg6uDMwplOzFYcxE7pMhXNaaJ3tq09kE47gdnzTHj4lN83hGjkQA9ZfOsssidbS0x5bqR8/0IEDoo6EBSQcQSsZTF4ryNLsJnKplnORryoYs+tBFX1RLQPHRR/tx X-Forefront-PRVS: 01480965DA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0201MB1508;23:T+m5h4LmlLh00tybdG8D36Qux0c9P5zdOru2LKs?= =?us-ascii?Q?bAkIZDqOF9mrheyGtdafTq/DtFf5xFqAMpAon/v25mPdHuKOOmSSBFe1/aNl?= =?us-ascii?Q?OTmJc9C3SN20fh6kGm/HeSEOzjqrwCtZZvXacX834+Dh6zFCW3S681EGg7Ub?= =?us-ascii?Q?i6n2XIYrC6sxx8M8kirMRXuvl2b4CXSAmUOUTVP5rM1pjupEfgxccHsZeuj2?= =?us-ascii?Q?NeN7X8FOOfOGscY/8FDh2d2XMf7hVz4KavVP4+xe50notY1tLM7GlIa3FGNH?= =?us-ascii?Q?h6wxb7Lz4uveVr1OFUYmexar0s4+CI8e/J5NruCZNg2dlrbE0T1U0hIjRGVd?= =?us-ascii?Q?1RAdOFPB0+KVJcI6yS4TlVCL7/7livCmgANtR/8T6nz9n9k/zOP2R+oamfwT?= =?us-ascii?Q?Ei22riGjOUGJr5a7ohWLCP9/4rvSDSzcBZ+2FrEKId+6sYovIVfv07XwFn3V?= =?us-ascii?Q?p6oUgOciIpL7BrQtQbwYtKE1UAEMjS6fseDZUmGkaJ+TviczpqVL4cg/pFIp?= =?us-ascii?Q?DZ98FWuUx/kqVs/vBdqmJJzvUsagF6dfeVgoJJV7OPvw6S20c0MlZaozvWHa?= =?us-ascii?Q?N6fXl2GyDPVm+0SF8fP9vfVtf6I3Ny8DX9nFUPHP5NSw8J/RYAhlHCtUezzW?= =?us-ascii?Q?QM2RKs7m3JeYLZafdK3rzLK46Dagwo1/9HSk6f7Xxa8S359MEDbcbxLPJ5kL?= =?us-ascii?Q?mLdmtCjre0eQ5FE/uZfL5ujuPf3SIy/DCm04QE3Tj3B6/6u0Yvr772iI6d+G?= =?us-ascii?Q?SQJqibl6GzzevXr+BR3FwowTA9zZ5YN/yfgANJbVDBpAgaKFprPpun/7Rfum?= =?us-ascii?Q?1GN/EHRx+WHZl6q+KCM7bsnI1yn3r1ZwtelsxzrBNLsI89PhSmF2H6vuHy8y?= =?us-ascii?Q?nHQlen+cRx9idL6N0onLcfVsU0c9jPMuouHcXqcQKG0PqeSwR7ihRdJCh5bY?= =?us-ascii?Q?vG5C5OmBcPNopqMVkN1wXRkbGf3k0rtABp53kECxI71Eu62gHkisjvkXnSOI?= =?us-ascii?Q?WbteceL2XzhBAr9AvIhzkF1g8TunwIWTaZavjMyZl6yCoLKxI7KnvGh3wnEH?= =?us-ascii?Q?PqpoH9HAm5eaP72z8O/JtG+PleFSkvf5iQFDK69nnp0gPzqjnuki8grdtefP?= =?us-ascii?Q?LVFCsA0ec0uGDHSTiRZ7DEOUP+Xx0vxKPTnnEOGPQcr3+eGtW8A0IrUuT+P+?= =?us-ascii?Q?6aKLJ0LMLOSkJ8WizcZLo2fqNiK4gJkGOIjvVnGWsIcUkzPHhGwfw8HOgKYY?= =?us-ascii?Q?M62iTP4VZAck7D8sUTsw=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1508;6:zoiMY0sRsv0qx2/vQFXFjl88tW2j4JUTsf7fZpPE5DJgbXgzKKP/b83rlfHsKMT1CmtbTKq8VFquEl8ABcjeHQ8FQXCX+9bqR+FMJp0e4JprBveKjQyoYY8hyfGDm7tpRCHx9q0Cf/7yqidbe3Ip2OQRlxsMWkqtPb5f8332orWUm5sGJ1ziI+jrF3ZY0U3jnTqQgcnp516PKueVr+zjqqMx/2jHR4A9JIMsWFE3WNEQp/EiKq8BHH+CK4TCBNBBYunN9n5kzk8kqhxoRRR1HbZKK+HZKdn8S5UmM4cLNRSbbskoPUCrI2LndKG1BP6SDLVUETmd/LnR7iaI0sidwcmlbX2ufMZC0lU13cNUOvADe92w4FdQoP9gJS5dmWmpSvPlIjmo2EAyKGcb/1UGntvfYHnPZKmpW2qpFLsknxiCIr+9nqgMmjLkpG08BFPT5Sscasw9DFLtZD+5vIy09Q==;5:MakSK7WvFwDUAdLkunwe6BOuCuq9+RGWOyHeHW+vULMQDapN0anYlBZYN4N2p/LrF21trAEnj+BHy4iugRSPc63Gpavi2/n9Iqk3xxvYF89KmW0qD5QdbIU2oZCcYM0fqiAX2P4Vh7fFAw/XGiYI8w==;24:LtLTqZ6I9zXD2I9lMtfTadMYeGjYmoaD5+/i/QcC99n8kCA/J3cjOC237yNwk7e7myoA85RITTEf/8zG9R/19dCJnqk+yWfb0EgJ/8yXnYc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1508;7:h6mbMLQH/iRjkUt4qceKtSBiBbb8zIkBv1n5CjPQoeREJDB+bWuWtucDGkJFwPsgDogxy5j0wmtnXdaRngCVOuzAzcqD/BiYLCdvsJDX79aU1Yjg8++4Prck1tjoOhpUrrCsYuBdcw73D9SrLBJE4ox9fZM+c7u+muqqwMczht0XCyArMi3dMw/10oIEY9DtqufhP9PuOKxRxjHZr8TsFu02nUZnkE07FoOTqYraWPtz7NFzENVvFrIF3gPRnSKiPuIkUBaQqQ1u2LcqR9khyCQp1dnQB6Bb12fJjvkeyoVDVV9AAXA1K4JeYLChKNLWMu3y2/bTnONMcPGmjJvauzu/8k7V6UymU8FVqbCUim+ZIjDJRMlBAgLOYqFrPWTWta6Cx005uQ7bemHrCCYDUyChEsqU+QX5wTM0j3TpVOb3Z+DDIOZex+JWiYTzmIpFFj24NO57/2/1DjjCHjJ/8g==;20:nB6zifwsXDt+TDIt9fq2ZWfS5rpyacEyLSr99j5cF5ZKGyx0q/nj8fQ67NNWJNhATptUJh+FVPlZ0mlN6bGUHNv0Y7mjABA8sgcwI8wgkBd6X/iEtzuTISTJ4nY1uYiTCwaJnii/0TFIQKUOL4QquQ2diitz4wacOv0xZoXoM623KnJSOsO/kaW1CGmSYTiG/MnCBWivWkzShMAyEIjgfqhevuPMRlyR1vZ57/IOQSBGGqe6IJut4jZr6rZaKmhn X-OriginatorOrg: sandiskcorp.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2016 17:18:32.0940 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[63.163.107.21];Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0201MB1508 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2237 Lines: 74 From: Adam Manzanares We previously had a check to see if the device has support for prioritized ncq commands and a check to see if a device flag is set, through a sysfs variable, in order to send a prioritized command. This patch only allows the sysfs variable to be set if the device supports prioritized commands enabling one check in ata_build_rw_tf in order to determine whether or not to send a prioritized command. This patch depends on ata: ATA Command Priority Disabled By Default tj: Minor subject and formatting updates. Signed-off-by: Adam Manzanares --- drivers/ata/libata-core.c | 3 +-- drivers/ata/libata-scsi.c | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index f6a631a..324e76e 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -787,8 +787,7 @@ int ata_build_rw_tf(struct ata_taskfile *tf, struct ata_device *dev, if (tf->flags & ATA_TFLAG_FUA) tf->device |= 1 << 7; - if ((dev->flags & ATA_DFLAG_NCQ_PRIO) && - (dev->flags & ATA_DFLAG_NCQ_PRIO_ENABLE)) { + if (dev->flags & ATA_DFLAG_NCQ_PRIO_ENABLE) { if (class == IOPRIO_CLASS_RT) tf->hob_nsect |= ATA_PRIO_HIGH << ATA_SHIFT_PRIO; diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 328a601..c24cbf1 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -317,17 +317,26 @@ static ssize_t ata_ncq_prio_enable_store(struct device *device, ap = ata_shost_to_port(sdev->host); - spin_lock_irqsave(ap->lock, flags); dev = ata_scsi_find_dev(ap, sdev); - if (unlikely(!dev)) { - rc = -ENODEV; - goto unlock; + if (unlikely(!dev)) + return -ENODEV; + + if (!(dev->flags & ATA_DFLAG_NCQ_PRIO)) { + if (ata_id_has_ncq_prio(dev->id)) + ata_dev_config_ncq_prio(dev); } - if (input) + spin_lock_irqsave(ap->lock, flags); + if (input) { + if (!(dev->flags & ATA_DFLAG_NCQ_PRIO)) { + rc = -EOPNOTSUPP; + goto unlock; + } + dev->flags |= ATA_DFLAG_NCQ_PRIO_ENABLE; - else + } else { dev->flags &= ~ATA_DFLAG_NCQ_PRIO_ENABLE; + } unlock: spin_unlock_irqrestore(ap->lock, flags); -- 2.7.4