Re: [PATCH] pciehp: Retrieve link speed after link is trained

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(2011/11/03 6:05), Jesse Barnes wrote:
On Sun, 09 Oct 2011 00:06:06 -0700
Yinghai Lu<yinghai.lu@xxxxxxxxxx>  wrote:


During hot plug, board_added will call pciehp_power_on_slot().
But link speed is updated in pciehp_power_on_slot().

We should not update link speed there, because that is too early.

Move updating to pciehp_check_link_status() after making sure link is trained.

Signed-off-by: Yinghai Lu<yinghai.lu@xxxxxxxxxx>

---
  drivers/pci/hotplug/pciehp_hpc.c |   10 ++--------
  1 file changed, 2 insertions(+), 8 deletions(-)

Index: linux-2.6/drivers/pci/hotplug/pciehp_hpc.c
===================================================================
--- linux-2.6.orig/drivers/pci/hotplug/pciehp_hpc.c
+++ linux-2.6/drivers/pci/hotplug/pciehp_hpc.c
@@ -294,6 +294,8 @@ int pciehp_check_link_status(struct cont
  		return retval;
  	}

+	pcie_update_link_speed(ctrl->pcie->port->subordinate, lnk_status);
+
  	return retval;
  }

@@ -516,14 +518,6 @@ int pciehp_power_on_slot(struct slot * s
  	ctrl_dbg(ctrl, "%s: SLOTCTRL %x write cmd %x\n", __func__,
  		 pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, slot_cmd);

-	retval = pciehp_readw(ctrl, PCI_EXP_LNKSTA,&lnk_status);
-	if (retval) {
-		ctrl_err(ctrl, "%s: Cannot read LNKSTA register\n",
-				__func__);
-		return retval;
-	}
-	pcie_update_link_speed(ctrl->pcie->port->subordinate, lnk_status);
-
  	return retval;
  }

Kenji-san or Hidetoshi-san, would it be possible to get tested-bys and
reviewed-bys from you on this patch?

Thanks,

Looks good to me.
Reviewed-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>

Unfortunately, I don't have test environment right now. Maybe
I will be able to test it early next week.

Regards,
Kenji Kaneshige

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux