summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci/port_config.c
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2014-04-30 13:22:22 +0100
committerBen Hutchings <ben@decadent.org.uk>2014-04-30 16:23:27 +0100
commit2e59f013993a74bf31366a59bcf36be830d0f058 (patch)
treed19404d7f246f82ca43dbce609789b61daf8b3ad /drivers/scsi/isci/port_config.c
parent53119558f7a2f8e6432e00d395748a431a0cb14e (diff)
Revert "isci: fix reset timeout handling"
This reverts commit 584ec12265192bf49dfa270d517380f6723a6956, which was commit ddfadd7736b677de2d4ca2cd5b4b655368c85a7a upstream. It causes boot failure on 3.2 although no such problem occurs upstream. Reported-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Acked-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/port_config.c')
-rw-r--r--drivers/scsi/isci/port_config.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/isci/port_config.c b/drivers/scsi/isci/port_config.c
index 21a676931a27..38a99d281141 100644
--- a/drivers/scsi/isci/port_config.c
+++ b/drivers/scsi/isci/port_config.c
@@ -610,6 +610,13 @@ static void sci_apc_agent_link_up(struct isci_host *ihost,
sci_apc_agent_configure_ports(ihost, port_agent, iphy, true);
} else {
/* the phy is already the part of the port */
+ u32 port_state = iport->sm.current_state_id;
+
+ /* if the PORT'S state is resetting then the link up is from
+ * port hard reset in this case, we need to tell the port
+ * that link up is recieved
+ */
+ BUG_ON(port_state != SCI_PORT_RESETTING);
port_agent->phy_ready_mask |= 1 << phy_index;
sci_port_link_up(iport, iphy);
}