diff --git a/share/man/man4/alc.4 b/share/man/man4/alc.4 --- a/share/man/man4/alc.4 +++ b/share/man/man4/alc.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 22, 2016 +.Dd May 28, 2025 .Dt ALC 4 .Os .Sh NAME @@ -136,11 +136,9 @@ The default value is 0. .It Va hw.alc.msix_disable This tunable disables MSI-X support on the Ethernet hardware. -The default value is 2, which means to enable or disable MSI-X based on the -card type; for "Killer" cards (E2x00) MSI-X will be disabled, while on other -cards it will be enabled. -Set this to 0 to force MSI-X to be enabled, or 1 to force it to be disabled -regardless of card type. +The default value is 1, since many AR81xx cards do not work with +MSI-x enabled. +Set this to 0 to force MSI-X to be enabled. .El .Sh SYSCTL VARIABLES The following variables are available as both diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c --- a/sys/dev/alc/if_alc.c +++ b/sys/dev/alc/if_alc.c @@ -94,11 +94,9 @@ TUNABLE_INT("hw.alc.msi_disable", &msi_disable); /* - * The default value of msix_disable is 2, which means to decide whether to - * enable MSI-X in alc_attach() depending on the card type. The operator can - * set this to 0 or 1 to override the default. + * Many AR81xx cards do not handle MSI-X properly, so disable it by default. */ -static int msix_disable = 2; +static int msix_disable = 1; TUNABLE_INT("hw.alc.msix_disable", &msix_disable); /* @@ -1416,14 +1414,6 @@ case DEVICEID_ATHEROS_E2400: case DEVICEID_ATHEROS_E2500: sc->alc_flags |= ALC_FLAG_E2X00; - - /* - * Disable MSI-X by default on Killer devices, since this is - * reported by several users to not work well. - */ - if (msix_disable == 2) - msix_disable = 1; - /* FALLTHROUGH */ case DEVICEID_ATHEROS_AR8161: if (pci_get_subvendor(dev) == VENDORID_ATHEROS && @@ -1454,13 +1444,6 @@ break; } - /* - * The default value of msix_disable is 2, which means auto-detect. If - * we didn't auto-detect it, default to enabling it. - */ - if (msix_disable == 2) - msix_disable = 0; - sc->alc_flags |= ALC_FLAG_JUMBO; /*