|
@@ -51,7 +51,7 @@ static int efx_mcdi_set_mac(struct efx_nic *efx)
|
|
|
NULL, 0, NULL);
|
|
|
}
|
|
|
|
|
|
-static int efx_mcdi_get_mac_faults(struct efx_nic *efx, u32 *faults)
|
|
|
+bool efx_mcdi_mac_check_fault(struct efx_nic *efx)
|
|
|
{
|
|
|
u8 outbuf[MC_CMD_GET_LINK_OUT_LEN];
|
|
|
size_t outlength;
|
|
@@ -61,16 +61,13 @@ static int efx_mcdi_get_mac_faults(struct efx_nic *efx, u32 *faults)
|
|
|
|
|
|
rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0,
|
|
|
outbuf, sizeof(outbuf), &outlength);
|
|
|
- if (rc)
|
|
|
- goto fail;
|
|
|
-
|
|
|
- *faults = MCDI_DWORD(outbuf, GET_LINK_OUT_MAC_FAULT);
|
|
|
- return 0;
|
|
|
+ if (rc) {
|
|
|
+ netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n",
|
|
|
+ __func__, rc);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
-fail:
|
|
|
- netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n",
|
|
|
- __func__, rc);
|
|
|
- return rc;
|
|
|
+ return MCDI_DWORD(outbuf, GET_LINK_OUT_MAC_FAULT) != 0;
|
|
|
}
|
|
|
|
|
|
int efx_mcdi_mac_stats(struct efx_nic *efx, dma_addr_t dma_addr,
|
|
@@ -127,11 +124,3 @@ int efx_mcdi_mac_reconfigure(struct efx_nic *efx)
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-bool efx_mcdi_mac_check_fault(struct efx_nic *efx)
|
|
|
-{
|
|
|
- u32 faults;
|
|
|
- int rc = efx_mcdi_get_mac_faults(efx, &faults);
|
|
|
- return (rc != 0) || (faults != 0);
|
|
|
-}
|