[PATCH] prism54: fix monitor mode oops
authorBjörn Steinbrink <B.Steinbrink@gmx.de>
Mon, 28 May 2007 01:43:39 +0000 (03:43 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 29 May 2007 15:16:34 +0000 (11:16 -0400)
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>
drivers/net/wireless/prism54/islpci_eth.c

index dd070cccf324a8effd3f1db02aca58a7f1d5ceb8..f49eb068c7d0ce232b9535d6d036bf64ae11222c 100644 (file)
@@ -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. */
        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);
                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.
                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.