diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c
index c2dc9a525dea38257949f94e2a167938c5a6b919..002bac7438434f8eb240a891815e1223b55b7c5c 100644
--- a/drivers/net/sfc/efx.c
+++ b/drivers/net/sfc/efx.c
@@ -1153,6 +1153,9 @@ static int efx_wanted_channels(void)
 	int count;
 	int cpu;
 
+	if (rss_cpus)
+		return rss_cpus;
+
 	if (unlikely(!zalloc_cpumask_var(&core_mask, GFP_KERNEL))) {
 		printk(KERN_WARNING
 		       "sfc: RSS disabled due to allocation failure\n");