Browse Source

sfc: Return EBUSY for filter insertion on EF10, matching Falcon/Siena

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>
Ben Hutchings 12 years ago
parent
commit
065e64c4b2
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/net/ethernet/sfc/ef10.c

+ 2 - 0
drivers/net/ethernet/sfc/ef10.c

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