Module Name: src Committed By: knakahara Date: Thu Mar 8 02:39:42 UTC 2018
Modified Files: src/sys/dev/pci/ixgbe: ixgbe.c Log Message: Fix INTx/MSI handler did not schedule workqueue. Pointed out by msaitoh@n.o. To generate a diff of this commit: cvs rdiff -u -r1.131 -r1.132 src/sys/dev/pci/ixgbe/ixgbe.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/ixgbe/ixgbe.c diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.131 src/sys/dev/pci/ixgbe/ixgbe.c:1.132 --- src/sys/dev/pci/ixgbe/ixgbe.c:1.131 Wed Mar 7 11:18:29 2018 +++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Mar 8 02:39:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ixgbe.c,v 1.131 2018/03/07 11:18:29 knakahara Exp $ */ +/* $NetBSD: ixgbe.c,v 1.132 2018/03/08 02:39:42 knakahara Exp $ */ /****************************************************************************** @@ -4725,7 +4725,16 @@ ixgbe_legacy_irq(void *arg) if (more) { que->req.ev_count++; - softint_schedule(que->que_si); + if (adapter->txrx_use_workqueue) { + /* + * "enqueued flag" is not required here. + * See ixgbe_msix_que(). + */ + workqueue_enqueue(adapter->que_wq, &que->wq_cookie, + curcpu()); + } else { + softint_schedule(que->que_si); + } } else ixgbe_enable_intr(adapter);