sfc: Return EBUSY for filter insertion on EF10, matching Falcon/Siena
authorBen Hutchings <bhutchings@solarflare.com>
Wed, 9 Oct 2013 13:17:27 +0000 (14:17 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Thu, 12 Dec 2013 22:07:00 +0000 (22:07 +0000)
The MC firmware will return error MC_CMD_ERR_ENOSPC if filter
insertion fails due to lack of resources.  The net driver's filter
implementation for Falcon-architecture returns EBUSY.  They should
behave consistently, so for EF10 change ENOSPC to EBUSY.

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

index 45af374..ca922b9 100644 (file)
@@ -2259,6 +2259,8 @@ static int efx_ef10_filter_push(struct efx_nic *efx,
                          outbuf, sizeof(outbuf), NULL);
        if (rc == 0)
                *handle = MCDI_QWORD(outbuf, FILTER_OP_OUT_HANDLE);
+       if (rc == -ENOSPC)
+               rc = -EBUSY; /* to match efx_farch_filter_insert() */
        return rc;
 }