public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [git.ipfire.org] IPFire 2.x development tree branch, next, updated. c9ab30c5d31979ea7056261c9867cf42644b4a0d
@ 2015-07-13 20:03 git
  0 siblings, 0 replies; only message in thread
From: git @ 2015-07-13 20:03 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 5967 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".

The branch, next has been updated
       via  c9ab30c5d31979ea7056261c9867cf42644b4a0d (commit)
      from  388f903e9e83a7013824fd858dbda23ba55bb9f8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c9ab30c5d31979ea7056261c9867cf42644b4a0d
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date:   Mon Jul 13 22:00:57 2015 +0200

    kernel: fix trim dataloss on some solid state discs
    
    disable trim on SuperSSpeed S238
    update queued trim blacklist from kernel 4.2rc1
    (add Samsung SSD 8xx and some Crucial and Micron SSD)

-----------------------------------------------------------------------

Summary of changes:
 lfs/linux                                          |  7 +++-
 src/patches/linux-3.14.43_SuperSSpeed_NOTRIM.patch | 47 ++++++++++++++++++++++
 .../linux-3.14.43_new_qtrim_blacklist.patch        | 18 +++++++++
 3 files changed, 71 insertions(+), 1 deletion(-)
 create mode 100644 src/patches/linux-3.14.43_SuperSSpeed_NOTRIM.patch
 create mode 100644 src/patches/linux-3.14.43_new_qtrim_blacklist.patch

Difference in files:
diff --git a/lfs/linux b/lfs/linux
index f59a709..33bdf8f 100644
--- a/lfs/linux
+++ b/lfs/linux
@@ -37,7 +37,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 CFLAGS     =
 CXXFLAGS   =
 
-PAK_VER    = 61
+PAK_VER    = 62
 DEPS	   = ""
 
 VERSUFIX=ipfire$(KCFG)
@@ -161,6 +161,11 @@ endif
 	# r8169 L23 patch
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.14.32-r8169_disable_L23.patch
 
+	# SuperSSpeed S238 NOTRIM patch
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.14.43_SuperSSpeed_NOTRIM.patch
+	# update the queued trim blacklist from kernel 4.2rc1
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.14.43_new_qtrim_blacklist.patch
+
 	# HyperV 2008 patch
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-3.14.x-hyperv-2008-fix.patch
 
diff --git a/src/patches/linux-3.14.43_SuperSSpeed_NOTRIM.patch b/src/patches/linux-3.14.43_SuperSSpeed_NOTRIM.patch
new file mode 100644
index 0000000..1745bbc
--- /dev/null
+++ b/src/patches/linux-3.14.43_SuperSSpeed_NOTRIM.patch
@@ -0,0 +1,47 @@
+diff -Naur linux-3.14.43.org/drivers/ata/libata-core.c linux-3.14.43/drivers/ata/libata-core.c
+--- linux-3.14.43.org/drivers/ata/libata-core.c	2015-05-17 18:54:01.000000000 +0200
++++ linux-3.14.43/drivers/ata/libata-core.c	2015-07-11 19:15:01.450041507 +0200
+@@ -4229,6 +4229,9 @@
+ 	{ "Micron_M550*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
+ 	{ "Crucial_CT*M550SSD*",	NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
+ 
++	/* devices that don't properly handle TRIM commands */
++	{ "SuperSSpeed S238*",		NULL,	ATA_HORKAGE_NOTRIM, },
++
+ 	/*
+ 	 * Some WD SATA-I drives spin up and down erratically when the link
+ 	 * is put into the slumber mode.  We don't have full list of the
+diff -Naur linux-3.14.43.org/drivers/ata/libata-scsi.c linux-3.14.43/drivers/ata/libata-scsi.c
+--- linux-3.14.43.org/drivers/ata/libata-scsi.c	2015-05-17 18:54:01.000000000 +0200
++++ linux-3.14.43/drivers/ata/libata-scsi.c	2015-07-11 20:47:22.570021716 +0200
+@@ -2510,11 +2513,15 @@
+ 		rbuf[14] = (lowest_aligned >> 8) & 0x3f;
+ 		rbuf[15] = lowest_aligned;
+ 
+-		if (ata_id_has_trim(args->id)) {
+-			rbuf[14] |= 0x80; /* TPE */
+ 
+-			if (ata_id_has_zero_after_trim(args->id))
+-				rbuf[14] |= 0x40; /* TPRZ */
++
++		if (!(dev->horkage & ATA_HORKAGE_NOTRIM)) { 
++			if (ata_id_has_trim(args->id)) {
++				rbuf[14] |= 0x80; /* TPE */
++
++				if (ata_id_has_zero_after_trim(args->id))
++					rbuf[14] |= 0x40; /* TPRZ */
++			}
+ 		}
+ 	}
+ 
+diff -Naur linux-3.14.43.org/include/linux/libata.h linux-3.14.43/include/linux/libata.h
+--- linux-3.14.43.org/include/linux/libata.h	2015-05-17 18:54:01.000000000 +0200
++++ linux-3.14.43/include/linux/libata.h	2015-07-11 19:13:03.190682173 +0200
+@@ -421,6 +421,7 @@
+ 	ATA_HORKAGE_NO_NCQ_TRIM	= (1 << 19),	/* don't use queued TRIM */
+ 	ATA_HORKAGE_NOLPM	= (1 << 20),	/* don't use LPM */
+ 	ATA_HORKAGE_WD_BROKEN_LPM = (1 << 21),	/* some WDs have broken LPM */
++	ATA_HORKAGE_NOTRIM	= (1 << 22),	/* don't use TRIM */
+ 
+ 	 /* DMA mask for user DMA control: User visible values; DO NOT
+ 	    renumber */
diff --git a/src/patches/linux-3.14.43_new_qtrim_blacklist.patch b/src/patches/linux-3.14.43_new_qtrim_blacklist.patch
new file mode 100644
index 0000000..f497070
--- /dev/null
+++ b/src/patches/linux-3.14.43_new_qtrim_blacklist.patch
@@ -0,0 +1,18 @@
+diff -Naur linux-3.14.43.org/drivers/ata/libata-core.c linux-3.14.43/drivers/ata/libata-core.c
+--- linux-3.14.43.org/drivers/ata/libata-core.c	2015-07-13 17:58:28.126607225 +0200
++++ linux-3.14.43/drivers/ata/libata-core.c	2015-07-13 18:06:07.430782102 +0200
+@@ -4225,9 +4225,11 @@
+ 
+ 	/* devices that don't properly handle queued TRIM commands */
+ 	{ "Micron_M500*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
+-	{ "Crucial_CT???M500SSD*",	NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
+-	{ "Micron_M550*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
+-	{ "Crucial_CT*M550SSD*",	NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
++	{ "Crucial_CT*M500*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
++	{ "Micron_M5[15]0*",		"MU01",	ATA_HORKAGE_NO_NCQ_TRIM, },
++	{ "Crucial_CT*M550*",		"MU01",	ATA_HORKAGE_NO_NCQ_TRIM, },
++	{ "Crucial_CT*MX100*",		"MU01",	ATA_HORKAGE_NO_NCQ_TRIM, },
++	{ "Samsung SSD 8*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM, },
+ 
+ 	/* devices that don't properly handle TRIM commands */
+ 	{ "SuperSSpeed S238*",		NULL,	ATA_HORKAGE_NOTRIM, },


hooks/post-receive
--
IPFire 2.x development tree

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-07-13 20:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-13 20:03 [git.ipfire.org] IPFire 2.x development tree branch, next, updated. c9ab30c5d31979ea7056261c9867cf42644b4a0d git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox