ata_piix: add workaround for Samsung DB-P70
authorTejun Heo <tj@kernel.org>
Tue, 3 Mar 2009 04:52:16 +0000 (13:52 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 13 Mar 2009 18:56:07 +0000 (14:56 -0400)
commite9c1670c2a14ef9cc20d86b24b829f3947aad34e
treec4c1b11f52d41f429afcd07bff673d85881557da
parente3e4385f6181f434c0d786998ad1d0eef4e21c9b
ata_piix: add workaround for Samsung DB-P70

Samsung DB-P70 somehow botched the first ICH9 SATA port.  The board
doesn't expose the first port but somehow SStatus reports link online
while failing SRST protocol leading to repeated probe failures and
thus long boot delay.

Because the BIOS doesn't carry any identifying DMI information, the
port can't be blacklisted safely.  Fortunately, the controller does
have subsystem vendor and ID set.  It's unclear whether the subsystem
IDs are used only for the board but it can be safely worked around by
disabling SIDPR access and just using SRST works around the problem.
Even when the workaround is triggered on an unaffected board the only
side effect will be missing SCR access.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Joseph Jang <josephjang@gmail.com>
Reported-by: Jonghyon Sohn <mrsohn@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ata_piix.c