|
@@ -839,6 +839,28 @@ static irqreturn_t fm10k_msix_mbx_vf(int irq, void *data)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
|
+/**
|
|
|
+ * fm10k_netpoll - A Polling 'interrupt' handler
|
|
|
+ * @netdev: network interface device structure
|
|
|
+ *
|
|
|
+ * This is used by netconsole to send skbs without having to re-enable
|
|
|
+ * interrupts. It's not called while the normal interrupt routine is executing.
|
|
|
+ **/
|
|
|
+void fm10k_netpoll(struct net_device *netdev)
|
|
|
+{
|
|
|
+ struct fm10k_intfc *interface = netdev_priv(netdev);
|
|
|
+ int i;
|
|
|
+
|
|
|
+ /* if interface is down do nothing */
|
|
|
+ if (test_bit(__FM10K_DOWN, &interface->state))
|
|
|
+ return;
|
|
|
+
|
|
|
+ for (i = 0; i < interface->num_q_vectors; i++)
|
|
|
+ fm10k_msix_clean_rings(0, interface->q_vector[i]);
|
|
|
+}
|
|
|
+
|
|
|
+#endif
|
|
|
#define FM10K_ERR_MSG(type) case (type): error = #type; break
|
|
|
static void fm10k_print_fault(struct fm10k_intfc *interface, int type,
|
|
|
struct fm10k_fault *fault)
|