Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5457a82 authored by Jeff Skirvin's avatar Jeff Skirvin Committed by Dan Williams
Browse files

isci: Change the phy control and link reset interface for HW reasons.



There is an apparent HW lockup caused when the PE is disabled while there
is an outstanding TC in progress.  This change puts the link into OOB to
force the TC to end before the PE is disabled.

Signed-off-by: default avatarJeff Skirvin <jeffrey.d.skirvin@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 8c731888
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1442,12 +1442,14 @@ int isci_phy_control(struct asd_sas_phy *sas_phy,
	switch (func) {
	case PHY_FUNC_DISABLE:
		spin_lock_irqsave(&ihost->scic_lock, flags);
		scu_link_layer_start_oob(iphy);
		sci_phy_stop(iphy);
		spin_unlock_irqrestore(&ihost->scic_lock, flags);
		break;

	case PHY_FUNC_LINK_RESET:
		spin_lock_irqsave(&ihost->scic_lock, flags);
		scu_link_layer_start_oob(iphy);
		sci_phy_stop(iphy);
		sci_phy_start(iphy);
		spin_unlock_irqrestore(&ihost->scic_lock, flags);