summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstsp <stsp@openbsd.org>2020-02-28 14:51:53 +0000
committerstsp <stsp@openbsd.org>2020-02-28 14:51:53 +0000
commitee72a585fa6180eb47aaaf6004ac77314e4ec4cd (patch)
treef76de20470b3d59ad39bcd026c2b955426f0f5b9
parentIn iwx(4) do not drop short control frames in monitor mode and do not (diff)
downloadwireguard-openbsd-ee72a585fa6180eb47aaaf6004ac77314e4ec4cd.tar.xz
wireguard-openbsd-ee72a585fa6180eb47aaaf6004ac77314e4ec4cd.zip
Let iwx(4) ignore RX_NO_DATA_NOTIF firmware messages; seen in monitor mode
-rw-r--r--sys/dev/pci/if_iwx.c5
-rw-r--r--sys/dev/pci/if_iwxreg.h3
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/pci/if_iwx.c b/sys/dev/pci/if_iwx.c
index f0095c54f5f..96d8089e985 100644
--- a/sys/dev/pci/if_iwx.c
+++ b/sys/dev/pci/if_iwx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwx.c,v 1.5 2020/02/28 14:18:47 stsp Exp $ */
+/* $OpenBSD: if_iwx.c,v 1.6 2020/02/28 14:51:53 stsp Exp $ */
/*
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
@@ -7175,6 +7175,9 @@ iwx_rx_pkt(struct iwx_softc *sc, struct iwx_rx_data *data, struct mbuf_list *ml)
IWX_NVM_ACCESS_COMPLETE):
break;
+ case IWX_WIDE_ID(IWX_DATA_PATH_GROUP, IWX_RX_NO_DATA_NOTIF):
+ break; /* happens in monitor mode; ignore for now */
+
default:
handled = 0;
printf("%s: unhandled firmware response 0x%x/0x%x "
diff --git a/sys/dev/pci/if_iwxreg.h b/sys/dev/pci/if_iwxreg.h
index d27823b64d5..bf3209c2d3b 100644
--- a/sys/dev/pci/if_iwxreg.h
+++ b/sys/dev/pci/if_iwxreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_iwxreg.h,v 1.1 2020/02/15 08:47:14 stsp Exp $ */
+/* $OpenBSD: if_iwxreg.h,v 1.2 2020/02/28 14:51:53 stsp Exp $ */
/*-
* Based on BSD-licensed source modules in the Linux iwlwifi driver,
@@ -1595,6 +1595,7 @@ struct iwx_tx_queue_cfg_rsp {
/* DATA_PATH group subcommand IDs */
#define IWX_DQA_ENABLE_CMD 0x00
+#define IWX_RX_NO_DATA_NOTIF 0xf5
/* REGULATORY_AND_NVM group subcommand IDs */
#define IWX_NVM_ACCESS_COMPLETE 0x00