Patch "Revert "libata: Implement support for sense data reporting"" has been added to the 4.1-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
Revert "libata: Implement support for sense data reporting"
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
revert-libata-implement-support-for-sense-data-reporting.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
84ded2f8e7dda336fc2fb3570726ceb3b3b3590fMon Sep 17 00:00:00 2001
From: Tejun Heo <[email protected]>
Date: Mon, 3 Aug 2015 11:45:34 -0400
Subject: Revert "libata: Implement support for sense data reporting"
From: Tejun Heo <[email protected]>
commit 84ded2f8e7dda336fc2fb3570726ceb3b3b3590f upstream.
This reverts commit fe7173c206de63fc28475ee6ae42ff95c05692de.
As implemented, ACS-4 sense reporting for ATA devices bypasses error diagnosis and handling in libata degrading EH behavior significantly. Revert the related changes for now.
ATA_ID_COMMAND_SET_3/4 constants are not reverted as they're used by later changes.
--- drivers/ata/libata-core.c | 20 ---------- drivers/ata/libata-eh.c | 86 +--------------------------------------------- include/linux/ata.h | 16 -------- 3 files changed, 4 insertions(+), 118 deletions(-)
drivers/ata/libata-core.c +1 -19
@@ -2147,24 +2147,6 @@ static int ata_dev_config_ncq(struct atareturn 0 ; } -static void ata_dev_config_sense_reporting (struct ata_device *dev) -{ -unsigned int err_mask; - -if (!ata_id_has_sense_reporting (dev->id)) -return ; - -if (ata_id_sense_reporting_enabled (dev->id)) -return ; - - err_mask =ata_dev_set_feature (dev,SETFEATURE_SENSE_DATA ,0x1 ); -if (err_mask) { -ata_dev_dbg (dev, -"failed to enable Sense Data Reporting, Emask 0x%x\n" , - err_mask); - } -} -/** * ata_dev_configure - Configure the specified ATA/ATAPI device * @dev: Target device to configure
@@ -2387,7 +2369,7 @@ int ata_dev_configure(struct ata_device dev->devslp_timing[i] = sata_setting[j]; } } -ata_dev_config_sense_reporting (dev); + dev->cdb_len =16 ; }
drivers/ata/libata-eh.c +3 -83
110 lines not on this page · raw message
include/linux/ata.h +0 -16
@@ -385,8 +385,6 @@ enum {SATA_SSP =0x06 ,/* Software Settings Preservation */ SATA_DEVSLP =0x09 ,/* Device Sleep */ -SETFEATURE_SENSE_DATA =0xC3 ,/* Sense Data Reporting feature */ -/* feature values for SET_MAX */ ATA_SET_MAX_ADDR =0x00 , ATA_SET_MAX_PASSWD = 0x01,
@@ -710,20 +708,6 @@ static inline bool ata_id_has_read_log_dreturn id[ATA_ID_COMMAND_SET_3 ] & (1 <<3 ); } -static inline bool ata_id_has_sense_reporting (const u16 *id) -{ -if (!(id[ATA_ID_CFS_ENABLE_2 ] & (1 <<15 ))) -return false; -return id[ATA_ID_COMMAND_SET_3 ] & (1 <<6 ); -} - -static inline bool ata_id_sense_reporting_enabled (const u16 *id) -{ -if (!(id[ATA_ID_CFS_ENABLE_2 ] & (1 <<15 ))) -return false; -return id[ATA_ID_COMMAND_SET_4 ] & (1 <<6 ); -} -/** * ata_id_major_version - get ATA level of drive * @id: Identify data
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/revert-libata-implement-ncq-autosense.patch queue-4.1/revert-libata-eh-set-information-field-for-autosense.patch queue-4.1/revert-libata-implement-support-for-sense-data-reporting.patch