IB/hfi1: Do not enable disabled port on cable insert
Fix issue where a disabled port can be enabled by inserting a cable. The port should be explicitly enabled instead. Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Reviewed-by: Jakub Byczkowski <jakub.byczkowski@intel.com> Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
5efd40cad4
commit
96603ed865
@ -9306,12 +9306,6 @@ int start_link(struct hfi1_pportdata *ppd)
|
|||||||
*/
|
*/
|
||||||
tune_serdes(ppd);
|
tune_serdes(ppd);
|
||||||
|
|
||||||
if (!ppd->link_enabled) {
|
|
||||||
dd_dev_info(ppd->dd,
|
|
||||||
"%s: stopping link start because link is disabled\n",
|
|
||||||
__func__);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (!ppd->driver_link_ready) {
|
if (!ppd->driver_link_ready) {
|
||||||
dd_dev_info(ppd->dd,
|
dd_dev_info(ppd->dd,
|
||||||
"%s: stopping link start because driver is not ready\n",
|
"%s: stopping link start because driver is not ready\n",
|
||||||
@ -9529,6 +9523,13 @@ void qsfp_event(struct work_struct *work)
|
|||||||
if (!qsfp_mod_present(ppd))
|
if (!qsfp_mod_present(ppd))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (ppd->host_link_state == HLS_DN_DISABLE) {
|
||||||
|
dd_dev_info(ppd->dd,
|
||||||
|
"%s: stopping link start because link is disabled\n",
|
||||||
|
__func__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Turn DC back on after cable has been re-inserted. Up until
|
* Turn DC back on after cable has been re-inserted. Up until
|
||||||
* now, the DC has been in reset to save power.
|
* now, the DC has been in reset to save power.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user