These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / staging / wlan-ng / prism2sta.c
index ddb294e..c57f48a 100644 (file)
@@ -1,54 +1,54 @@
 /* src/prism2/driver/prism2sta.c
-*
-* Implements the station functionality for prism2
-*
-* Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
-* --------------------------------------------------------------------
-*
-* linux-wlan
-*
-*   The contents of this file are subject to the Mozilla Public
-*   License Version 1.1 (the "License"); you may not use this file
-*   except in compliance with the License. You may obtain a copy of
-*   the License at http://www.mozilla.org/MPL/
-*
-*   Software distributed under the License is distributed on an "AS
-*   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-*   implied. See the License for the specific language governing
-*   rights and limitations under the License.
-*
-*   Alternatively, the contents of this file may be used under the
-*   terms of the GNU Public License version 2 (the "GPL"), in which
-*   case the provisions of the GPL are applicable instead of the
-*   above.  If you wish to allow the use of your version of this file
-*   only under the terms of the GPL and not to allow others to use
-*   your version of this file under the MPL, indicate your decision
-*   by deleting the provisions above and replace them with the notice
-*   and other provisions required by the GPL.  If you do not delete
-*   the provisions above, a recipient may use your version of this
-*   file under either the MPL or the GPL.
-*
-* --------------------------------------------------------------------
-*
-* Inquiries regarding the linux-wlan Open Source project can be
-* made directly to:
-*
-* AbsoluteValue Systems Inc.
-* info@linux-wlan.com
-* http://www.linux-wlan.com
-*
-* --------------------------------------------------------------------
-*
-* Portions of the development of this software were funded by
-* Intersil Corporation as part of PRISM(R) chipset product development.
-*
-* --------------------------------------------------------------------
-*
-* This file implements the module and linux pcmcia routines for the
-* prism2 driver.
-*
-* --------------------------------------------------------------------
-*/
+ *
+ * Implements the station functionality for prism2
+ *
+ * Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
+ * --------------------------------------------------------------------
+ *
+ * linux-wlan
+ *
+ *   The contents of this file are subject to the Mozilla Public
+ *   License Version 1.1 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.mozilla.org/MPL/
+ *
+ *   Software distributed under the License is distributed on an "AS
+ *   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ *   implied. See the License for the specific language governing
+ *   rights and limitations under the License.
+ *
+ *   Alternatively, the contents of this file may be used under the
+ *   terms of the GNU Public License version 2 (the "GPL"), in which
+ *   case the provisions of the GPL are applicable instead of the
+ *   above.  If you wish to allow the use of your version of this file
+ *   only under the terms of the GPL and not to allow others to use
+ *   your version of this file under the MPL, indicate your decision
+ *   by deleting the provisions above and replace them with the notice
+ *   and other provisions required by the GPL.  If you do not delete
+ *   the provisions above, a recipient may use your version of this
+ *   file under either the MPL or the GPL.
+ *
+ * --------------------------------------------------------------------
+ *
+ * Inquiries regarding the linux-wlan Open Source project can be
+ * made directly to:
+ *
+ * AbsoluteValue Systems Inc.
+ * info@linux-wlan.com
+ * http://www.linux-wlan.com
+ *
+ * --------------------------------------------------------------------
+ *
+ * Portions of the development of this software were funded by
+ * Intersil Corporation as part of PRISM(R) chipset product development.
+ *
+ * --------------------------------------------------------------------
+ *
+ * This file implements the module and linux pcmcia routines for the
+ * prism2 driver.
+ *
+ * --------------------------------------------------------------------
+ */
 
 #include <linux/module.h>
 #include <linux/kernel.h>
@@ -130,27 +130,27 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
 static void prism2sta_inf_psusercnt(wlandevice_t *wlandev,
                                    hfa384x_InfFrame_t *inf);
 
-/*----------------------------------------------------------------
-* prism2sta_open
-*
-* WLAN device open method.  Called from p80211netdev when kernel
-* device open (start) method is called in response to the
-* SIOCSIIFFLAGS ioctl changing the flags bit IFF_UP
-* from clear to set.
-*
-* Arguments:
-     wlandev         wlan device structure
-*
-* Returns:
-     0       success
-     >0      f/w reported error
-     <0      driver reported error
-*
-* Side effects:
-*
-* Call context:
-     process thread
-----------------------------------------------------------------*/
+/*
+ * prism2sta_open
+ *
+ * WLAN device open method.  Called from p80211netdev when kernel
+ * device open (start) method is called in response to the
+ * SIOCSIIFFLAGS ioctl changing the flags bit IFF_UP
+ * from clear to set.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *
+ * Returns:
+ *     0       success
+ *     >0      f/w reported error
+ *     <0      driver reported error
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread
+ */
 static int prism2sta_open(wlandevice_t *wlandev)
 {
        /* We don't currently have to do anything else.
@@ -164,27 +164,27 @@ static int prism2sta_open(wlandevice_t *wlandev)
        return 0;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_close
-*
-* WLAN device close method.  Called from p80211netdev when kernel
-* device close method is called in response to the
-* SIOCSIIFFLAGS ioctl changing the flags bit IFF_UP
-* from set to clear.
-*
-* Arguments:
-     wlandev         wlan device structure
-*
-* Returns:
-     0       success
-     >0      f/w reported error
-     <0      driver reported error
-*
-* Side effects:
-*
-* Call context:
-     process thread
-----------------------------------------------------------------*/
+/*
+ * prism2sta_close
+ *
+ * WLAN device close method.  Called from p80211netdev when kernel
+ * device close method is called in response to the
+ * SIOCSIIFFLAGS ioctl changing the flags bit IFF_UP
+ * from set to clear.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *
+ * Returns:
+ *     0       success
+ *     >0      f/w reported error
+ *     <0      driver reported error
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread
+ */
 static int prism2sta_close(wlandevice_t *wlandev)
 {
        /* We don't currently have to do anything else.
@@ -196,48 +196,48 @@ static int prism2sta_close(wlandevice_t *wlandev)
        return 0;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_reset
-*
-* Currently not implemented.
-*
-* Arguments:
-     wlandev         wlan device structure
-     none
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     process thread
-----------------------------------------------------------------*/
+/*
+ * prism2sta_reset
+ *
+ * Currently not implemented.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     none
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread
+ */
 static void prism2sta_reset(wlandevice_t *wlandev)
 {
 }
 
-/*----------------------------------------------------------------
-* prism2sta_txframe
-*
-* Takes a frame from p80211 and queues it for transmission.
-*
-* Arguments:
-     wlandev         wlan device structure
-     pb              packet buffer struct.  Contains an 802.11
-                     data frame.
-*       p80211_hdr      points to the 802.11 header for the packet.
-* Returns:
-     0               Success and more buffs available
-     1               Success but no more buffs
-     2               Allocation failure
-     4               Buffer full or queue busy
-*
-* Side effects:
-*
-* Call context:
-     process thread
-----------------------------------------------------------------*/
+/*
+ * prism2sta_txframe
+ *
+ * Takes a frame from p80211 and queues it for transmission.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     pb              packet buffer struct.  Contains an 802.11
+ *                     data frame.
+ *       p80211_hdr      points to the 802.11 header for the packet.
+ * Returns:
+ *     0               Success and more buffs available
+ *     1               Success but no more buffs
+ *     2               Allocation failure
+ *     4               Buffer full or queue busy
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread
+ */
 static int prism2sta_txframe(wlandevice_t *wlandev, struct sk_buff *skb,
                             union p80211_hdr *p80211_hdr,
                             struct p80211_metawep *p80211_wep)
@@ -253,30 +253,30 @@ static int prism2sta_txframe(wlandevice_t *wlandev, struct sk_buff *skb,
        return hfa384x_drvr_txframe(hw, skb, p80211_hdr, p80211_wep);
 }
 
-/*----------------------------------------------------------------
-* prism2sta_mlmerequest
-*
-* wlan command message handler.  All we do here is pass the message
-* over to the prism2sta_mgmt_handler.
-*
-* Arguments:
-     wlandev         wlan device structure
-     msg             wlan command message
-* Returns:
-     0               success
-     <0              successful acceptance of message, but we're
-                     waiting for an async process to finish before
-                     we're done with the msg.  When the asynch
-                     process is done, we'll call the p80211
-                     function p80211req_confirm() .
-     >0              An error occurred while we were handling
-                     the message.
-*
-* Side effects:
-*
-* Call context:
-     process thread
-----------------------------------------------------------------*/
+/*
+ * prism2sta_mlmerequest
+ *
+ * wlan command message handler.  All we do here is pass the message
+ * over to the prism2sta_mgmt_handler.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     msg             wlan command message
+ * Returns:
+ *     0               success
+ *     <0              successful acceptance of message, but we're
+ *                     waiting for an async process to finish before
+ *                     we're done with the msg.  When the asynch
+ *                     process is done, we'll call the p80211
+ *                     function p80211req_confirm() .
+ *     >0              An error occurred while we were handling
+ *                     the message.
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread
+ */
 static int prism2sta_mlmerequest(wlandevice_t *wlandev, struct p80211msg *msg)
 {
        hfa384x_t *hw = (hfa384x_t *) wlandev->priv;
@@ -386,27 +386,27 @@ static int prism2sta_mlmerequest(wlandevice_t *wlandev, struct p80211msg *msg)
        return result;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_ifstate
-*
-* Interface state.  This is the primary WLAN interface enable/disable
-* handler.  Following the driver/load/deviceprobe sequence, this
-* function must be called with a state of "enable" before any other
-* commands will be accepted.
-*
-* Arguments:
-     wlandev         wlan device structure
-     msgp            ptr to msg buffer
-*
-* Returns:
-     A p80211 message resultcode value.
-*
-* Side effects:
-*
-* Call context:
-     process thread  (usually)
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_ifstate
+ *
+ * Interface state.  This is the primary WLAN interface enable/disable
+ * handler.  Following the driver/load/deviceprobe sequence, this
+ * function must be called with a state of "enable" before any other
+ * commands will be accepted.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     msgp            ptr to msg buffer
+ *
+ * Returns:
+ *     A p80211 message resultcode value.
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread  (usually)
+ *     interrupt
+ */
 u32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate)
 {
        hfa384x_t *hw = (hfa384x_t *) wlandev->priv;
@@ -428,7 +428,8 @@ u32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate)
                        result = hfa384x_drvr_start(hw);
                        if (result) {
                                netdev_err(wlandev->netdev,
-                                      "hfa384x_drvr_start() failed,result=%d\n", (int)result);
+                                          "hfa384x_drvr_start() failed,result=%d\n",
+                                          (int)result);
                                result =
                                 P80211ENUM_resultcode_implementation_failure;
                                wlandev->msdstate = WLAN_MSD_HWPRESENT;
@@ -471,7 +472,8 @@ u32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate)
                        result = hfa384x_drvr_start(hw);
                        if (result) {
                                netdev_err(wlandev->netdev,
-                                      "hfa384x_drvr_start() failed,result=%d\n", (int)result);
+                                          "hfa384x_drvr_start() failed,result=%d\n",
+                                          (int)result);
                                result =
                                  P80211ENUM_resultcode_implementation_failure;
                                wlandev->msdstate = WLAN_MSD_HWPRESENT;
@@ -481,7 +483,8 @@ u32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate)
                        result = prism2sta_getcardinfo(wlandev);
                        if (result) {
                                netdev_err(wlandev->netdev,
-                                      "prism2sta_getcardinfo() failed,result=%d\n", (int)result);
+                                          "prism2sta_getcardinfo() failed,result=%d\n",
+                                          (int)result);
                                result =
                                  P80211ENUM_resultcode_implementation_failure;
                                hfa384x_drvr_stop(hw);
@@ -491,7 +494,8 @@ u32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate)
                        result = prism2sta_globalsetup(wlandev);
                        if (result) {
                                netdev_err(wlandev->netdev,
-                                      "prism2sta_globalsetup() failed,result=%d\n", (int)result);
+                                          "prism2sta_globalsetup() failed,result=%d\n",
+                                          (int)result);
                                result =
                                  P80211ENUM_resultcode_implementation_failure;
                                hfa384x_drvr_stop(hw);
@@ -557,25 +561,25 @@ u32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate)
        return result;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_getcardinfo
-*
-* Collect the NICID, firmware version and any other identifiers
-* we'd like to have in host-side data structures.
-*
-* Arguments:
-     wlandev         wlan device structure
-*
-* Returns:
-     0       success
-     >0      f/w reported error
-     <0      driver reported error
-*
-* Side effects:
-*
-* Call context:
-     Either.
-----------------------------------------------------------------*/
+/*
+ * prism2sta_getcardinfo
+ *
+ * Collect the NICID, firmware version and any other identifiers
+ * we'd like to have in host-side data structures.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *
+ * Returns:
+ *     0       success
+ *     >0      f/w reported error
+ *     <0      driver reported error
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     Either.
+ */
 static int prism2sta_getcardinfo(wlandevice_t *wlandev)
 {
        int result = 0;
@@ -673,7 +677,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, modem interface supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_sup_mfi.role = le16_to_cpu(hw->cap_sup_mfi.role);
        hw->cap_sup_mfi.id = le16_to_cpu(hw->cap_sup_mfi.id);
        hw->cap_sup_mfi.variant = le16_to_cpu(hw->cap_sup_mfi.variant);
@@ -696,7 +701,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, controller interface supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_sup_cfi.role = le16_to_cpu(hw->cap_sup_cfi.role);
        hw->cap_sup_cfi.id = le16_to_cpu(hw->cap_sup_cfi.id);
        hw->cap_sup_cfi.variant = le16_to_cpu(hw->cap_sup_cfi.variant);
@@ -719,7 +725,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, primary firmware supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_sup_pri.role = le16_to_cpu(hw->cap_sup_pri.role);
        hw->cap_sup_pri.id = le16_to_cpu(hw->cap_sup_pri.id);
        hw->cap_sup_pri.variant = le16_to_cpu(hw->cap_sup_pri.variant);
@@ -742,7 +749,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, station firmware supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_sup_sta.role = le16_to_cpu(hw->cap_sup_sta.role);
        hw->cap_sup_sta.id = le16_to_cpu(hw->cap_sup_sta.id);
        hw->cap_sup_sta.variant = le16_to_cpu(hw->cap_sup_sta.variant);
@@ -773,7 +781,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, primary f/w actor, CFI supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_act_pri_cfi.role = le16_to_cpu(hw->cap_act_pri_cfi.role);
        hw->cap_act_pri_cfi.id = le16_to_cpu(hw->cap_act_pri_cfi.id);
        hw->cap_act_pri_cfi.variant = le16_to_cpu(hw->cap_act_pri_cfi.variant);
@@ -796,7 +805,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, station f/w actor, CFI supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_act_sta_cfi.role = le16_to_cpu(hw->cap_act_sta_cfi.role);
        hw->cap_act_sta_cfi.id = le16_to_cpu(hw->cap_act_sta_cfi.id);
        hw->cap_act_sta_cfi.variant = le16_to_cpu(hw->cap_act_sta_cfi.variant);
@@ -819,7 +829,8 @@ static int prism2sta_getcardinfo(wlandevice_t *wlandev)
        }
 
        /* get all the Compatibility range, station f/w actor, MFI supplier
-          fields in byte order */
+        * fields in byte order
+        */
        hw->cap_act_sta_mfi.role = le16_to_cpu(hw->cap_act_sta_mfi.role);
        hw->cap_act_sta_mfi.id = le16_to_cpu(hw->cap_act_sta_mfi.id);
        hw->cap_act_sta_mfi.variant = le16_to_cpu(hw->cap_act_sta_mfi.variant);
@@ -880,24 +891,24 @@ done:
        return result;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_globalsetup
-*
-* Set any global RIDs that we want to set at device activation.
-*
-* Arguments:
-     wlandev         wlan device structure
-*
-* Returns:
-     0       success
-     >0      f/w reported error
-     <0      driver reported error
-*
-* Side effects:
-*
-* Call context:
-     process thread
-----------------------------------------------------------------*/
+/*
+ * prism2sta_globalsetup
+ *
+ * Set any global RIDs that we want to set at device activation.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *
+ * Returns:
+ *     0       success
+ *     >0      f/w reported error
+ *     <0      driver reported error
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     process thread
+ */
 static int prism2sta_globalsetup(wlandevice_t *wlandev)
 {
        hfa384x_t *hw = (hfa384x_t *) wlandev->priv;
@@ -930,47 +941,47 @@ exit:
        return result;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_handover
-*
-* Handles the receipt of a Handover info frame. Should only be present
-* in APs only.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_handover
+ *
+ * Handles the receipt of a Handover info frame. Should only be present
+ * in APs only.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_handover(wlandevice_t *wlandev,
                                   hfa384x_InfFrame_t *inf)
 {
        pr_debug("received infoframe:HANDOVER (unhandled)\n");
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_tallies
-*
-* Handles the receipt of a CommTallies info frame.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_tallies
+ *
+ * Handles the receipt of a CommTallies info frame.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_tallies(wlandevice_t *wlandev,
                                  hfa384x_InfFrame_t *inf)
 {
@@ -982,8 +993,8 @@ static void prism2sta_inf_tallies(wlandevice_t *wlandev,
        int cnt;
 
        /*
-        ** Determine if these are 16-bit or 32-bit tallies, based on the
-        ** record length of the info record.
+        * Determine if these are 16-bit or 32-bit tallies, based on the
+        * record length of the info record.
         */
 
        cnt = sizeof(hfa384x_CommTallies32_t) / sizeof(u32);
@@ -1000,23 +1011,23 @@ static void prism2sta_inf_tallies(wlandevice_t *wlandev,
        }
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_scanresults
-*
-* Handles the receipt of a Scan Results info frame.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_scanresults
+ *
+ * Handles the receipt of a Scan Results info frame.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_scanresults(wlandevice_t *wlandev,
                                      hfa384x_InfFrame_t *inf)
 {
@@ -1056,23 +1067,23 @@ static void prism2sta_inf_scanresults(wlandevice_t *wlandev,
        }
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_hostscanresults
-*
-* Handles the receipt of a Scan Results info frame.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_hostscanresults
+ *
+ * Handles the receipt of a Scan Results info frame.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_hostscanresults(wlandevice_t *wlandev,
                                          hfa384x_InfFrame_t *inf)
 {
@@ -1097,23 +1108,23 @@ static void prism2sta_inf_hostscanresults(wlandevice_t *wlandev,
        wake_up_interruptible(&hw->cmdq);
 };
 
-/*----------------------------------------------------------------
-* prism2sta_inf_chinforesults
-*
-* Handles the receipt of a Channel Info Results info frame.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_chinforesults
+ *
+ * Handles the receipt of a Channel Info Results info frame.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_chinforesults(wlandevice_t *wlandev,
                                        hfa384x_InfFrame_t *inf)
 {
@@ -1244,9 +1255,9 @@ void prism2sta_processing_defer(struct work_struct *data)
                                     HFA384x_RID_CURRENTSSID, result);
                                return;
                        }
-                       prism2mgmt_bytestr2pstr((struct hfa384x_bytestr *) &ssid,
-                                               (p80211pstrd_t *) &
-                                               wlandev->ssid);
+                       prism2mgmt_bytestr2pstr(
+                                       (struct hfa384x_bytestr *) &ssid,
+                                       (p80211pstrd_t *) &wlandev->ssid);
 
                        /* Collect the port status */
                        result = hfa384x_drvr_getconfig16(hw,
@@ -1410,23 +1421,23 @@ void prism2sta_processing_defer(struct work_struct *data)
        wlandev->linkstatus = (hw->link_status == HFA384x_LINK_CONNECTED);
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_linkstatus
-*
-* Handles the receipt of a Link Status info frame.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_linkstatus
+ *
+ * Handles the receipt of a Link Status info frame.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_linkstatus(wlandevice_t *wlandev,
                                     hfa384x_InfFrame_t *inf)
 {
@@ -1437,24 +1448,24 @@ static void prism2sta_inf_linkstatus(wlandevice_t *wlandev,
        schedule_work(&hw->link_bh);
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_assocstatus
-*
-* Handles the receipt of an Association Status info frame. Should
-* be present in APs only.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_assocstatus
+ *
+ * Handles the receipt of an Association Status info frame. Should
+ * be present in APs only.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_assocstatus(wlandevice_t *wlandev,
                                      hfa384x_InfFrame_t *inf)
 {
@@ -1467,19 +1478,19 @@ static void prism2sta_inf_assocstatus(wlandevice_t *wlandev,
        rec.reason = le16_to_cpu(rec.reason);
 
        /*
-        ** Find the address in the list of authenticated stations.
-        ** If it wasn't found, then this address has not been previously
-        ** authenticated and something weird has happened if this is
-        ** anything other than an "authentication failed" message.
-        ** If the address was found, then set the "associated" flag for
-        ** that station, based on whether the station is associating or
-        ** losing its association.  Something weird has also happened
-        ** if we find the address in the list of authenticated stations
-        ** but we are getting an "authentication failed" message.
+        * Find the address in the list of authenticated stations.
+        * If it wasn't found, then this address has not been previously
+        * authenticated and something weird has happened if this is
+        * anything other than an "authentication failed" message.
+        * If the address was found, then set the "associated" flag for
+        * that station, based on whether the station is associating or
+        * losing its association.  Something weird has also happened
+        * if we find the address in the list of authenticated stations
+        * but we are getting an "authentication failed" message.
         */
 
        for (i = 0; i < hw->authlist.cnt; i++)
-               if (memcmp(rec.sta_addr, hw->authlist.addr[i], ETH_ALEN) == 0)
+               if (ether_addr_equal(rec.sta_addr, hw->authlist.addr[i]))
                        break;
 
        if (i >= hw->authlist.cnt) {
@@ -1497,25 +1508,25 @@ static void prism2sta_inf_assocstatus(wlandevice_t *wlandev,
        }
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_authreq
-*
-* Handles the receipt of an Authentication Request info frame. Should
-* be present in APs only.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-*
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_authreq
+ *
+ * Handles the receipt of an Authentication Request info frame. Should
+ * be present in APs only.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ *
+ */
 static void prism2sta_inf_authreq(wlandevice_t *wlandev,
                                  hfa384x_InfFrame_t *inf)
 {
@@ -1541,28 +1552,28 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        u8 *addr;
 
        /*
-        ** Build the AuthenticateStation record.  Initialize it for denying
-        ** authentication.
+        * Build the AuthenticateStation record.  Initialize it for denying
+        * authentication.
         */
 
        ether_addr_copy(rec.address, inf->info.authreq.sta_addr);
        rec.status = P80211ENUM_status_unspec_failure;
 
        /*
-        ** Authenticate based on the access mode.
+        * Authenticate based on the access mode.
         */
 
        switch (hw->accessmode) {
        case WLAN_ACCESS_NONE:
 
                /*
-                ** Deny all new authentications.  However, if a station
-                ** is ALREADY authenticated, then accept it.
+                * Deny all new authentications.  However, if a station
+                * is ALREADY authenticated, then accept it.
                 */
 
                for (i = 0; i < hw->authlist.cnt; i++)
-                       if (memcmp(rec.address, hw->authlist.addr[i],
-                                  ETH_ALEN) == 0) {
+                       if (ether_addr_equal(rec.address,
+                                            hw->authlist.addr[i])) {
                                rec.status = P80211ENUM_status_successful;
                                break;
                        }
@@ -1572,7 +1583,7 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        case WLAN_ACCESS_ALL:
 
                /*
-                ** Allow all authentications.
+                * Allow all authentications.
                 */
 
                rec.status = P80211ENUM_status_successful;
@@ -1581,13 +1592,13 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        case WLAN_ACCESS_ALLOW:
 
                /*
-                ** Only allow the authentication if the MAC address
-                ** is in the list of allowed addresses.
-                **
-                ** Since this is the interrupt handler, we may be here
-                ** while the access list is in the middle of being
-                ** updated.  Choose the list which is currently okay.
-                ** See "prism2mib_priv_accessallow()" for details.
+                * Only allow the authentication if the MAC address
+                * is in the list of allowed addresses.
+                *
+                * Since this is the interrupt handler, we may be here
+                * while the access list is in the middle of being
+                * updated.  Choose the list which is currently okay.
+                * See "prism2mib_priv_accessallow()" for details.
                 */
 
                if (hw->allow.modify == 0) {
@@ -1599,7 +1610,7 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
                }
 
                for (i = 0; i < cnt; i++, addr += ETH_ALEN)
-                       if (memcmp(rec.address, addr, ETH_ALEN) == 0) {
+                       if (ether_addr_equal(rec.address, addr)) {
                                rec.status = P80211ENUM_status_successful;
                                break;
                        }
@@ -1609,13 +1620,13 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        case WLAN_ACCESS_DENY:
 
                /*
-                ** Allow the authentication UNLESS the MAC address is
-                ** in the list of denied addresses.
-                **
-                ** Since this is the interrupt handler, we may be here
-                ** while the access list is in the middle of being
-                ** updated.  Choose the list which is currently okay.
-                ** See "prism2mib_priv_accessdeny()" for details.
+                * Allow the authentication UNLESS the MAC address is
+                * in the list of denied addresses.
+                *
+                * Since this is the interrupt handler, we may be here
+                * while the access list is in the middle of being
+                * updated.  Choose the list which is currently okay.
+                * See "prism2mib_priv_accessdeny()" for details.
                 */
 
                if (hw->deny.modify == 0) {
@@ -1629,7 +1640,7 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
                rec.status = P80211ENUM_status_successful;
 
                for (i = 0; i < cnt; i++, addr += ETH_ALEN)
-                       if (memcmp(rec.address, addr, ETH_ALEN) == 0) {
+                       if (ether_addr_equal(rec.address, addr)) {
                                rec.status = P80211ENUM_status_unspec_failure;
                                break;
                        }
@@ -1638,28 +1649,29 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        }
 
        /*
-        ** If the authentication is okay, then add the MAC address to the
-        ** list of authenticated stations.  Don't add the address if it
-        ** is already in the list. (802.11b does not seem to disallow
-        ** a station from issuing an authentication request when the
-        ** station is already authenticated. Does this sort of thing
-        ** ever happen?  We might as well do the check just in case.)
+        * If the authentication is okay, then add the MAC address to the
+        * list of authenticated stations.  Don't add the address if it
+        * is already in the list. (802.11b does not seem to disallow
+        * a station from issuing an authentication request when the
+        * station is already authenticated. Does this sort of thing
+        * ever happen?  We might as well do the check just in case.)
         */
 
        added = 0;
 
        if (rec.status == P80211ENUM_status_successful) {
                for (i = 0; i < hw->authlist.cnt; i++)
-                       if (memcmp(rec.address, hw->authlist.addr[i], ETH_ALEN)
-                           == 0)
+                       if (ether_addr_equal(rec.address,
+                                            hw->authlist.addr[i]))
                                break;
 
                if (i >= hw->authlist.cnt) {
                        if (hw->authlist.cnt >= WLAN_AUTH_MAX) {
                                rec.status = P80211ENUM_status_ap_full;
                        } else {
-                               ether_addr_copy(hw->authlist.addr[hw->authlist.cnt],
-                                               rec.address);
+                               ether_addr_copy(
+                                       hw->authlist.addr[hw->authlist.cnt],
+                                       rec.address);
                                hw->authlist.cnt++;
                                added = 1;
                        }
@@ -1667,9 +1679,9 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        }
 
        /*
-        ** Send back the results of the authentication.  If this doesn't work,
-        ** then make sure to remove the address from the authenticated list if
-        ** it was added.
+        * Send back the results of the authentication.  If this doesn't work,
+        * then make sure to remove the address from the authenticated list if
+        * it was added.
         */
 
        rec.status = cpu_to_le16(rec.status);
@@ -1686,24 +1698,24 @@ static void prism2sta_inf_authreq_defer(wlandevice_t *wlandev,
        }
 }
 
-/*----------------------------------------------------------------
-* prism2sta_inf_psusercnt
-*
-* Handles the receipt of a PowerSaveUserCount info frame. Should
-* be present in APs only.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to info frame (contents in hfa384x order)
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_inf_psusercnt
+ *
+ * Handles the receipt of a PowerSaveUserCount info frame. Should
+ * be present in APs only.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to info frame (contents in hfa384x order)
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 static void prism2sta_inf_psusercnt(wlandevice_t *wlandev,
                                    hfa384x_InfFrame_t *inf)
 {
@@ -1712,23 +1724,23 @@ static void prism2sta_inf_psusercnt(wlandevice_t *wlandev,
        hw->psusercount = le16_to_cpu(inf->info.psusercnt.usercnt);
 }
 
-/*----------------------------------------------------------------
-* prism2sta_ev_info
-*
-* Handles the Info event.
-*
-* Arguments:
-     wlandev         wlan device structure
-     inf             ptr to a generic info frame
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_ev_info
+ *
+ * Handles the Info event.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     inf             ptr to a generic info frame
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 void prism2sta_ev_info(wlandevice_t *wlandev, hfa384x_InfFrame_t *inf)
 {
        inf->infotype = le16_to_cpu(inf->infotype);
@@ -1777,46 +1789,46 @@ void prism2sta_ev_info(wlandevice_t *wlandev, hfa384x_InfFrame_t *inf)
        }
 }
 
-/*----------------------------------------------------------------
-* prism2sta_ev_txexc
-*
-* Handles the TxExc event.  A Transmit Exception event indicates
-* that the MAC's TX process was unsuccessful - so the packet did
-* not get transmitted.
-*
-* Arguments:
-     wlandev         wlan device structure
-     status          tx frame status word
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_ev_txexc
+ *
+ * Handles the TxExc event.  A Transmit Exception event indicates
+ * that the MAC's TX process was unsuccessful - so the packet did
+ * not get transmitted.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     status          tx frame status word
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 void prism2sta_ev_txexc(wlandevice_t *wlandev, u16 status)
 {
        pr_debug("TxExc status=0x%x.\n", status);
 }
 
-/*----------------------------------------------------------------
-* prism2sta_ev_tx
-*
-* Handles the Tx event.
-*
-* Arguments:
-     wlandev         wlan device structure
-     status          tx frame status word
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_ev_tx
+ *
+ * Handles the Tx event.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *     status          tx frame status word
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 void prism2sta_ev_tx(wlandevice_t *wlandev, u16 status)
 {
        pr_debug("Tx Complete, status=0x%04x\n", status);
@@ -1824,49 +1836,49 @@ void prism2sta_ev_tx(wlandevice_t *wlandev, u16 status)
        wlandev->netdev->stats.tx_packets++;
 }
 
-/*----------------------------------------------------------------
-* prism2sta_ev_rx
-*
-* Handles the Rx event.
-*
-* Arguments:
-     wlandev         wlan device structure
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_ev_rx
+ *
+ * Handles the Rx event.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 void prism2sta_ev_rx(wlandevice_t *wlandev, struct sk_buff *skb)
 {
        p80211netdev_rx(wlandev, skb);
 }
 
-/*----------------------------------------------------------------
-* prism2sta_ev_alloc
-*
-* Handles the Alloc event.
-*
-* Arguments:
-     wlandev         wlan device structure
-*
-* Returns:
-     nothing
-*
-* Side effects:
-*
-* Call context:
-     interrupt
-----------------------------------------------------------------*/
+/*
+ * prism2sta_ev_alloc
+ *
+ * Handles the Alloc event.
+ *
+ * Arguments:
+ *     wlandev         wlan device structure
+ *
+ * Returns:
+ *     nothing
+ *
+ * Side effects:
+ *
+ * Call context:
+ *     interrupt
+ */
 void prism2sta_ev_alloc(wlandevice_t *wlandev)
 {
        netif_wake_queue(wlandev->netdev);
 }
 
-/*----------------------------------------------------------------
+/*
 * create_wlan
 *
 * Called at module init time.  This creates the wlandevice_t structure
@@ -1884,7 +1896,7 @@ void prism2sta_ev_alloc(wlandevice_t *wlandev)
 * Call context:
 *      process thread
 *
-----------------------------------------------------------------*/
+*/
 static wlandevice_t *create_wlan(void)
 {
        wlandevice_t *wlandev = NULL;