AHCI: Fix softreset failed issue of Port Multiplier
authorXiangliang Yu <Xiangliang.Yu@amd.com>
Thu, 26 Nov 2015 12:27:02 +0000 (20:27 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Feb 2016 22:28:35 +0000 (14:28 -0800)
commitb81c867b0b23a949cedca2dc4ac67bdc857062d3
tree30b1e194a30391ac6b95b9adc14c0327169e56fb
parent38c3e0d5568453c519ae53e1a67cc7e3501274d7
AHCI: Fix softreset failed issue of Port Multiplier

commit 023113d24ef9e1d2b44cb2446872b17e2b01d8b1 upstream.

Current code doesn't update port value of Port Multiplier(PM) when
sending FIS of softreset to device, command will fail if FBS is
enabled.

There are two ways to fix the issue: the first is to disable FBS
before sending softreset command to PM device and the second is
to update port value of PM when sending command.

For the first way, i can't find any related rule in AHCI Spec. The
second way can avoid disabling FBS and has better performance.

Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ata/libahci.c