libata-sff: Don't scan disabled ports when checking for legacy mode.
authorDarren Stevens <darren@stevens-zone.net>
Mon, 23 Jan 2017 19:33:36 +0000 (14:33 -0500)
committerTejun Heo <tj@kernel.org>
Mon, 23 Jan 2017 19:35:17 +0000 (14:35 -0500)
commit589d572671fe7ca342d25cde07a0e310a6912971
tree1320912a578de647f54598f3bfbb2d6faa1c9e83
parentd786b91f422c6ad4c0d9bb9c1bef2dd5008e3d9d
libata-sff: Don't scan disabled ports when checking for legacy mode.

libata-sff.c checks for legacy mode by testing if both primary and
secondary ports on a controller are in legacy mode and selects legacy
if either one is. However on some south bridge chips (e.g AMD
SB600/SB700) the secondary port is not wired, and when it is disabled
by setting the disable bit in the PCI header it appears as a fixed
legacy port.

Prevent incorrect detection by not testing ports that are marked as
'dummy'

tj: Addressed Sergei's review points.  Other style edits.

Signed-off-by: Darren Stevens <darren@stevens-zone.net>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
drivers/ata/libata-sff.c