+++ /dev/null
-From 2fd673ecf0378ddeeeb87b3605e50212e0c0ddc6 Mon Sep 17 00:00:00 2001
-From: Tejun Heo <tj@kernel.org>
-Date: Fri, 29 Aug 2008 16:13:12 +0200
-Subject: sata_nv: disable hardreset for generic
-
-From: Tejun Heo <tj@kernel.org>
-
-commit 2fd673ecf0378ddeeeb87b3605e50212e0c0ddc6 upstream
-
-of them being unifying probing, hotplug and EH reset paths uniform.
-Previously, broken hardreset could go unnoticed as it wasn't used
-during probing but when something goes wrong or after hotplug the
-problem will surface and bite hard.
-
-OSDL bug 11195 reports that sata_nv generic flavor falls into this
-category. Hardreset itself succeeds but PHY stays offline after
-hardreset. I tried longer debounce timing but the result was the
-same.
-
- http://bugzilla.kernel.org/show_bug.cgi?id=11195
-
-So, it seems we'll have to drop hardreset from the generic flavor.
-
-Signed-off-by: Tejun Heo <tj@kernel.org>
-Cc: Peer Chen <pchen@nvidia.com>
-Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/ata/sata_nv.c | 19 +------------------
- 1 file changed, 1 insertion(+), 18 deletions(-)
-
---- a/drivers/ata/sata_nv.c
-+++ b/drivers/ata/sata_nv.c
-@@ -309,8 +309,6 @@ static void nv_nf2_freeze(struct ata_por
- static void nv_nf2_thaw(struct ata_port *ap);
- static void nv_ck804_freeze(struct ata_port *ap);
- static void nv_ck804_thaw(struct ata_port *ap);
--static int nv_hardreset(struct ata_link *link, unsigned int *class,
-- unsigned long deadline);
- static int nv_adma_slave_config(struct scsi_device *sdev);
- static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc);
- static void nv_adma_qc_prep(struct ata_queued_cmd *qc);
-@@ -407,7 +405,7 @@ static struct scsi_host_template nv_swnc
-
- static struct ata_port_operations nv_generic_ops = {
- .inherits = &ata_bmdma_port_ops,
-- .hardreset = nv_hardreset,
-+ .hardreset = ATA_OP_NULL,
- .scr_read = nv_scr_read,
- .scr_write = nv_scr_write,
- };
-@@ -1588,21 +1586,6 @@ static void nv_mcp55_thaw(struct ata_por
- ata_sff_thaw(ap);
- }
-
--static int nv_hardreset(struct ata_link *link, unsigned int *class,
-- unsigned long deadline)
--{
-- int rc;
--
-- /* SATA hardreset fails to retrieve proper device signature on
-- * some controllers. Request follow up SRST. For more info,
-- * see http://bugzilla.kernel.org/show_bug.cgi?id=3352
-- */
-- rc = sata_sff_hardreset(link, class, deadline);
-- if (rc)
-- return rc;
-- return -EAGAIN;
--}
--
- static void nv_adma_error_handler(struct ata_port *ap)
- {
- struct nv_adma_port_priv *pp = ap->private_data;