net: add busy_poll device feature
[linux-2.6-microblaze.git] / net / core / dev.c
index 48d81e4..75e88e0 100644 (file)
@@ -3439,7 +3439,7 @@ out:
  *     @rx_handler: receive handler to register
  *     @rx_handler_data: data pointer that is used by rx handler
  *
- *     Register a receive hander for a device. This handler will then be
+ *     Register a receive handler for a device. This handler will then be
  *     called from __netif_receive_skb. A negative errno code is returned
  *     on a failure.
  *
@@ -4155,8 +4155,8 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
                        struct softnet_data *next = remsd->rps_ipi_next;
 
                        if (cpu_online(remsd->cpu))
-                               __smp_call_function_single(remsd->cpu,
-                                                          &remsd->csd, 0);
+                               smp_call_function_single_async(remsd->cpu,
+                                                          &remsd->csd);
                        remsd = next;
                }
        } else
@@ -5696,6 +5696,13 @@ static netdev_features_t netdev_fix_features(struct net_device *dev,
                }
        }
 
+#ifdef CONFIG_NET_RX_BUSY_POLL
+       if (dev->netdev_ops->ndo_busy_poll)
+               features |= NETIF_F_BUSY_POLL;
+       else
+#endif
+               features &= ~NETIF_F_BUSY_POLL;
+
        return features;
 }