libata: disable forced PORTS_IMPL for >= AHCI 1.3
authorTejun Heo <tj@kernel.org>
Fri, 15 Jan 2016 20:13:05 +0000 (15:13 -0500)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 27 Feb 2016 23:28:28 +0000 (18:28 -0500)
commitf0d80acecb8d04f199893b8f111a7e8a06a61d56
treec0d0a951bfd2c5161188346422f0cf636a5ea2a6
parentfdee6b3f2d63a35bc4e5e32e3d25351848bf8ee5
libata: disable forced PORTS_IMPL for >= AHCI 1.3

[ Upstream commit 566d1827df2ef0cbe921d3d6946ac3007b1a6938 ]

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.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/g/CALCETrU7yMvXEDhjAUShoHEhDwifJGapdw--BKxsP0jmjKGmRw@mail.gmail.com
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/ata/libahci.c