|
@@ -604,7 +604,12 @@ static int efx_ptp_disable(struct efx_nic *efx)
|
|
rc = efx_mcdi_rpc_quiet(efx, MC_CMD_PTP, inbuf, sizeof(inbuf),
|
|
rc = efx_mcdi_rpc_quiet(efx, MC_CMD_PTP, inbuf, sizeof(inbuf),
|
|
outbuf, sizeof(outbuf), NULL);
|
|
outbuf, sizeof(outbuf), NULL);
|
|
rc = (rc == -EALREADY) ? 0 : rc;
|
|
rc = (rc == -EALREADY) ? 0 : rc;
|
|
- if (rc)
|
|
|
|
|
|
+ /* If we get ENOSYS, the NIC doesn't support PTP, and thus this function
|
|
|
|
+ * should only have been called during probe.
|
|
|
|
+ */
|
|
|
|
+ if (rc == -ENOSYS || rc == -EPERM)
|
|
|
|
+ netif_info(efx, probe, efx->net_dev, "no PTP support\n");
|
|
|
|
+ else if (rc)
|
|
efx_mcdi_display_error(efx, MC_CMD_PTP,
|
|
efx_mcdi_display_error(efx, MC_CMD_PTP,
|
|
MC_CMD_PTP_IN_DISABLE_LEN,
|
|
MC_CMD_PTP_IN_DISABLE_LEN,
|
|
outbuf, sizeof(outbuf), rc);
|
|
outbuf, sizeof(outbuf), rc);
|