Patch "libata: disable forced PORTS_IMPL for >= AHCI 1.3" has been added to the 4.3-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
libata: disable forced PORTS_IMPL for >= AHCI 1.3
to the 4.3-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:
libata-disable-forced-ports_impl-for-ahci-1.3.patch
and it can be found in the queue-4.3 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
566d1827df2ef0cbe921d3d6946ac3007b1a6938Mon Sep 17 00:00:00 2001
From: Tejun Heo <[email protected]>
Date: Fri, 15 Jan 2016 15:13:05 -0500
Subject: libata: disable forced PORTS_IMPL for >= AHCI 1.3
From: Tejun Heo <[email protected]>
commit 566d1827df2ef0cbe921d3d6946ac3007b1a6938 upstream.
Some early controllers incorrectly reported zero ports in PORTS_IMPL register and the ahci driver fabricates PORTS_IMPL from the number of ports in those cases. This hasn't mattered but with the new nvme controllers there are cases where zero PORTS_IMPL is valid and should be honored.
Disable the workaround for >= AHCI 1.3.
--- drivers/ata/libahci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/ata/libahci.c +2 -2
@@ -495,8 +495,8 @@ void ahci_save_initial_config(struct dev } } -/* fabricate port_map from cap.nr_ports */ -if (!port_map) { +/* fabricate port_map from cap.nr_ports for < AHCI 1.3 */ +if (!port_map && vers <0x10300 ) { port_map = (1 <<ahci_nr_ports (cap)) -1 ;dev_warn (dev,"forcing PORTS_IMPL to 0x%x\n" , port_map);
Patches currently in stable-queue which might be from [email protected] are
queue-4.3/ahci-fix-softreset-failed-issue-of-port-multiplier.patch queue-4.3/mm-vmstat-allow-wq-concurrency-to-discover-memory-reclaim-doesn-t-make-any-progress.patch queue-4.3/ahci-intel-dnv-device-ids-sata.patch queue-4.3/libata-disable-forced-ports_impl-for-ahci-1.3.patch