summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2007-05-28 03:43:39 +0200
committerJohn W. Linville <linville@tuxdriver.com>2007-05-29 11:16:34 -0400
commit20c9d198731f440eaad6fafd00fe7ccfcd443a84 (patch)
tree10bc3ce87f5b5933b1aec038f5c8c9e9d4aa68c1
parentc420bc9f09a0926b708c3edb27eacba434a4f4ba (diff)
downloadlinux-3.10-20c9d198731f440eaad6fafd00fe7ccfcd443a84.tar.gz
linux-3.10-20c9d198731f440eaad6fafd00fe7ccfcd443a84.tar.bz2
linux-3.10-20c9d198731f440eaad6fafd00fe7ccfcd443a84.zip
[PATCH] prism54: fix monitor mode oops
Manually set the device of a skb for prism54 cards that are in monitor mode as we never call eth_type_trans in that case. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/prism54/islpci_eth.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/prism54/islpci_eth.c b/drivers/net/wireless/prism54/islpci_eth.c
index dd070cccf32..f49eb068c7d 100644
--- a/drivers/net/wireless/prism54/islpci_eth.c
+++ b/drivers/net/wireless/prism54/islpci_eth.c
@@ -378,9 +378,10 @@ islpci_eth_receive(islpci_private *priv)
display_buffer((char *) skb->data, skb->len);
#endif
/* take care of monitor mode and spy monitoring. */
- if (unlikely(priv->iw_mode == IW_MODE_MONITOR))
+ if (unlikely(priv->iw_mode == IW_MODE_MONITOR)) {
+ skb->dev = ndev;
discard = islpci_monitor_rx(priv, &skb);
- else {
+ } else {
if (unlikely(skb->data[2 * ETH_ALEN] == 0)) {
/* The packet has a rx_annex. Read it for spy monitoring, Then
* remove it, while keeping the 2 leading MAC addr.