sfc: Log all unexpected MCDI errors
authorEdward Cree <ecree@solarflare.com>
Fri, 31 May 2013 17:36:12 +0000 (18:36 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Thu, 12 Dec 2013 22:06:56 +0000 (22:06 +0000)
commit1e0b8120b2aef503f480b0e0182d7a7304acfb3d
tree67abe4f3dde3b2669ba7c4f655c3c211aa914120
parent8d13a377b8c2bc20a349b98443bb7e7c5970e991
sfc: Log all unexpected MCDI errors

Split each of efx_mcdi_rpc, efx_mcdi_rpc_finish, and efx_mcdi_rpc_async into
a normal and a _quiet version; made the former log MCDI errors with
netif_err (and include the raw MCDI error code), and the latter never log
them at all.  Changed various callers; any where some errors are expected
(but others are not) call the _quiet version and then if necessary log the
MCDI error themselves.  Said logging is done by new efx_mcdi_display_error.

Callers of efx_mcdi_rpc*_quiet functions which may want to log the error
need to ensure that their outbuf is big enough to hold an MCDI error; to
this end, they now use MCDI_DECLARE_BUF_OUT_OR_ERR, which always allocates
at least 8 bytes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/mcdi.c
drivers/net/ethernet/sfc/mcdi.h
drivers/net/ethernet/sfc/mcdi_port.c
drivers/net/ethernet/sfc/ptp.c