]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge branch 'opw-next' into staging-next
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Nov 2013 22:28:31 +0000 (14:28 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Nov 2013 22:28:31 +0000 (14:28 -0800)
This pulls in all of the staging patches applied during the opw
application process, and some other staging patches that were submitted
during that period of time.  All of these are for 3.14-rc1.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
221 files changed:
drivers/staging/android/alarm-dev.c
drivers/staging/android/sync.h
drivers/staging/bcm/Bcmchar.c
drivers/staging/bcm/DDRInit.c
drivers/staging/ced1401/ced_ioc.c
drivers/staging/comedi/comedi_buf.c
drivers/staging/comedi/comedi_fops.c
drivers/staging/comedi/comedi_internal.h
drivers/staging/comedi/comedidev.h
drivers/staging/comedi/drivers.c
drivers/staging/comedi/drivers/amplc_dio200_common.c
drivers/staging/comedi/drivers/mite.c
drivers/staging/comedi/drivers/pcl818.c
drivers/staging/comedi/kcomedilib/kcomedilib_main.c
drivers/staging/comedi/proc.c
drivers/staging/crystalhd/crystalhd_cmds.c
drivers/staging/cxt1e1/comet.c
drivers/staging/cxt1e1/comet.h
drivers/staging/cxt1e1/functions.c
drivers/staging/cxt1e1/musycc.c
drivers/staging/cxt1e1/pmcc4_drv.c
drivers/staging/cxt1e1/pmcc4_private.h
drivers/staging/cxt1e1/sbeid.c
drivers/staging/dgrp/dgrp_net_ops.c
drivers/staging/dwc2/hcd_queue.c
drivers/staging/dwc2/platform.c
drivers/staging/ft1000/ft1000-pcmcia/boot.h
drivers/staging/ft1000/ft1000-usb/ft1000_download.c
drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
drivers/staging/ft1000/ft1000-usb/ft1000_proc.c
drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
drivers/staging/ft1000/ft1000-usb/ft1000_usb.h
drivers/staging/gdm724x/gdm_lte.c
drivers/staging/gdm724x/gdm_mux.c
drivers/staging/imx-drm/imx-drm-core.c
drivers/staging/imx-drm/imx-ldb.c
drivers/staging/keucr/smil.h
drivers/staging/keucr/smilmain.c
drivers/staging/keucr/smilsub.c
drivers/staging/keucr/smscsi.c
drivers/staging/lustre/include/linux/libcfs/curproc.h
drivers/staging/lustre/include/linux/libcfs/libcfs_ioctl.h
drivers/staging/lustre/include/linux/libcfs/linux/kp30.h
drivers/staging/lustre/include/linux/lnet/types.h
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_modparams.c
drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
drivers/staging/lustre/lnet/klnds/socklnd/socklnd.h
drivers/staging/lustre/lnet/klnds/socklnd/socklnd_lib-linux.c
drivers/staging/lustre/lnet/klnds/socklnd/socklnd_modparams.c
drivers/staging/lustre/lnet/lnet/router_proc.c
drivers/staging/lustre/lnet/selftest/conctl.c
drivers/staging/lustre/lnet/selftest/conrpc.c
drivers/staging/lustre/lnet/selftest/console.c
drivers/staging/lustre/lnet/selftest/console.h
drivers/staging/lustre/lustre/fld/fld_request.c
drivers/staging/lustre/lustre/include/cl_object.h
drivers/staging/lustre/lustre/include/linux/lustre_intent.h
drivers/staging/lustre/lustre/include/lu_target.h [deleted file]
drivers/staging/lustre/lustre/include/lustre/liblustreapi.h [deleted file]
drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
drivers/staging/lustre/lustre/include/lustre/lustre_user.h
drivers/staging/lustre/lustre/include/lustre/lustreapi.h [deleted file]
drivers/staging/lustre/lustre/include/lustre_dlm_flags.h
drivers/staging/lustre/lustre/include/lustre_lib.h
drivers/staging/lustre/lustre/include/lustre_net.h
drivers/staging/lustre/lustre/lclient/lcommon_cl.c
drivers/staging/lustre/lustre/ldlm/ldlm_lock.c
drivers/staging/lustre/lustre/ldlm/ldlm_lockd.c
drivers/staging/lustre/lustre/ldlm/ldlm_request.c
drivers/staging/lustre/lustre/ldlm/ldlm_resource.c
drivers/staging/lustre/lustre/libcfs/linux/linux-curproc.c
drivers/staging/lustre/lustre/libcfs/linux/linux-proc.c
drivers/staging/lustre/lustre/libcfs/nidstrings.c
drivers/staging/lustre/lustre/llite/file.c
drivers/staging/lustre/lustre/llite/llite_internal.h
drivers/staging/lustre/lustre/llite/llite_lib.c
drivers/staging/lustre/lustre/llite/namei.c
drivers/staging/lustre/lustre/llite/vvp_io.c
drivers/staging/lustre/lustre/lov/lov_io.c
drivers/staging/lustre/lustre/lov/lov_pack.c
drivers/staging/lustre/lustre/lov/lproc_lov.c
drivers/staging/lustre/lustre/lvfs/fsfilt_ext3.c [deleted file]
drivers/staging/lustre/lustre/mdc/mdc_internal.h
drivers/staging/lustre/lustre/mdc/mdc_lib.c
drivers/staging/lustre/lustre/mdc/mdc_locks.c
drivers/staging/lustre/lustre/mgc/mgc_request.c
drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
drivers/staging/lustre/lustre/obdclass/llog.c
drivers/staging/lustre/lustre/obdclass/local_storage.c
drivers/staging/lustre/lustre/obdecho/echo_client.c
drivers/staging/lustre/lustre/osc/osc_request.c
drivers/staging/lustre/lustre/ptlrpc/Makefile
drivers/staging/lustre/lustre/ptlrpc/client.c
drivers/staging/lustre/lustre/ptlrpc/events.c
drivers/staging/lustre/lustre/ptlrpc/gss/gss_asn1.h
drivers/staging/lustre/lustre/ptlrpc/gss/gss_err.h
drivers/staging/lustre/lustre/ptlrpc/gss/gss_keyring.c
drivers/staging/lustre/lustre/ptlrpc/gss/gss_krb5_mech.c
drivers/staging/lustre/lustre/ptlrpc/gss/sec_gss.c
drivers/staging/lustre/lustre/ptlrpc/import.c
drivers/staging/lustre/lustre/ptlrpc/layout.c
drivers/staging/lustre/lustre/ptlrpc/llog_client.c
drivers/staging/lustre/lustre/ptlrpc/llog_server.c [deleted file]
drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c
drivers/staging/lustre/lustre/ptlrpc/niobuf.c
drivers/staging/lustre/lustre/ptlrpc/pack_generic.c
drivers/staging/lustre/lustre/ptlrpc/pinger.c
drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h
drivers/staging/lustre/lustre/ptlrpc/ptlrpc_module.c
drivers/staging/lustre/lustre/ptlrpc/service.c
drivers/staging/lustre/lustre/ptlrpc/wiretest.c
drivers/staging/media/davinci_vpfe/dm365_ipipe.c
drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c
drivers/staging/media/go7007/go7007-fw.c
drivers/staging/media/go7007/saa7134-go7007.c
drivers/staging/media/lirc/lirc_igorplugusb.c
drivers/staging/media/lirc/lirc_imon.c
drivers/staging/media/lirc/lirc_serial.c
drivers/staging/media/lirc/lirc_zilog.c
drivers/staging/nvec/nvec.c
drivers/staging/olpc_dcon/olpc_dcon.c
drivers/staging/ozwpan/ozeltbuf.c
drivers/staging/ozwpan/ozproto.c
drivers/staging/rtl8187se/ieee80211/dot11d.c
drivers/staging/rtl8187se/ieee80211/dot11d.h
drivers/staging/rtl8187se/ieee80211/ieee80211.h
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt.c
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_ccmp.c
drivers/staging/rtl8187se/ieee80211/ieee80211_crypt_tkip.c
drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac_wx.c
drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c
drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c
drivers/staging/rtl8187se/r8180.h
drivers/staging/rtl8187se/r8180_core.c
drivers/staging/rtl8187se/r8180_dm.h
drivers/staging/rtl8187se/r8180_rtl8225.h
drivers/staging/rtl8187se/r8180_wx.c
drivers/staging/rtl8187se/r8185b_init.c
drivers/staging/rtl8188eu/core/rtw_io.c
drivers/staging/rtl8188eu/core/rtw_mlme_ext.c
drivers/staging/rtl8188eu/core/rtw_xmit.c
drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
drivers/staging/rtl8188eu/os_dep/osdep_service.c
drivers/staging/rtl8188eu/os_dep/usb_intf.c
drivers/staging/rtl8192e/dot11d.c
drivers/staging/rtl8192e/dot11d.h
drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
drivers/staging/rtl8192e/rtl8192e/rtl_cam.c
drivers/staging/rtl8192e/rtl8192e/rtl_core.c
drivers/staging/rtl8192e/rtl8192e/rtl_core.h
drivers/staging/rtl8192e/rtl819x_BAProc.c
drivers/staging/rtl8192e/rtllib_crypt_ccmp.c
drivers/staging/rtl8192e/rtllib_crypt_tkip.c
drivers/staging/rtl8192e/rtllib_crypt_wep.c
drivers/staging/rtl8192e/rtllib_module.c
drivers/staging/rtl8192e/rtllib_rx.c
drivers/staging/rtl8192e/rtllib_softmac.c
drivers/staging/rtl8192e/rtllib_tx.c
drivers/staging/silicom/bypasslib/bypass.c
drivers/staging/speakup/main.c
drivers/staging/speakup/serialio.c
drivers/staging/speakup/serialio.h
drivers/staging/tidspbridge/pmgr/cmm.c
drivers/staging/tidspbridge/pmgr/dbll.c
drivers/staging/tidspbridge/pmgr/dev.c
drivers/staging/tidspbridge/pmgr/dmm.c
drivers/staging/tidspbridge/pmgr/dspapi.c
drivers/staging/usbip/stub_rx.c
drivers/staging/usbip/usbip_common.c
drivers/staging/usbip/vhci_hcd.c
drivers/staging/vt6655/baseband.c
drivers/staging/vt6655/bssdb.c
drivers/staging/vt6655/card.c
drivers/staging/vt6655/channel.c
drivers/staging/vt6655/datarate.c
drivers/staging/vt6655/device_main.c
drivers/staging/vt6655/dpc.c
drivers/staging/vt6655/hostap.c
drivers/staging/vt6655/iwctl.c
drivers/staging/vt6655/key.c
drivers/staging/vt6655/mac.c
drivers/staging/vt6655/power.c
drivers/staging/vt6655/rf.c
drivers/staging/vt6655/rxtx.c
drivers/staging/vt6655/vntwifi.c
drivers/staging/vt6655/wcmd.c
drivers/staging/vt6655/wctl.c
drivers/staging/vt6655/wmgr.c
drivers/staging/vt6655/wpa.c
drivers/staging/vt6655/wpa2.c
drivers/staging/vt6655/wpactl.c
drivers/staging/vt6656/aes_ccmp.c
drivers/staging/vt6656/baseband.c
drivers/staging/vt6656/bssdb.c
drivers/staging/vt6656/card.c
drivers/staging/vt6656/datarate.c
drivers/staging/vt6656/device.h
drivers/staging/vt6656/dpc.c
drivers/staging/vt6656/main_usb.c
drivers/staging/vt6656/rf.c
drivers/staging/vt6656/rndis.h
drivers/staging/vt6656/rxtx.c
drivers/staging/vt6656/tkip.c
drivers/staging/vt6656/wcmd.c
drivers/staging/vt6656/wmgr.c
drivers/staging/vt6656/wpa.c
drivers/staging/vt6656/wpa2.c
drivers/staging/winbond/mds.c
drivers/staging/wlags49_h2/sta_h25.c
drivers/staging/wlan-ng/cfg80211.c
drivers/staging/wlan-ng/hfa384x.h
drivers/staging/wlan-ng/prism2mgmt.c
drivers/staging/wlan-ng/prism2mgmt.h
drivers/staging/wlan-ng/prism2mib.c
drivers/staging/wlan-ng/prism2sta.c

index 647694f43dcf12fe9c30c300674f128569f79780..2fc7cdd4c4e3b5f117f20cafe796b61c43396ba9 100644 (file)
@@ -68,11 +68,10 @@ static struct devalarm alarms[ANDROID_ALARM_TYPE_COUNT];
  */
 static int is_wakeup(enum android_alarm_type type)
 {
-       return (type == ANDROID_ALARM_RTC_WAKEUP ||
-               type == ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP);
+       return type == ANDROID_ALARM_RTC_WAKEUP ||
+               type == ANDROID_ALARM_ELAPSED_REALTIME_WAKEUP;
 }
 
-
 static void devalarm_start(struct devalarm *alrm, ktime_t exp)
 {
        if (is_wakeup(alrm->type))
@@ -111,7 +110,6 @@ static void alarm_clear(enum android_alarm_type alarm_type)
        }
        alarm_enabled &= ~alarm_type_mask;
        spin_unlock_irqrestore(&alarm_slock, flags);
-
 }
 
 static void alarm_set(enum android_alarm_type alarm_type,
@@ -280,6 +278,7 @@ static long alarm_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 
        return 0;
 }
+
 #ifdef CONFIG_COMPAT
 static long alarm_compat_ioctl(struct file *file, unsigned int cmd,
                                                        unsigned long arg)
@@ -371,7 +370,6 @@ static void devalarm_triggered(struct devalarm *alarm)
        spin_unlock_irqrestore(&alarm_slock, flags);
 }
 
-
 static enum hrtimer_restart devalarm_hrthandler(struct hrtimer *hrt)
 {
        struct devalarm *devalrm = container_of(hrt, struct devalarm, u.hrt);
index 38ea986dc70f84dc72c38918f3a3b07d26e75ff4..62e2255b1c1e2c1a4bc52da6e90f50fa09c35cc7 100644 (file)
@@ -28,7 +28,7 @@ struct sync_fence;
 
 /**
  * struct sync_timeline_ops - sync object implementation ops
- * @driver_name:       name of the implentation
+ * @driver_name:       name of the implementation
  * @dup:               duplicate a sync_pt
  * @has_signaled:      returns:
  *                       1 if pt has signaled
@@ -37,12 +37,12 @@ struct sync_fence;
  * @compare:           returns:
  *                       1 if b will signal before a
  *                       0 if a and b will signal at the same time
- *                      -1 if a will signabl before b
+ *                      -1 if a will signal before b
  * @free_pt:           called before sync_pt is freed
  * @release_obj:       called before sync_timeline is freed
  * @print_obj:         deprecated
  * @print_pt:          deprecated
- * @fill_driver_data:  write implmentation specific driver data to data.
+ * @fill_driver_data:  write implementation specific driver data to data.
  *                       should return an error if there is not enough room
  *                       as specified by size.  This information is returned
  *                       to userspace by SYNC_IOC_FENCE_INFO.
@@ -88,9 +88,9 @@ struct sync_timeline_ops {
 /**
  * struct sync_timeline - sync object
  * @kref:              reference count on fence.
- * @ops:               ops that define the implementaiton of the sync_timeline
+ * @ops:               ops that define the implementation of the sync_timeline
  * @name:              name of the sync_timeline. Useful for debugging
- * @destoryed:         set when sync_timeline is destroyed
+ * @destroyed:         set when sync_timeline is destroyed
  * @child_list_head:   list of children sync_pts for this sync_timeline
  * @child_list_lock:   lock protecting @child_list_head, destroyed, and
  *                       sync_pt.status
@@ -119,12 +119,12 @@ struct sync_timeline {
  * @parent:            sync_timeline to which this sync_pt belongs
  * @child_list:                membership in sync_timeline.child_list_head
  * @active_list:       membership in sync_timeline.active_list_head
- * @signaled_list:     membership in temorary signaled_list on stack
+ * @signaled_list:     membership in temporary signaled_list on stack
  * @fence:             sync_fence to which the sync_pt belongs
  * @pt_list:           membership in sync_fence.pt_list_head
  * @status:            1: signaled, 0:active, <0: error
  * @timestamp:         time which sync_pt status transitioned from active to
- *                       singaled or error.
+ *                       signaled or error.
  */
 struct sync_pt {
        struct sync_timeline            *parent;
@@ -145,9 +145,9 @@ struct sync_pt {
 /**
  * struct sync_fence - sync fence
  * @file:              file representing this fence
- * @kref:              referenace count on fence.
+ * @kref:              reference count on fence.
  * @name:              name of sync_fence.  Useful for debugging
- * @pt_list_head:      list of sync_pts in ths fence.  immutable once fence
+ * @pt_list_head:      list of sync_pts in the fence.  immutable once fence
  *                       is created
  * @waiter_list_head:  list of asynchronous waiters on this fence
  * @waiter_list_lock:  lock protecting @waiter_list_head and @status
@@ -201,23 +201,23 @@ static inline void sync_fence_waiter_init(struct sync_fence_waiter *waiter,
 
 /**
  * sync_timeline_create() - creates a sync object
- * @ops:       specifies the implemention ops for the object
+ * @ops:       specifies the implementation ops for the object
  * @size:      size to allocate for this obj
  * @name:      sync_timeline name
  *
- * Creates a new sync_timeline which will use the implemetation specified by
- * @ops.  @size bytes will be allocated allowing for implemntation specific
- * data to be kept after the generic sync_timeline stuct.
+ * Creates a new sync_timeline which will use the implementation specified by
+ * @ops.  @size bytes will be allocated allowing for implementation specific
+ * data to be kept after the generic sync_timeline struct.
  */
 struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops,
                                           int size, const char *name);
 
 /**
- * sync_timeline_destory() - destorys a sync object
+ * sync_timeline_destroy() - destroys a sync object
  * @obj:       sync_timeline to destroy
  *
- * A sync implemntation should call this when the @obj is going away
- * (i.e. module unload.)  @obj won't actually be freed until all its childern
+ * A sync implementation should call this when the @obj is going away
+ * (i.e. module unload.)  @obj won't actually be freed until all its children
  * sync_pts are freed.
  */
 void sync_timeline_destroy(struct sync_timeline *obj);
@@ -226,7 +226,7 @@ void sync_timeline_destroy(struct sync_timeline *obj);
  * sync_timeline_signal() - signal a status change on a sync_timeline
  * @obj:       sync_timeline to signal
  *
- * A sync implemntation should call this any time one of it's sync_pts
+ * A sync implementation should call this any time one of it's sync_pts
  * has signaled or has an error condition.
  */
 void sync_timeline_signal(struct sync_timeline *obj);
@@ -236,8 +236,8 @@ void sync_timeline_signal(struct sync_timeline *obj);
  * @parent:    sync_pt's parent sync_timeline
  * @size:      size to allocate for this pt
  *
- * Creates a new sync_pt as a chiled of @parent.  @size bytes will be
- * allocated allowing for implemntation specific data to be kept after
+ * Creates a new sync_pt as a child of @parent.  @size bytes will be
+ * allocated allowing for implementation specific data to be kept after
  * the generic sync_timeline struct.
  */
 struct sync_pt *sync_pt_create(struct sync_timeline *parent, int size);
@@ -287,7 +287,7 @@ struct sync_fence *sync_fence_merge(const char *name,
 struct sync_fence *sync_fence_fdget(int fd);
 
 /**
- * sync_fence_put() - puts a refernnce of a sync fence
+ * sync_fence_put() - puts a reference of a sync fence
  * @fence:     fence to put
  *
  * Puts a reference on @fence.  If this is the last reference, the fence and
@@ -297,7 +297,7 @@ void sync_fence_put(struct sync_fence *fence);
 
 /**
  * sync_fence_install() - installs a fence into a file descriptor
- * @fence:     fence to instal
+ * @fence:     fence to install
  * @fd:                file descriptor in which to install the fence
  *
  * Installs @fence into @fd.  @fd's should be acquired through get_unused_fd().
@@ -359,10 +359,10 @@ struct sync_merge_data {
  * struct sync_pt_info - detailed sync_pt information
  * @len:               length of sync_pt_info including any driver_data
  * @obj_name:          name of parent sync_timeline
- * @driver_name:       name of driver implmenting the parent
+ * @driver_name:       name of driver implementing the parent
  * @status:            status of the sync_pt 0:active 1:signaled <0:error
  * @timestamp_ns:      timestamp of status change in nanoseconds
- * @driver_data:       any driver dependant data
+ * @driver_data:       any driver dependent data
  */
 struct sync_pt_info {
        __u32   len;
@@ -377,7 +377,7 @@ struct sync_pt_info {
 /**
  * struct sync_fence_info_data - data returned from fence info ioctl
  * @len:       ioctl caller writes the size of the buffer its passing in.
- *             ioctl returns length of sync_fence_data reutnred to userspace
+ *             ioctl returns length of sync_fence_data returned to userspace
  *             including pt_info.
  * @name:      name of fence
  * @status:    status of fence. 1: signaled 0:active <0:error
@@ -418,7 +418,7 @@ struct sync_fence_info_data {
  * pt_info.
  *
  * pt_info is a buffer containing sync_pt_infos for every sync_pt in the fence.
- * To itterate over the sync_pt_infos, use the sync_pt_info.len field.
+ * To iterate over the sync_pt_infos, use the sync_pt_info.len field.
  */
 #define SYNC_IOC_FENCE_INFO    _IOWR(SYNC_IOC_MAGIC, 2,\
        struct sync_fence_info_data)
index 87b74ca84c42154eac8c8715deea37f5b20aa5ce..62415342ee288dcd5420ec19b74c440efdcb1db9 100644 (file)
@@ -160,7 +160,9 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
        struct bcm_ioctl_buffer IoBuffer;
        int bytes;
 
-       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Parameters Passed to control IOCTL cmd=0x%X arg=0x%lX", cmd, arg);
+       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL,
+                       "Parameters Passed to control IOCTL cmd=0x%X arg=0x%lX",
+                       cmd, arg);
 
        if (_IOC_TYPE(cmd) != BCM_IOCTL)
                return -EFAULT;
@@ -266,7 +268,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                                (uiTempVar == EEPROM_REJECT_REG_3) ||
                                (uiTempVar == EEPROM_REJECT_REG_4))) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "EEPROM Access Denied, not in VSG Mode\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                       "EEPROM Access Denied, not in VSG Mode\n");
                        return -EFAULT;
                }
 
@@ -274,9 +277,11 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                                (PUINT)sWrmBuffer.Data, sizeof(ULONG));
 
                if (Status == STATUS_SUCCESS) {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "WRM Done\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL, "WRM Done\n");
                } else {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "WRM Failed\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL, "WRM Failed\n");
                        Status = -EFAULT;
                }
                break;
@@ -291,7 +296,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                        (Adapter->bShutStatus == TRUE) ||
                        (Adapter->bPreparingForLowPowerMode == TRUE)) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "Device in Idle Mode, Blocking Rdms\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                       "Device in Idle Mode, Blocking Rdms\n");
                        return -EACCES;
                }
 
@@ -317,7 +323,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                if ((((ULONG)sRdmBuffer.Register & 0x0F000000) != 0x0F000000) ||
                        ((ULONG)sRdmBuffer.Register & 0x3)) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "RDM Done On invalid Address : %x Access Denied.\n",
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                       "RDM Done On invalid Address : %x Access Denied.\n",
                                        (int)sRdmBuffer.Register);
 
                        kfree(temp_buff);
@@ -325,7 +332,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                }
 
                uiTempVar = sRdmBuffer.Register & EEPROM_REJECT_MASK;
-               bytes = rdmaltWithLock(Adapter, (UINT)sRdmBuffer.Register, (PUINT)temp_buff, IoBuffer.OutputLength);
+               bytes = rdmaltWithLock(Adapter, (UINT)sRdmBuffer.Register,
+                                      (PUINT)temp_buff, IoBuffer.OutputLength);
 
                if (bytes > 0) {
                        Status = STATUS_SUCCESS;
@@ -349,7 +357,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                        (Adapter->bShutStatus == TRUE) ||
                        (Adapter->bPreparingForLowPowerMode == TRUE)) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "Device in Idle Mode, Blocking Wrms\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                       "Device in Idle Mode, Blocking Wrms\n");
                        return -EACCES;
                }
 
@@ -367,7 +376,9 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                if ((((ULONG)sWrmBuffer.Register & 0x0F000000) != 0x0F000000) ||
                        ((ULONG)sWrmBuffer.Register & 0x3)) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "WRM Done On invalid Address : %x Access Denied.\n", (int)sWrmBuffer.Register);
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                       "WRM Done On invalid Address : %x Access Denied.\n",
+                                       (int)sWrmBuffer.Register);
                        return -EINVAL;
                }
 
@@ -379,17 +390,21 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                                (uiTempVar == EEPROM_REJECT_REG_4)) &&
                                (cmd == IOCTL_BCM_REGISTER_WRITE)) {
 
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "EEPROM Access Denied, not in VSG Mode\n");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                               "EEPROM Access Denied, not in VSG Mode\n");
                                return -EFAULT;
                }
 
                Status = wrmaltWithLock(Adapter, (UINT)sWrmBuffer.Register,
-                                       (PUINT)sWrmBuffer.Data, sWrmBuffer.Length);
+                                       (PUINT)sWrmBuffer.Data,
+                                       sWrmBuffer.Length);
 
                if (Status == STATUS_SUCCESS) {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, OSAL_DBG, DBG_LVL_ALL, "WRM Done\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, OSAL_DBG,
+                                       DBG_LVL_ALL, "WRM Done\n");
                } else {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "WRM Failed\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL, "WRM Failed\n");
                        Status = -EFAULT;
                }
                break;
@@ -405,7 +420,9 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                        (Adapter->bShutStatus == TRUE) ||
                        (Adapter->bPreparingForLowPowerMode == TRUE)) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "GPIO Can't be set/clear in Low power Mode");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL,
+                                       "GPIO Can't be set/clear in Low power Mode");
                        return -EACCES;
                }
 
@@ -423,7 +440,10 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                value = (1<<uiBit);
 
                if (IsReqGpioIsLedInNVM(Adapter, value) == false) {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Sorry, Requested GPIO<0x%X> is not correspond to LED !!!", value);
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL,
+                                       "Sorry, Requested GPIO<0x%X> is not correspond to LED !!!",
+                                       value);
                        Status = -EINVAL;
                        break;
                }
@@ -431,27 +451,42 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                /* Set - setting 1 */
                if (uiOperation) {
                        /* Set the gpio output register */
-                       Status = wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_SET_REG, (PUINT)(&value), sizeof(UINT));
+                       Status = wrmaltWithLock(Adapter,
+                                               BCM_GPIO_OUTPUT_SET_REG,
+                                               (PUINT)(&value), sizeof(UINT));
 
                        if (Status == STATUS_SUCCESS) {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Set the GPIO bit\n");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS,
+                                               OSAL_DBG, DBG_LVL_ALL,
+                                               "Set the GPIO bit\n");
                        } else {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Failed to set the %dth GPIO\n", uiBit);
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS,
+                                               OSAL_DBG, DBG_LVL_ALL,
+                                               "Failed to set the %dth GPIO\n",
+                                               uiBit);
                                break;
                        }
                } else {
                        /* Set the gpio output register */
-                       Status = wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_CLR_REG, (PUINT)(&value), sizeof(UINT));
+                       Status = wrmaltWithLock(Adapter,
+                                               BCM_GPIO_OUTPUT_CLR_REG,
+                                               (PUINT)(&value), sizeof(UINT));
 
                        if (Status == STATUS_SUCCESS) {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Set the GPIO bit\n");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS,
+                                               OSAL_DBG, DBG_LVL_ALL,
+                                               "Set the GPIO bit\n");
                        } else {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Failed to clear the %dth GPIO\n", uiBit);
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS,
+                                               OSAL_DBG, DBG_LVL_ALL,
+                                               "Failed to clear the %dth GPIO\n",
+                                               uiBit);
                                break;
                        }
                }
 
-               bytes = rdmaltWithLock(Adapter, (UINT)GPIO_MODE_REGISTER, (PUINT)ucResetValue, sizeof(UINT));
+               bytes = rdmaltWithLock(Adapter, (UINT)GPIO_MODE_REGISTER,
+                                      (PUINT)ucResetValue, sizeof(UINT));
                if (bytes < 0) {
                        Status = bytes;
                        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL,
@@ -467,9 +502,13 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                                        (PUINT)ucResetValue, sizeof(UINT));
 
                if (Status == STATUS_SUCCESS) {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Set the GPIO to output Mode\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL,
+                                       "Set the GPIO to output Mode\n");
                } else {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Failed to put GPIO in Output Mode\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL,
+                                       "Failed to put GPIO in Output Mode\n");
                        break;
                }
        }
@@ -477,13 +516,16 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
 
        case BCM_LED_THREAD_STATE_CHANGE_REQ: {
                struct bcm_user_thread_req threadReq = {0};
-               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "User made LED thread InActive");
+               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL,
+                               "User made LED thread InActive");
 
                if ((Adapter->IdleMode == TRUE) ||
                        (Adapter->bShutStatus == TRUE) ||
                        (Adapter->bPreparingForLowPowerMode == TRUE)) {
 
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "GPIO Can't be set/clear in Low power Mode");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL,
+                                       "GPIO Can't be set/clear in Low power Mode");
                        Status = -EACCES;
                        break;
                }
@@ -500,10 +542,14 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                /* if LED thread is running(Actively or Inactively) set it state to make inactive */
                if (Adapter->LEDInfo.led_thread_running) {
                        if (threadReq.ThreadState == LED_THREAD_ACTIVATION_REQ) {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "Activating thread req");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS,
+                                               OSAL_DBG, DBG_LVL_ALL,
+                                               "Activating thread req");
                                Adapter->DriverState = LED_THREAD_ACTIVE;
                        } else {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL, "DeActivating Thread req.....");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS,
+                                               OSAL_DBG, DBG_LVL_ALL,
+                                               "DeActivating Thread req.....");
                                Adapter->DriverState = LED_THREAD_INACTIVE;
                        }
 
@@ -540,7 +586,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
 
                if (bytes < 0) {
                        Status = bytes;
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "RDM Failed\n");
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                       "RDM Failed\n");
                        return Status;
                } else {
                        Status = STATUS_SUCCESS;
@@ -570,9 +617,11 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                        return -EFAULT;
 
                if (IsReqGpioIsLedInNVM(Adapter, pgpio_multi_info[WIMAX_IDX].uiGPIOMask) == false) {
-                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG, DBG_LVL_ALL,
+                       BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, OSAL_DBG,
+                                       DBG_LVL_ALL,
                                        "Sorry, Requested GPIO<0x%X> is not correspond to NVM LED bit map<0x%X>!!!",
-                                       pgpio_multi_info[WIMAX_IDX].uiGPIOMask, Adapter->gpioBitMap);
+                                       pgpio_multi_info[WIMAX_IDX].uiGPIOMask,
+                                       Adapter->gpioBitMap);
                        Status = -EINVAL;
                        break;
                }
@@ -590,7 +639,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                                                        (PUINT)ucResetValue, sizeof(ULONG));
 
                        if (Status != STATUS_SUCCESS) {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "WRM to BCM_GPIO_OUTPUT_SET_REG Failed.");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                               "WRM to BCM_GPIO_OUTPUT_SET_REG Failed.");
                                return Status;
                        }
 
@@ -603,7 +653,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
                                Status = wrmaltWithLock(Adapter, BCM_GPIO_OUTPUT_CLR_REG, (PUINT)ucResetValue, sizeof(ULONG));
 
                        if (Status != STATUS_SUCCESS) {
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "WRM to BCM_GPIO_OUTPUT_CLR_REG Failed.");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                               "WRM to BCM_GPIO_OUTPUT_CLR_REG Failed.");
                                return Status;
                        }
                }
@@ -613,7 +664,8 @@ static long bcm_char_ioctl(struct file *filp, UINT cmd, ULONG arg)
 
                        if (bytes < 0) {
                                Status = bytes;
-                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "RDM to GPIO_PIN_STATE_REGISTER Failed.");
+                               BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
+                                               "RDM to GPIO_PIN_STATE_REGISTER Failed.");
                                return Status;
                        } else {
                                Status = STATUS_SUCCESS;
@@ -1190,7 +1242,7 @@ cntrlEnd:
                break;
 
        case IOCTL_BCM_CAL_INIT: {
-               UINT uiSectorSize = 0 ;
+               UINT uiSectorSize = 0;
                if (Adapter->eNVMType == NVM_FLASH) {
                        if (copy_from_user(&IoBuffer, argp, sizeof(struct bcm_ioctl_buffer)))
                                return -EFAULT;
@@ -1403,7 +1455,7 @@ cntrlEnd:
 
        case IOCTL_BCM_FLASH2X_SECTION_READ: {
                struct bcm_flash2x_readwrite sFlash2xRead = {0};
-               PUCHAR pReadBuff = NULL ;
+               PUCHAR pReadBuff = NULL;
                UINT NOB = 0;
                UINT BuffSize = 0;
                UINT ReadBytes = 0;
@@ -1438,7 +1490,7 @@ cntrlEnd:
                else
                        BuffSize = NOB;
 
-               ReadOffset = sFlash2xRead.offset ;
+               ReadOffset = sFlash2xRead.offset;
                OutPutBuff = IoBuffer.OutputBuffer;
                pReadBuff = (PCHAR)kzalloc(BuffSize , GFP_KERNEL);
 
@@ -1483,7 +1535,7 @@ cntrlEnd:
                        NOB = NOB - ReadBytes;
                        if (NOB) {
                                ReadOffset = ReadOffset + ReadBytes;
-                               OutPutBuff = OutPutBuff + ReadBytes ;
+                               OutPutBuff = OutPutBuff + ReadBytes;
                        }
                }
 
@@ -1538,7 +1590,7 @@ cntrlEnd:
                if (NOB > Adapter->uiSectorSize)
                        BuffSize = Adapter->uiSectorSize;
                else
-                       BuffSize = NOB ;
+                       BuffSize = NOB;
 
                pWriteBuff = kmalloc(BuffSize, GFP_KERNEL);
 
@@ -1841,10 +1893,10 @@ cntrlEnd:
 
        case IOCTL_BCM_NVM_RAW_READ: {
                struct bcm_nvm_readwrite stNVMRead;
-               INT NOB ;
-               INT BuffSize ;
+               INT NOB;
+               INT BuffSize;
                INT ReadOffset = 0;
-               UINT ReadBytes = 0 ;
+               UINT ReadBytes = 0;
                PUCHAR pReadBuff;
                void __user *OutPutBuff;
 
index 9f7e30f637eaff41d0f0128fd315cd5f5ce3960f..6bddf723e06a0ff55075ce0f3b0e79d7d3fc1df3 100644 (file)
 
     //DDR INIT-133Mhz
 #define T3_SKIP_CLOCK_PROGRAM_DUMP_133MHZ 12  //index for 0x0F007000
-static struct bcm_ddr_setting asT3_DDRSetting133MHz[]= {//      # DPLL Clock Setting
-                                        {0x0F000800,0x00007212},
-                                        {0x0f000820,0x07F13FFF},
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000860,0x00000000},
-                                        {0x0f000880,0x000003DD},
+static struct bcm_ddr_setting asT3_DDRSetting133MHz[] = {//      # DPLL Clock Setting
+                                        {0x0F000800, 0x00007212},
+                                        {0x0f000820, 0x07F13FFF},
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000860, 0x00000000},
+                                        {0x0f000880, 0x000003DD},
                                         // Changed source for X-bar and MIPS clock to APLL
-                                        {0x0f000840,0x0FFF1B00},
-                                        {0x0f000870,0x00000002},
-                                        {0x0F00a044,0x1fffffff},
-                                        {0x0F00a040,0x1f000000},
-                                        {0x0F00a084,0x1Cffffff},
-                                        {0x0F00a080,0x1C000000},
-                                        {0x0F00a04C,0x0000000C},
+                                        {0x0f000840, 0x0FFF1B00},
+                                        {0x0f000870, 0x00000002},
+                                        {0x0F00a044, 0x1fffffff},
+                                        {0x0F00a040, 0x1f000000},
+                                        {0x0F00a084, 0x1Cffffff},
+                                        {0x0F00a080, 0x1C000000},
+                                        {0x0F00a04C, 0x0000000C},
                                         //Memcontroller Default values
-                                        {0x0F007000,0x00010001},
-                                        {0x0F007004,0x01010100},
-                                        {0x0F007008,0x01000001},
-                                        {0x0F00700c,0x00000000},
-                                        {0x0F007010,0x01000000},
-                                        {0x0F007014,0x01000100},
-                                        {0x0F007018,0x01000000},
-                                        {0x0F00701c,0x01020001},// POP - 0x00020001 Normal 0x01020001
-                                        {0x0F007020,0x04030107}, //Normal - 0x04030107 POP - 0x05030107
-                                        {0x0F007024,0x02000007},
-                                        {0x0F007028,0x02020202},
-                                        {0x0F00702c,0x0206060a},//ROB- 0x0205050a,//0x0206060a
-                                        {0x0F007030,0x05000000},
-                                        {0x0F007034,0x00000003},
-                                        {0x0F007038,0x110a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
-                                        {0x0F00703C,0x02101010},//ROB - 0x02101010,//0x02101018},
-                                        {0x0F007040,0x45751200},//ROB - 0x45751200,//0x450f1200},
-                                        {0x0F007044,0x110a0d00},//ROB - 0x110a0d00//0x111f0d00
-                                        {0x0F007048,0x081b0306},
-                                        {0x0F00704c,0x00000000},
-                                        {0x0F007050,0x0000001c},
-                                        {0x0F007054,0x00000000},
-                                        {0x0F007058,0x00000000},
-                                        {0x0F00705c,0x00000000},
-                                        {0x0F007060,0x0010246c},
-                                        {0x0F007064,0x00000010},
-                                        {0x0F007068,0x00000000},
-                                        {0x0F00706c,0x00000001},
-                                        {0x0F007070,0x00007000},
-                                        {0x0F007074,0x00000000},
-                                        {0x0F007078,0x00000000},
-                                        {0x0F00707C,0x00000000},
-                                        {0x0F007080,0x00000000},
-                                        {0x0F007084,0x00000000},
+                                        {0x0F007000, 0x00010001},
+                                        {0x0F007004, 0x01010100},
+                                        {0x0F007008, 0x01000001},
+                                        {0x0F00700c, 0x00000000},
+                                        {0x0F007010, 0x01000000},
+                                        {0x0F007014, 0x01000100},
+                                        {0x0F007018, 0x01000000},
+                                        {0x0F00701c, 0x01020001},// POP - 0x00020001 Normal 0x01020001
+                                        {0x0F007020, 0x04030107}, //Normal - 0x04030107 POP - 0x05030107
+                                        {0x0F007024, 0x02000007},
+                                        {0x0F007028, 0x02020202},
+                                        {0x0F00702c, 0x0206060a},//ROB- 0x0205050a,//0x0206060a
+                                        {0x0F007030, 0x05000000},
+                                        {0x0F007034, 0x00000003},
+                                        {0x0F007038, 0x110a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
+                                        {0x0F00703C, 0x02101010},//ROB - 0x02101010,//0x02101018},
+                                        {0x0F007040, 0x45751200},//ROB - 0x45751200,//0x450f1200},
+                                        {0x0F007044, 0x110a0d00},//ROB - 0x110a0d00//0x111f0d00
+                                        {0x0F007048, 0x081b0306},
+                                        {0x0F00704c, 0x00000000},
+                                        {0x0F007050, 0x0000001c},
+                                        {0x0F007054, 0x00000000},
+                                        {0x0F007058, 0x00000000},
+                                        {0x0F00705c, 0x00000000},
+                                        {0x0F007060, 0x0010246c},
+                                        {0x0F007064, 0x00000010},
+                                        {0x0F007068, 0x00000000},
+                                        {0x0F00706c, 0x00000001},
+                                        {0x0F007070, 0x00007000},
+                                        {0x0F007074, 0x00000000},
+                                        {0x0F007078, 0x00000000},
+                                        {0x0F00707C, 0x00000000},
+                                        {0x0F007080, 0x00000000},
+                                        {0x0F007084, 0x00000000},
                                         //# Enable BW improvement within memory controller
-                                        {0x0F007094,0x00000104},
+                                        {0x0F007094, 0x00000104},
                                         //# Enable 2 ports within X-bar
-                                        {0x0F00A000,0x00000016},
+                                        {0x0F00A000, 0x00000016},
                                         //# Enable start bit within memory controller
-                                        {0x0F007018,0x01010000}
+                                        {0x0F007018, 0x01010000}
                                         };
 //80Mhz
 #define T3_SKIP_CLOCK_PROGRAM_DUMP_80MHZ 10  //index for 0x0F007000
-static struct bcm_ddr_setting asT3_DDRSetting80MHz[]= {//   # DPLL Clock Setting
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000820,0x07f1ffff},
-                                        {0x0f000860,0x00000000},
-                                        {0x0f000880,0x000003DD},
-                                        {0x0F00a044,0x1fffffff},
-                                        {0x0F00a040,0x1f000000},
-                                        {0x0F00a084,0x1Cffffff},
-                                        {0x0F00a080,0x1C000000},
-                                        {0x0F00a000,0x00000016},
-                                        {0x0F00a04C,0x0000000C},
+static struct bcm_ddr_setting asT3_DDRSetting80MHz[] = {//   # DPLL Clock Setting
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000820, 0x07f1ffff},
+                                        {0x0f000860, 0x00000000},
+                                        {0x0f000880, 0x000003DD},
+                                        {0x0F00a044, 0x1fffffff},
+                                        {0x0F00a040, 0x1f000000},
+                                        {0x0F00a084, 0x1Cffffff},
+                                        {0x0F00a080, 0x1C000000},
+                                        {0x0F00a000, 0x00000016},
+                                        {0x0F00a04C, 0x0000000C},
                                 //Memcontroller Default values
-                                        {0x0F007000,0x00010001},
-                                        {0x0F007004,0x01000000},
-                                        {0x0F007008,0x01000001},
-                                        {0x0F00700c,0x00000000},
-                                        {0x0F007010,0x01000000},
-                                        {0x0F007014,0x01000100},
-                                        {0x0F007018,0x01000000},
-                                        {0x0F00701c,0x01020000},
-                                        {0x0F007020,0x04020107},
-                                        {0x0F007024,0x00000007},
-                                        {0x0F007028,0x02020201},
-                                        {0x0F00702c,0x0204040a},
-                                        {0x0F007030,0x04000000},
-                                        {0x0F007034,0x00000002},
-                                        {0x0F007038,0x1F060200},
-                                        {0x0F00703C,0x1C22221F},
-                                        {0x0F007040,0x8A006600},
-                                        {0x0F007044,0x221a0800},
-                                        {0x0F007048,0x02690204},
-                                        {0x0F00704c,0x00000000},
-                                        {0x0F007050,0x0000001c},
-                                        {0x0F007054,0x00000000},
-                                        {0x0F007058,0x00000000},
-                                        {0x0F00705c,0x00000000},
-                                        {0x0F007060,0x000A15D6},
-                                        {0x0F007064,0x0000000A},
-                                        {0x0F007068,0x00000000},
-                                        {0x0F00706c,0x00000001},
-                                        {0x0F007070,0x00004000},
-                                        {0x0F007074,0x00000000},
-                                        {0x0F007078,0x00000000},
-                                        {0x0F00707C,0x00000000},
-                                        {0x0F007080,0x00000000},
-                                        {0x0F007084,0x00000000},
-                                        {0x0F007094,0x00000104},
+                                        {0x0F007000, 0x00010001},
+                                        {0x0F007004, 0x01000000},
+                                        {0x0F007008, 0x01000001},
+                                        {0x0F00700c, 0x00000000},
+                                        {0x0F007010, 0x01000000},
+                                        {0x0F007014, 0x01000100},
+                                        {0x0F007018, 0x01000000},
+                                        {0x0F00701c, 0x01020000},
+                                        {0x0F007020, 0x04020107},
+                                        {0x0F007024, 0x00000007},
+                                        {0x0F007028, 0x02020201},
+                                        {0x0F00702c, 0x0204040a},
+                                        {0x0F007030, 0x04000000},
+                                        {0x0F007034, 0x00000002},
+                                        {0x0F007038, 0x1F060200},
+                                        {0x0F00703C, 0x1C22221F},
+                                        {0x0F007040, 0x8A006600},
+                                        {0x0F007044, 0x221a0800},
+                                        {0x0F007048, 0x02690204},
+                                        {0x0F00704c, 0x00000000},
+                                        {0x0F007050, 0x0000001c},
+                                        {0x0F007054, 0x00000000},
+                                        {0x0F007058, 0x00000000},
+                                        {0x0F00705c, 0x00000000},
+                                        {0x0F007060, 0x000A15D6},
+                                        {0x0F007064, 0x0000000A},
+                                        {0x0F007068, 0x00000000},
+                                        {0x0F00706c, 0x00000001},
+                                        {0x0F007070, 0x00004000},
+                                        {0x0F007074, 0x00000000},
+                                        {0x0F007078, 0x00000000},
+                                        {0x0F00707C, 0x00000000},
+                                        {0x0F007080, 0x00000000},
+                                        {0x0F007084, 0x00000000},
+                                        {0x0F007094, 0x00000104},
                                         //# Enable start bit within memory controller
-                                                                               {0x0F007018,0x01010000}
+                                       {0x0F007018, 0x01010000}
                                 };
 //100Mhz
 #define T3_SKIP_CLOCK_PROGRAM_DUMP_100MHZ 13  //index for 0x0F007000
-static struct bcm_ddr_setting asT3_DDRSetting100MHz[]= {//  # DPLL Clock Setting
-                                        {0x0F000800,0x00007008},
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000820,0x07F13E3F},
-                                        {0x0f000860,0x00000000},
-                                        {0x0f000880,0x000003DD},
+static struct bcm_ddr_setting asT3_DDRSetting100MHz[] = {//  # DPLL Clock Setting
+                                        {0x0F000800, 0x00007008},
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000820, 0x07F13E3F},
+                                        {0x0f000860, 0x00000000},
+                                        {0x0f000880, 0x000003DD},
                                 // Changed source for X-bar and MIPS clock to APLL
                                 //0x0f000840,0x0FFF1800,
-                                        {0x0f000840,0x0FFF1B00},
-                                        {0x0f000870,0x00000002},
-                                        {0x0F00a044,0x1fffffff},
-                                        {0x0F00a040,0x1f000000},
-                                        {0x0F00a084,0x1Cffffff},
-                                        {0x0F00a080,0x1C000000},
-                                        {0x0F00a04C,0x0000000C},
+                                        {0x0f000840, 0x0FFF1B00},
+                                        {0x0f000870, 0x00000002},
+                                        {0x0F00a044, 0x1fffffff},
+                                        {0x0F00a040, 0x1f000000},
+                                        {0x0F00a084, 0x1Cffffff},
+                                        {0x0F00a080, 0x1C000000},
+                                        {0x0F00a04C, 0x0000000C},
                                 //# Enable 2 ports within X-bar
-                                        {0x0F00A000,0x00000016},
+                                        {0x0F00A000, 0x00000016},
                                 //Memcontroller Default values
-                                        {0x0F007000,0x00010001},
-                                        {0x0F007004,0x01010100},
-                                        {0x0F007008,0x01000001},
-                                        {0x0F00700c,0x00000000},
-                                        {0x0F007010,0x01000000},
-                                        {0x0F007014,0x01000100},
-                                        {0x0F007018,0x01000000},
-                                        {0x0F00701c,0x01020001}, // POP - 0x00020000 Normal 0x01020000
-                                        {0x0F007020,0x04020107},//Normal - 0x04030107 POP - 0x05030107
-                                        {0x0F007024,0x00000007},
-                                        {0x0F007028,0x01020201},
-                                        {0x0F00702c,0x0204040A},
-                                        {0x0F007030,0x06000000},
-                                        {0x0F007034,0x00000004},
-                                        {0x0F007038,0x20080200},
-                                        {0x0F00703C,0x02030320},
-                                        {0x0F007040,0x6E7F1200},
-                                        {0x0F007044,0x01190A00},
-                                        {0x0F007048,0x06120305},//0x02690204 // 0x06120305
-                                        {0x0F00704c,0x00000000},
-                                        {0x0F007050,0x0000001C},
-                                        {0x0F007054,0x00000000},
-                                        {0x0F007058,0x00000000},
-                                        {0x0F00705c,0x00000000},
-                                        {0x0F007060,0x00082ED6},
-                                        {0x0F007064,0x0000000A},
-                                        {0x0F007068,0x00000000},
-                                        {0x0F00706c,0x00000001},
-                                        {0x0F007070,0x00005000},
-                                        {0x0F007074,0x00000000},
-                                        {0x0F007078,0x00000000},
-                                        {0x0F00707C,0x00000000},
-                                        {0x0F007080,0x00000000},
-                                        {0x0F007084,0x00000000},
+                                        {0x0F007000, 0x00010001},
+                                        {0x0F007004, 0x01010100},
+                                        {0x0F007008, 0x01000001},
+                                        {0x0F00700c, 0x00000000},
+                                        {0x0F007010, 0x01000000},
+                                        {0x0F007014, 0x01000100},
+                                        {0x0F007018, 0x01000000},
+                                        {0x0F00701c, 0x01020001}, // POP - 0x00020000 Normal 0x01020000
+                                        {0x0F007020, 0x04020107},//Normal - 0x04030107 POP - 0x05030107
+                                        {0x0F007024, 0x00000007},
+                                        {0x0F007028, 0x01020201},
+                                        {0x0F00702c, 0x0204040A},
+                                        {0x0F007030, 0x06000000},
+                                        {0x0F007034, 0x00000004},
+                                        {0x0F007038, 0x20080200},
+                                        {0x0F00703C, 0x02030320},
+                                        {0x0F007040, 0x6E7F1200},
+                                        {0x0F007044, 0x01190A00},
+                                        {0x0F007048, 0x06120305},//0x02690204 // 0x06120305
+                                        {0x0F00704c, 0x00000000},
+                                        {0x0F007050, 0x0000001C},
+                                        {0x0F007054, 0x00000000},
+                                        {0x0F007058, 0x00000000},
+                                        {0x0F00705c, 0x00000000},
+                                        {0x0F007060, 0x00082ED6},
+                                        {0x0F007064, 0x0000000A},
+                                        {0x0F007068, 0x00000000},
+                                        {0x0F00706c, 0x00000001},
+                                        {0x0F007070, 0x00005000},
+                                        {0x0F007074, 0x00000000},
+                                        {0x0F007078, 0x00000000},
+                                        {0x0F00707C, 0x00000000},
+                                        {0x0F007080, 0x00000000},
+                                        {0x0F007084, 0x00000000},
                                 //# Enable BW improvement within memory controller
-                                        {0x0F007094,0x00000104},
+                                        {0x0F007094, 0x00000104},
                                 //# Enable start bit within memory controller
-                                        {0x0F007018,0x01010000}
+                                        {0x0F007018, 0x01010000}
                                 };
 
 //Net T3B DDR Settings
 //DDR INIT-133Mhz
 static struct bcm_ddr_setting asDPLL_266MHZ[] = {
-                                        {0x0F000800,0x00007212},
-                                        {0x0f000820,0x07F13FFF},
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000860,0x00000000},
-                                        {0x0f000880,0x000003DD},
+                                        {0x0F000800, 0x00007212},
+                                        {0x0f000820, 0x07F13FFF},
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000860, 0x00000000},
+                                        {0x0f000880, 0x000003DD},
                                         // Changed source for X-bar and MIPS clock to APLL
-                                        {0x0f000840,0x0FFF1B00},
-                                        {0x0f000870,0x00000002}
+                                        {0x0f000840, 0x0FFF1B00},
+                                        {0x0f000870, 0x00000002}
                                                                          };
 
 #define T3B_SKIP_CLOCK_PROGRAM_DUMP_133MHZ 11  //index for 0x0F007000
 static struct bcm_ddr_setting asT3B_DDRSetting133MHz[] = {//      # DPLL Clock Setting
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000810,0x00000F95},
-                                        {0x0f000820,0x07F13652},
-                                        {0x0f000840,0x0FFF0800},
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000810, 0x00000F95},
+                                        {0x0f000820, 0x07F13652},
+                                        {0x0f000840, 0x0FFF0800},
                                         // Changed source for X-bar and MIPS clock to APLL
-                                        {0x0f000880,0x000003DD},
-                                        {0x0f000860,0x00000000},
+                                        {0x0f000880, 0x000003DD},
+                                        {0x0f000860, 0x00000000},
                                         // Changed source for X-bar and MIPS clock to APLL
-                                        {0x0F00a044,0x1fffffff},
-                                        {0x0F00a040,0x1f000000},
-                                        {0x0F00a084,0x1Cffffff},
-                                        {0x0F00a080,0x1C000000},
+                                        {0x0F00a044, 0x1fffffff},
+                                        {0x0F00a040, 0x1f000000},
+                                        {0x0F00a084, 0x1Cffffff},
+                                        {0x0F00a080, 0x1C000000},
                                         //# Enable 2 ports within X-bar
-                                        {0x0F00A000,0x00000016},
+                                        {0x0F00A000, 0x00000016},
                                         //Memcontroller Default values
-                                        {0x0F007000,0x00010001},
-                                        {0x0F007004,0x01010100},
-                                        {0x0F007008,0x01000001},
-                                        {0x0F00700c,0x00000000},
-                                        {0x0F007010,0x01000000},
-                                        {0x0F007014,0x01000100},
-                                        {0x0F007018,0x01000000},
-                                        {0x0F00701c,0x01020001},// POP - 0x00020001 Normal 0x01020001
-                                        {0x0F007020,0x04030107}, //Normal - 0x04030107 POP - 0x05030107
-                                        {0x0F007024,0x02000007},
-                                        {0x0F007028,0x02020202},
-                                        {0x0F00702c,0x0206060a},//ROB- 0x0205050a,//0x0206060a
-                                        {0x0F007030,0x05000000},
-                                        {0x0F007034,0x00000003},
-                                        {0x0F007038,0x130a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
-                                        {0x0F00703C,0x02101012},//ROB - 0x02101010,//0x02101018},
-                                        {0x0F007040,0x457D1200},//ROB - 0x45751200,//0x450f1200},
-                                        {0x0F007044,0x11130d00},//ROB - 0x110a0d00//0x111f0d00
-                                        {0x0F007048,0x040D0306},
-                                        {0x0F00704c,0x00000000},
-                                        {0x0F007050,0x0000001c},
-                                        {0x0F007054,0x00000000},
-                                        {0x0F007058,0x00000000},
-                                        {0x0F00705c,0x00000000},
-                                        {0x0F007060,0x0010246c},
-                                        {0x0F007064,0x00000012},
-                                        {0x0F007068,0x00000000},
-                                        {0x0F00706c,0x00000001},
-                                        {0x0F007070,0x00007000},
-                                        {0x0F007074,0x00000000},
-                                        {0x0F007078,0x00000000},
-                                        {0x0F00707C,0x00000000},
-                                        {0x0F007080,0x00000000},
-                                        {0x0F007084,0x00000000},
+                                        {0x0F007000, 0x00010001},
+                                        {0x0F007004, 0x01010100},
+                                        {0x0F007008, 0x01000001},
+                                        {0x0F00700c, 0x00000000},
+                                        {0x0F007010, 0x01000000},
+                                        {0x0F007014, 0x01000100},
+                                        {0x0F007018, 0x01000000},
+                                        {0x0F00701c, 0x01020001},// POP - 0x00020001 Normal 0x01020001
+                                        {0x0F007020, 0x04030107}, //Normal - 0x04030107 POP - 0x05030107
+                                        {0x0F007024, 0x02000007},
+                                        {0x0F007028, 0x02020202},
+                                        {0x0F00702c, 0x0206060a},//ROB- 0x0205050a,//0x0206060a
+                                        {0x0F007030, 0x05000000},
+                                        {0x0F007034, 0x00000003},
+                                        {0x0F007038, 0x130a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
+                                        {0x0F00703C, 0x02101012},//ROB - 0x02101010,//0x02101018},
+                                        {0x0F007040, 0x457D1200},//ROB - 0x45751200,//0x450f1200},
+                                        {0x0F007044, 0x11130d00},//ROB - 0x110a0d00//0x111f0d00
+                                        {0x0F007048, 0x040D0306},
+                                        {0x0F00704c, 0x00000000},
+                                        {0x0F007050, 0x0000001c},
+                                        {0x0F007054, 0x00000000},
+                                        {0x0F007058, 0x00000000},
+                                        {0x0F00705c, 0x00000000},
+                                        {0x0F007060, 0x0010246c},
+                                        {0x0F007064, 0x00000012},
+                                        {0x0F007068, 0x00000000},
+                                        {0x0F00706c, 0x00000001},
+                                        {0x0F007070, 0x00007000},
+                                        {0x0F007074, 0x00000000},
+                                        {0x0F007078, 0x00000000},
+                                        {0x0F00707C, 0x00000000},
+                                        {0x0F007080, 0x00000000},
+                                        {0x0F007084, 0x00000000},
                                         //# Enable BW improvement within memory controller
-                                        {0x0F007094,0x00000104},
+                                        {0x0F007094, 0x00000104},
                                         //# Enable start bit within memory controller
-                                        {0x0F007018,0x01010000},
+                                        {0x0F007018, 0x01010000},
                                         };
 
 #define T3B_SKIP_CLOCK_PROGRAM_DUMP_80MHZ 9  //index for 0x0F007000
 static struct bcm_ddr_setting asT3B_DDRSetting80MHz[] = {//       # DPLL Clock Setting
-                                                                               {0x0f000810,0x00000F95},
-                                                                               {0x0f000820,0x07F13FFF},
-                                                                               {0x0f000840,0x0FFF1F00},
-                                                                               {0x0f000880,0x000003DD},
-                                                                               {0x0f000860,0x00000000},
+                                                                               {0x0f000810, 0x00000F95},
+                                                                               {0x0f000820, 0x07F13FFF},
+                                                                               {0x0f000840, 0x0FFF1F00},
+                                                                               {0x0f000880, 0x000003DD},
+                                                                               {0x0f000860, 0x00000000},
 
-                                                                               {0x0F00a044,0x1fffffff},
-                                                                               {0x0F00a040,0x1f000000},
-                                                                               {0x0F00a084,0x1Cffffff},
-                                                                               {0x0F00a080,0x1C000000},
-                                                                               {0x0F00a000,0x00000016},
+                                                                               {0x0F00a044, 0x1fffffff},
+                                                                               {0x0F00a040, 0x1f000000},
+                                                                               {0x0F00a084, 0x1Cffffff},
+                                                                               {0x0F00a080, 0x1C000000},
+                                                                               {0x0F00a000, 0x00000016},
                                                                                //Memcontroller Default values
-                                                                               {0x0F007000,0x00010001},
-                                                                               {0x0F007004,0x01000000},
-                                                                               {0x0F007008,0x01000001},
-                                                                               {0x0F00700c,0x00000000},
-                                                                               {0x0F007010,0x01000000},
-                                                                               {0x0F007014,0x01000100},
-                                                                               {0x0F007018,0x01000000},
-                                                                               {0x0F00701c,0x01020000},
-                                                                               {0x0F007020,0x04020107},
-                                                                               {0x0F007024,0x00000007},
-                                                                               {0x0F007028,0x02020201},
-                                                                               {0x0F00702c,0x0204040a},
-                                                                               {0x0F007030,0x04000000},
-                                                                               {0x0F007034,0x02000002},
-                                                                               {0x0F007038,0x1F060202},
-                                                                               {0x0F00703C,0x1C22221F},
-                                                                               {0x0F007040,0x8A006600},
-                                                                               {0x0F007044,0x221a0800},
-                                                                               {0x0F007048,0x02690204},
-                                                                               {0x0F00704c,0x00000000},
-                                                                               {0x0F007050,0x0100001c},
-                                                                               {0x0F007054,0x00000000},
-                                                                               {0x0F007058,0x00000000},
-                                                                               {0x0F00705c,0x00000000},
-                                                                               {0x0F007060,0x000A15D6},
-                                                                               {0x0F007064,0x0000000A},
-                                                                               {0x0F007068,0x00000000},
-                                                                               {0x0F00706c,0x00000001},
-                                                                               {0x0F007070,0x00004000},
-                                                                               {0x0F007074,0x00000000},
-                                                                               {0x0F007078,0x00000000},
-                                                                               {0x0F00707C,0x00000000},
-                                                                               {0x0F007080,0x00000000},
-                                                                               {0x0F007084,0x00000000},
-                                                                               {0x0F007094,0x00000104},
+                                                                               {0x0F007000, 0x00010001},
+                                                                               {0x0F007004, 0x01000000},
+                                                                               {0x0F007008, 0x01000001},
+                                                                               {0x0F00700c, 0x00000000},
+                                                                               {0x0F007010, 0x01000000},
+                                                                               {0x0F007014, 0x01000100},
+                                                                               {0x0F007018, 0x01000000},
+                                                                               {0x0F00701c, 0x01020000},
+                                                                               {0x0F007020, 0x04020107},
+                                                                               {0x0F007024, 0x00000007},
+                                                                               {0x0F007028, 0x02020201},
+                                                                               {0x0F00702c, 0x0204040a},
+                                                                               {0x0F007030, 0x04000000},
+                                                                               {0x0F007034, 0x02000002},
+                                                                               {0x0F007038, 0x1F060202},
+                                                                               {0x0F00703C, 0x1C22221F},
+                                                                               {0x0F007040, 0x8A006600},
+                                                                               {0x0F007044, 0x221a0800},
+                                                                               {0x0F007048, 0x02690204},
+                                                                               {0x0F00704c, 0x00000000},
+                                                                               {0x0F007050, 0x0100001c},
+                                                                               {0x0F007054, 0x00000000},
+                                                                               {0x0F007058, 0x00000000},
+                                                                               {0x0F00705c, 0x00000000},
+                                                                               {0x0F007060, 0x000A15D6},
+                                                                               {0x0F007064, 0x0000000A},
+                                                                               {0x0F007068, 0x00000000},
+                                                                               {0x0F00706c, 0x00000001},
+                                                                               {0x0F007070, 0x00004000},
+                                                                               {0x0F007074, 0x00000000},
+                                                                               {0x0F007078, 0x00000000},
+                                                                               {0x0F00707C, 0x00000000},
+                                                                               {0x0F007080, 0x00000000},
+                                                                               {0x0F007084, 0x00000000},
+                                                                               {0x0F007094, 0x00000104},
                                                                                //# Enable start bit within memory controller
-                                                                               {0x0F007018,0x01010000}
+                                                                               {0x0F007018, 0x01010000}
                                                                };
 
 //100Mhz
 #define T3B_SKIP_CLOCK_PROGRAM_DUMP_100MHZ 9  //index for 0x0F007000
 static struct bcm_ddr_setting asT3B_DDRSetting100MHz[] = {//      # DPLL Clock Setting
-                                                                               {0x0f000810,0x00000F95},
-                                                                               {0x0f000820,0x07F1369B},
-                                                                               {0x0f000840,0x0FFF0800},
-                                                                               {0x0f000880,0x000003DD},
-                                                                               {0x0f000860,0x00000000},
-                                                                               {0x0F00a044,0x1fffffff},
-                                                                               {0x0F00a040,0x1f000000},
-                                                                               {0x0F00a084,0x1Cffffff},
-                                                                               {0x0F00a080,0x1C000000},
+                                                                               {0x0f000810, 0x00000F95},
+                                                                               {0x0f000820, 0x07F1369B},
+                                                                               {0x0f000840, 0x0FFF0800},
+                                                                               {0x0f000880, 0x000003DD},
+                                                                               {0x0f000860, 0x00000000},
+                                                                               {0x0F00a044, 0x1fffffff},
+                                                                               {0x0F00a040, 0x1f000000},
+                                                                               {0x0F00a084, 0x1Cffffff},
+                                                                               {0x0F00a080, 0x1C000000},
                                                                                //# Enable 2 ports within X-bar
-                                                                               {0x0F00A000,0x00000016},
+                                                                               {0x0F00A000, 0x00000016},
                                                                //Memcontroller Default values
-                                                                               {0x0F007000,0x00010001},
-                                                                               {0x0F007004,0x01010100},
-                                                                               {0x0F007008,0x01000001},
-                                                                               {0x0F00700c,0x00000000},
-                                                                               {0x0F007010,0x01000000},
-                                                                               {0x0F007014,0x01000100},
-                                                                               {0x0F007018,0x01000000},
-                                                                               {0x0F00701c,0x01020000}, // POP - 0x00020000 Normal 0x01020000
-                                                                               {0x0F007020,0x04020107},//Normal - 0x04030107 POP - 0x05030107
-                                                                               {0x0F007024,0x00000007},
-                                                                               {0x0F007028,0x01020201},
-                                                                               {0x0F00702c,0x0204040A},
-                                                                               {0x0F007030,0x06000000},
-                                                                               {0x0F007034,0x02000004},
-                                                                               {0x0F007038,0x20080200},
-                                                                               {0x0F00703C,0x02030320},
-                                                                               {0x0F007040,0x6E7F1200},
-                                                                               {0x0F007044,0x01190A00},
-                                                                               {0x0F007048,0x06120305},//0x02690204 // 0x06120305
-                                                                               {0x0F00704c,0x00000000},
-                                                                               {0x0F007050,0x0100001C},
-                                                                               {0x0F007054,0x00000000},
-                                                                               {0x0F007058,0x00000000},
-                                                                               {0x0F00705c,0x00000000},
-                                                                               {0x0F007060,0x00082ED6},
-                                                                               {0x0F007064,0x0000000A},
-                                                                               {0x0F007068,0x00000000},
-                                                                               {0x0F00706c,0x00000001},
-                                                                               {0x0F007070,0x00005000},
-                                                                               {0x0F007074,0x00000000},
-                                                                               {0x0F007078,0x00000000},
-                                                                               {0x0F00707C,0x00000000},
-                                                                               {0x0F007080,0x00000000},
-                                                                               {0x0F007084,0x00000000},
+                                                                               {0x0F007000, 0x00010001},
+                                                                               {0x0F007004, 0x01010100},
+                                                                               {0x0F007008, 0x01000001},
+                                                                               {0x0F00700c, 0x00000000},
+                                                                               {0x0F007010, 0x01000000},
+                                                                               {0x0F007014, 0x01000100},
+                                                                               {0x0F007018, 0x01000000},
+                                                                               {0x0F00701c, 0x01020000}, // POP - 0x00020000 Normal 0x01020000
+                                                                               {0x0F007020, 0x04020107},//Normal - 0x04030107 POP - 0x05030107
+                                                                               {0x0F007024, 0x00000007},
+                                                                               {0x0F007028, 0x01020201},
+                                                                               {0x0F00702c, 0x0204040A},
+                                                                               {0x0F007030, 0x06000000},
+                                                                               {0x0F007034, 0x02000004},
+                                                                               {0x0F007038, 0x20080200},
+                                                                               {0x0F00703C, 0x02030320},
+                                                                               {0x0F007040, 0x6E7F1200},
+                                                                               {0x0F007044, 0x01190A00},
+                                                                               {0x0F007048, 0x06120305},//0x02690204 // 0x06120305
+                                                                               {0x0F00704c, 0x00000000},
+                                                                               {0x0F007050, 0x0100001C},
+                                                                               {0x0F007054, 0x00000000},
+                                                                               {0x0F007058, 0x00000000},
+                                                                               {0x0F00705c, 0x00000000},
+                                                                               {0x0F007060, 0x00082ED6},
+                                                                               {0x0F007064, 0x0000000A},
+                                                                               {0x0F007068, 0x00000000},
+                                                                               {0x0F00706c, 0x00000001},
+                                                                               {0x0F007070, 0x00005000},
+                                                                               {0x0F007074, 0x00000000},
+                                                                               {0x0F007078, 0x00000000},
+                                                                               {0x0F00707C, 0x00000000},
+                                                                               {0x0F007080, 0x00000000},
+                                                                               {0x0F007084, 0x00000000},
                                                                //# Enable BW improvement within memory controller
-                                                                               {0x0F007094,0x00000104},
+                                                                               {0x0F007094, 0x00000104},
                                                                //# Enable start bit within memory controller
-                                                                               {0x0F007018,0x01010000}
+                                                                               {0x0F007018, 0x01010000}
                                                        };
 
 
 #define T3LP_SKIP_CLOCK_PROGRAM_DUMP_133MHZ 9  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LP_DDRSetting133MHz[]= {//   # DPLL Clock Setting
-                                                               {0x0f000820,0x03F1365B},
-                                                               {0x0f000810,0x00002F95},
-                                                               {0x0f000880,0x000003DD},
+static struct bcm_ddr_setting asT3LP_DDRSetting133MHz[] = {//  # DPLL Clock Setting
+                                                               {0x0f000820, 0x03F1365B},
+                                                               {0x0f000810, 0x00002F95},
+                                                               {0x0f000880, 0x000003DD},
                                                                // Changed source for X-bar and MIPS clock to APLL
-                                                               {0x0f000840,0x0FFF0000},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0F00a084,0x1Cffffff},
-                                                               {0x0F00a080,0x1C000000},
-                                                               {0x0F00A000,0x00000016},
+                                                               {0x0f000840, 0x0FFF0000},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0F00a084, 0x1Cffffff},
+                                                               {0x0F00a080, 0x1C000000},
+                                                               {0x0F00A000, 0x00000016},
                                                                //Memcontroller Default values
-                                                               {0x0F007000,0x00010001},
-                                                               {0x0F007004,0x01010100},
-                                                               {0x0F007008,0x01000001},
-                                                               {0x0F00700c,0x00000000},
-                                                               {0x0F007010,0x01000000},
-                                                               {0x0F007014,0x01000100},
-                                                               {0x0F007018,0x01000000},
-                                                               {0x0F00701c,0x01020001},// POP - 0x00020001 Normal 0x01020001
-                                                               {0x0F007020,0x04030107}, //Normal - 0x04030107 POP - 0x05030107
-                                                               {0x0F007024,0x02000007},
-                                                               {0x0F007028,0x02020200},
-                                                               {0x0F00702c,0x0206060a},//ROB- 0x0205050a,//0x0206060a
-                                                               {0x0F007030,0x05000000},
-                                                               {0x0F007034,0x00000003},
-                                                               {0x0F007038,0x200a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
-                                                               {0x0F00703C,0x02101020},//ROB - 0x02101010,//0x02101018,
-                                                               {0x0F007040,0x45711200},//ROB - 0x45751200,//0x450f1200,
-                                                               {0x0F007044,0x110D0D00},//ROB - 0x110a0d00//0x111f0d00
-                                                               {0x0F007048,0x04080306},
-                                                               {0x0F00704c,0x00000000},
-                                                               {0x0F007050,0x0100001c},
-                                                               {0x0F007054,0x00000000},
-                                                               {0x0F007058,0x00000000},
-                                                               {0x0F00705c,0x00000000},
-                                                               {0x0F007060,0x0010245F},
-                                                               {0x0F007064,0x00000010},
-                                                               {0x0F007068,0x00000000},
-                                                               {0x0F00706c,0x00000001},
-                                                               {0x0F007070,0x00007000},
-                                                               {0x0F007074,0x00000000},
-                                                               {0x0F007078,0x00000000},
-                                                               {0x0F00707C,0x00000000},
-                                                               {0x0F007080,0x00000000},
-                                                               {0x0F007084,0x00000000},
-                                                               {0x0F007088,0x01000001},
-                                                               {0x0F00708c,0x00000101},
-                                                               {0x0F007090,0x00000000},
+                                                               {0x0F007000, 0x00010001},
+                                                               {0x0F007004, 0x01010100},
+                                                               {0x0F007008, 0x01000001},
+                                                               {0x0F00700c, 0x00000000},
+                                                               {0x0F007010, 0x01000000},
+                                                               {0x0F007014, 0x01000100},
+                                                               {0x0F007018, 0x01000000},
+                                                               {0x0F00701c, 0x01020001},// POP - 0x00020001 Normal 0x01020001
+                                                               {0x0F007020, 0x04030107}, //Normal - 0x04030107 POP - 0x05030107
+                                                               {0x0F007024, 0x02000007},
+                                                               {0x0F007028, 0x02020200},
+                                                               {0x0F00702c, 0x0206060a},//ROB- 0x0205050a,//0x0206060a
+                                                               {0x0F007030, 0x05000000},
+                                                               {0x0F007034, 0x00000003},
+                                                               {0x0F007038, 0x200a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
+                                                               {0x0F00703C, 0x02101020},//ROB - 0x02101010,//0x02101018,
+                                                               {0x0F007040, 0x45711200},//ROB - 0x45751200,//0x450f1200,
+                                                               {0x0F007044, 0x110D0D00},//ROB - 0x110a0d00//0x111f0d00
+                                                               {0x0F007048, 0x04080306},
+                                                               {0x0F00704c, 0x00000000},
+                                                               {0x0F007050, 0x0100001c},
+                                                               {0x0F007054, 0x00000000},
+                                                               {0x0F007058, 0x00000000},
+                                                               {0x0F00705c, 0x00000000},
+                                                               {0x0F007060, 0x0010245F},
+                                                               {0x0F007064, 0x00000010},
+                                                               {0x0F007068, 0x00000000},
+                                                               {0x0F00706c, 0x00000001},
+                                                               {0x0F007070, 0x00007000},
+                                                               {0x0F007074, 0x00000000},
+                                                               {0x0F007078, 0x00000000},
+                                                               {0x0F00707C, 0x00000000},
+                                                               {0x0F007080, 0x00000000},
+                                                               {0x0F007084, 0x00000000},
+                                                               {0x0F007088, 0x01000001},
+                                                               {0x0F00708c, 0x00000101},
+                                                               {0x0F007090, 0x00000000},
                                                                //# Enable BW improvement within memory controller
-                                                               {0x0F007094,0x00040000},
-                                                               {0x0F007098,0x00000000},
-                                                               {0x0F0070c8,0x00000104},
+                                                               {0x0F007094, 0x00040000},
+                                                               {0x0F007098, 0x00000000},
+                                                               {0x0F0070c8, 0x00000104},
                                                                //# Enable 2 ports within X-bar
                                                                //# Enable start bit within memory controller
-                                                               {0x0F007018,0x01010000}
+                                                               {0x0F007018, 0x01010000}
 };
 
 #define T3LP_SKIP_CLOCK_PROGRAM_DUMP_100MHZ 11  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LP_DDRSetting100MHz[]= {//   # DPLL Clock Setting
-                                                               {0x0f000810,0x00002F95},
-                                                               {0x0f000820,0x03F1369B},
-                                                               {0x0f000840,0x0fff0000},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0f000880,0x000003DD},
+static struct bcm_ddr_setting asT3LP_DDRSetting100MHz[] = {//  # DPLL Clock Setting
+                                                               {0x0f000810, 0x00002F95},
+                                                               {0x0f000820, 0x03F1369B},
+                                                               {0x0f000840, 0x0fff0000},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0f000880, 0x000003DD},
                                                                // Changed source for X-bar and MIPS clock to APLL
-                                                               {0x0f000840,0x0FFF0000},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0F00a084,0x1Cffffff},
-                                                               {0x0F00a080,0x1C000000},
+                                                               {0x0f000840, 0x0FFF0000},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0F00a084, 0x1Cffffff},
+                                                               {0x0F00a080, 0x1C000000},
                                                                //Memcontroller Default values
-                                                               {0x0F007000,0x00010001},
-                                                               {0x0F007004,0x01010100},
-                                                               {0x0F007008,0x01000001},
-                                                               {0x0F00700c,0x00000000},
-                                                               {0x0F007010,0x01000000},
-                                                               {0x0F007014,0x01000100},
-                                                               {0x0F007018,0x01000000},
-                                                               {0x0F00701c,0x01020000},// POP - 0x00020001 Normal 0x01020001
-                                                               {0x0F007020,0x04020107}, //Normal - 0x04030107 POP - 0x05030107
-                                                               {0x0F007024,0x00000007},
-                                                               {0x0F007028,0x01020200},
-                                                               {0x0F00702c,0x0204040a},//ROB- 0x0205050a,//0x0206060a
-                                                               {0x0F007030,0x06000000},
-                                                               {0x0F007034,0x00000004},
-                                                               {0x0F007038,0x1F080200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
-                                                               {0x0F00703C,0x0203031F},//ROB - 0x02101010,//0x02101018,
-                                                               {0x0F007040,0x6e001200},//ROB - 0x45751200,//0x450f1200,
-                                                               {0x0F007044,0x011a0a00},//ROB - 0x110a0d00//0x111f0d00
-                                                               {0x0F007048,0x03000305},
-                                                               {0x0F00704c,0x00000000},
-                                                               {0x0F007050,0x0100001c},
-                                                               {0x0F007054,0x00000000},
-                                                               {0x0F007058,0x00000000},
-                                                               {0x0F00705c,0x00000000},
-                                                               {0x0F007060,0x00082ED6},
-                                                               {0x0F007064,0x0000000A},
-                                                               {0x0F007068,0x00000000},
-                                                               {0x0F00706c,0x00000001},
-                                                               {0x0F007070,0x00005000},
-                                                               {0x0F007074,0x00000000},
-                                                               {0x0F007078,0x00000000},
-                                                               {0x0F00707C,0x00000000},
-                                                               {0x0F007080,0x00000000},
-                                                               {0x0F007084,0x00000000},
-                                                               {0x0F007088,0x01000001},
-                                                               {0x0F00708c,0x00000101},
-                                                               {0x0F007090,0x00000000},
-                                                               {0x0F007094,0x00010000},
-                                                               {0x0F007098,0x00000000},
-                                                               {0x0F0070C8,0x00000104},
+                                                               {0x0F007000, 0x00010001},
+                                                               {0x0F007004, 0x01010100},
+                                                               {0x0F007008, 0x01000001},
+                                                               {0x0F00700c, 0x00000000},
+                                                               {0x0F007010, 0x01000000},
+                                                               {0x0F007014, 0x01000100},
+                                                               {0x0F007018, 0x01000000},
+                                                               {0x0F00701c, 0x01020000},// POP - 0x00020001 Normal 0x01020001
+                                                               {0x0F007020, 0x04020107}, //Normal - 0x04030107 POP - 0x05030107
+                                                               {0x0F007024, 0x00000007},
+                                                               {0x0F007028, 0x01020200},
+                                                               {0x0F00702c, 0x0204040a},//ROB- 0x0205050a,//0x0206060a
+                                                               {0x0F007030, 0x06000000},
+                                                               {0x0F007034, 0x00000004},
+                                                               {0x0F007038, 0x1F080200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
+                                                               {0x0F00703C, 0x0203031F},//ROB - 0x02101010,//0x02101018,
+                                                               {0x0F007040, 0x6e001200},//ROB - 0x45751200,//0x450f1200,
+                                                               {0x0F007044, 0x011a0a00},//ROB - 0x110a0d00//0x111f0d00
+                                                               {0x0F007048, 0x03000305},
+                                                               {0x0F00704c, 0x00000000},
+                                                               {0x0F007050, 0x0100001c},
+                                                               {0x0F007054, 0x00000000},
+                                                               {0x0F007058, 0x00000000},
+                                                               {0x0F00705c, 0x00000000},
+                                                               {0x0F007060, 0x00082ED6},
+                                                               {0x0F007064, 0x0000000A},
+                                                               {0x0F007068, 0x00000000},
+                                                               {0x0F00706c, 0x00000001},
+                                                               {0x0F007070, 0x00005000},
+                                                               {0x0F007074, 0x00000000},
+                                                               {0x0F007078, 0x00000000},
+                                                               {0x0F00707C, 0x00000000},
+                                                               {0x0F007080, 0x00000000},
+                                                               {0x0F007084, 0x00000000},
+                                                               {0x0F007088, 0x01000001},
+                                                               {0x0F00708c, 0x00000101},
+                                                               {0x0F007090, 0x00000000},
+                                                               {0x0F007094, 0x00010000},
+                                                               {0x0F007098, 0x00000000},
+                                                               {0x0F0070C8, 0x00000104},
                                                                //# Enable 2 ports within X-bar
-                                                               {0x0F00A000,0x00000016},
+                                                               {0x0F00A000, 0x00000016},
                                                                //# Enable start bit within memory controller
-                                                               {0x0F007018,0x01010000}
+                                                               {0x0F007018, 0x01010000}
 };
 
 #define T3LP_SKIP_CLOCK_PROGRAM_DUMP_80MHZ 9  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LP_DDRSetting80MHz[]= {//    # DPLL Clock Setting
-                                                               {0x0f000820,0x07F13FFF},
-                                                               {0x0f000810,0x00002F95},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0f000880,0x000003DD},
-                                                               {0x0f000840,0x0FFF1F00},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0F00a084,0x1Cffffff},
-                                                               {0x0F00a080,0x1C000000},
-                                                               {0x0F00A000,0x00000016},
-                                                               {0x0f007000,0x00010001},
-                                                               {0x0f007004,0x01000000},
-                                                               {0x0f007008,0x01000001},
-                                                               {0x0f00700c,0x00000000},
-                                                               {0x0f007010,0x01000000},
-                                                               {0x0f007014,0x01000100},
-                                                               {0x0f007018,0x01000000},
-                                                               {0x0f00701c,0x01020000},
-                                                               {0x0f007020,0x04020107},
-                                                               {0x0f007024,0x00000007},
-                                                               {0x0f007028,0x02020200},
-                                                               {0x0f00702c,0x0204040a},
-                                                               {0x0f007030,0x04000000},
-                                                               {0x0f007034,0x00000002},
-                                                               {0x0f007038,0x1d060200},
-                                                               {0x0f00703c,0x1c22221d},
-                                                               {0x0f007040,0x8A116600},
-                                                               {0x0f007044,0x222d0800},
-                                                               {0x0f007048,0x02690204},
-                                                               {0x0f00704c,0x00000000},
-                                                               {0x0f007050,0x0100001c},
-                                                               {0x0f007054,0x00000000},
-                                                               {0x0f007058,0x00000000},
-                                                               {0x0f00705c,0x00000000},
-                                                               {0x0f007060,0x000A15D6},
-                                                               {0x0f007064,0x0000000A},
-                                                               {0x0f007068,0x00000000},
-                                                               {0x0f00706c,0x00000001},
-                                                               {0x0f007070,0x00004000},
-                                                               {0x0f007074,0x00000000},
-                                                               {0x0f007078,0x00000000},
-                                                               {0x0f00707c,0x00000000},
-                                                               {0x0f007080,0x00000000},
-                                                               {0x0f007084,0x00000000},
-                                                               {0x0f007088,0x01000001},
-                                                               {0x0f00708c,0x00000101},
-                                                               {0x0f007090,0x00000000},
-                                                               {0x0f007094,0x00010000},
-                                                               {0x0f007098,0x00000000},
-                                                               {0x0F0070C8,0x00000104},
-                                                               {0x0F007018,0x01010000}
+static struct bcm_ddr_setting asT3LP_DDRSetting80MHz[] = {//   # DPLL Clock Setting
+                                                               {0x0f000820, 0x07F13FFF},
+                                                               {0x0f000810, 0x00002F95},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0f000880, 0x000003DD},
+                                                               {0x0f000840, 0x0FFF1F00},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0F00a084, 0x1Cffffff},
+                                                               {0x0F00a080, 0x1C000000},
+                                                               {0x0F00A000, 0x00000016},
+                                                               {0x0f007000, 0x00010001},
+                                                               {0x0f007004, 0x01000000},
+                                                               {0x0f007008, 0x01000001},
+                                                               {0x0f00700c, 0x00000000},
+                                                               {0x0f007010, 0x01000000},
+                                                               {0x0f007014, 0x01000100},
+                                                               {0x0f007018, 0x01000000},
+                                                               {0x0f00701c, 0x01020000},
+                                                               {0x0f007020, 0x04020107},
+                                                               {0x0f007024, 0x00000007},
+                                                               {0x0f007028, 0x02020200},
+                                                               {0x0f00702c, 0x0204040a},
+                                                               {0x0f007030, 0x04000000},
+                                                               {0x0f007034, 0x00000002},
+                                                               {0x0f007038, 0x1d060200},
+                                                               {0x0f00703c, 0x1c22221d},
+                                                               {0x0f007040, 0x8A116600},
+                                                               {0x0f007044, 0x222d0800},
+                                                               {0x0f007048, 0x02690204},
+                                                               {0x0f00704c, 0x00000000},
+                                                               {0x0f007050, 0x0100001c},
+                                                               {0x0f007054, 0x00000000},
+                                                               {0x0f007058, 0x00000000},
+                                                               {0x0f00705c, 0x00000000},
+                                                               {0x0f007060, 0x000A15D6},
+                                                               {0x0f007064, 0x0000000A},
+                                                               {0x0f007068, 0x00000000},
+                                                               {0x0f00706c, 0x00000001},
+                                                               {0x0f007070, 0x00004000},
+                                                               {0x0f007074, 0x00000000},
+                                                               {0x0f007078, 0x00000000},
+                                                               {0x0f00707c, 0x00000000},
+                                                               {0x0f007080, 0x00000000},
+                                                               {0x0f007084, 0x00000000},
+                                                               {0x0f007088, 0x01000001},
+                                                               {0x0f00708c, 0x00000101},
+                                                               {0x0f007090, 0x00000000},
+                                                               {0x0f007094, 0x00010000},
+                                                               {0x0f007098, 0x00000000},
+                                                               {0x0F0070C8, 0x00000104},
+                                                               {0x0F007018, 0x01010000}
 };
 
 
@@ -536,246 +536,245 @@ static struct bcm_ddr_setting asT3LP_DDRSetting80MHz[]= {//     # DPLL Clock Setting
 ///T3 LP-B (UMA-B)
 
 #define T3LPB_SKIP_CLOCK_PROGRAM_DUMP_160MHZ 7  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LPB_DDRSetting160MHz[]= {//  # DPLL Clock Setting
-
-                                                               {0x0f000820,0x03F137DB},
-                                                               {0x0f000810,0x01842795},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0f000880,0x000003DD},
-                                                               {0x0f000840,0x0FFF0400},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0f003050,0x00000021},//this is flash/eeprom clock divisor which set the flash clock to 20 MHz
-                                                               {0x0F00a084,0x1Cffffff},//Now dump from her in internal memory
-                                                               {0x0F00a080,0x1C000000},
-                                                               {0x0F00A000,0x00000016},
-                                                               {0x0f007000,0x00010001},
-                                                               {0x0f007004,0x01000001},
-                                                               {0x0f007008,0x01000101},
-                                                               {0x0f00700c,0x00000000},
-                                                               {0x0f007010,0x01000100},
-                                                               {0x0f007014,0x01000100},
-                                                               {0x0f007018,0x01000000},
-                                                               {0x0f00701c,0x01020000},
-                                                               {0x0f007020,0x04030107},
-                                                               {0x0f007024,0x02000007},
-                                                               {0x0f007028,0x02020200},
-                                                               {0x0f00702c,0x0206060a},
-                                                               {0x0f007030,0x050d0d00},
-                                                               {0x0f007034,0x00000003},
-                                                               {0x0f007038,0x170a0200},
-                                                               {0x0f00703c,0x02101012},
-                                                               {0x0f007040,0x45161200},
-                                                               {0x0f007044,0x11250c00},
-                                                               {0x0f007048,0x04da0307},
-                                                               {0x0f00704c,0x00000000},
-                                                               {0x0f007050,0x0000001c},
-                                                               {0x0f007054,0x00000000},
-                                                               {0x0f007058,0x00000000},
-                                                               {0x0f00705c,0x00000000},
-                                                               {0x0f007060,0x00142bb6},
-                                                               {0x0f007064,0x20430014},
-                                                               {0x0f007068,0x00000000},
-                                                               {0x0f00706c,0x00000001},
-                                                               {0x0f007070,0x00009000},
-                                                               {0x0f007074,0x00000000},
-                                                               {0x0f007078,0x00000000},
-                                                               {0x0f00707c,0x00000000},
-                                                               {0x0f007080,0x00000000},
-                                                               {0x0f007084,0x00000000},
-                                                               {0x0f007088,0x01000001},
-                                                               {0x0f00708c,0x00000101},
-                                                               {0x0f007090,0x00000000},
-                                                               {0x0f007094,0x00040000},
-                                                               {0x0f007098,0x00000000},
-                                                               {0x0F0070C8,0x00000104},
-                                                               {0x0F007018,0x01010000}
+static struct bcm_ddr_setting asT3LPB_DDRSetting160MHz[] = {// # DPLL Clock Setting
+                                                               {0x0f000820, 0x03F137DB},
+                                                               {0x0f000810, 0x01842795},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0f000880, 0x000003DD},
+                                                               {0x0f000840, 0x0FFF0400},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0f003050, 0x00000021},//this is flash/eeprom clock divisor which set the flash clock to 20 MHz
+                                                               {0x0F00a084, 0x1Cffffff},//Now dump from her in internal memory
+                                                               {0x0F00a080, 0x1C000000},
+                                                               {0x0F00A000, 0x00000016},
+                                                               {0x0f007000, 0x00010001},
+                                                               {0x0f007004, 0x01000001},
+                                                               {0x0f007008, 0x01000101},
+                                                               {0x0f00700c, 0x00000000},
+                                                               {0x0f007010, 0x01000100},
+                                                               {0x0f007014, 0x01000100},
+                                                               {0x0f007018, 0x01000000},
+                                                               {0x0f00701c, 0x01020000},
+                                                               {0x0f007020, 0x04030107},
+                                                               {0x0f007024, 0x02000007},
+                                                               {0x0f007028, 0x02020200},
+                                                               {0x0f00702c, 0x0206060a},
+                                                               {0x0f007030, 0x050d0d00},
+                                                               {0x0f007034, 0x00000003},
+                                                               {0x0f007038, 0x170a0200},
+                                                               {0x0f00703c, 0x02101012},
+                                                               {0x0f007040, 0x45161200},
+                                                               {0x0f007044, 0x11250c00},
+                                                               {0x0f007048, 0x04da0307},
+                                                               {0x0f00704c, 0x00000000},
+                                                               {0x0f007050, 0x0000001c},
+                                                               {0x0f007054, 0x00000000},
+                                                               {0x0f007058, 0x00000000},
+                                                               {0x0f00705c, 0x00000000},
+                                                               {0x0f007060, 0x00142bb6},
+                                                               {0x0f007064, 0x20430014},
+                                                               {0x0f007068, 0x00000000},
+                                                               {0x0f00706c, 0x00000001},
+                                                               {0x0f007070, 0x00009000},
+                                                               {0x0f007074, 0x00000000},
+                                                               {0x0f007078, 0x00000000},
+                                                               {0x0f00707c, 0x00000000},
+                                                               {0x0f007080, 0x00000000},
+                                                               {0x0f007084, 0x00000000},
+                                                               {0x0f007088, 0x01000001},
+                                                               {0x0f00708c, 0x00000101},
+                                                               {0x0f007090, 0x00000000},
+                                                               {0x0f007094, 0x00040000},
+                                                               {0x0f007098, 0x00000000},
+                                                               {0x0F0070C8, 0x00000104},
+                                                               {0x0F007018, 0x01010000}
 };
 
 
 #define T3LPB_SKIP_CLOCK_PROGRAM_DUMP_133MHZ 7  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LPB_DDRSetting133MHz[]= {//  # DPLL Clock Setting
-                                                               {0x0f000820,0x03F1365B},
-                                                               {0x0f000810,0x00002F95},
-                                                               {0x0f000880,0x000003DD},
+static struct bcm_ddr_setting asT3LPB_DDRSetting133MHz[] = {// # DPLL Clock Setting
+                                                               {0x0f000820, 0x03F1365B},
+                                                               {0x0f000810, 0x00002F95},
+                                                               {0x0f000880, 0x000003DD},
                                                                // Changed source for X-bar and MIPS clock to APLL
-                                                               {0x0f000840,0x0FFF0000},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0f003050,0x00000021},//flash/eeprom clock divisor which set the flash clock to 20 MHz
-                                                               {0x0F00a084,0x1Cffffff},//dump from here in internal memory
-                                                               {0x0F00a080,0x1C000000},
-                                                               {0x0F00A000,0x00000016},
+                                                               {0x0f000840, 0x0FFF0000},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0f003050, 0x00000021},//flash/eeprom clock divisor which set the flash clock to 20 MHz
+                                                               {0x0F00a084, 0x1Cffffff},//dump from here in internal memory
+                                                               {0x0F00a080, 0x1C000000},
+                                                               {0x0F00A000, 0x00000016},
                                                                //Memcontroller Default values
-                                                               {0x0F007000,0x00010001},
-                                                               {0x0F007004,0x01010100},
-                                                               {0x0F007008,0x01000001},
-                                                               {0x0F00700c,0x00000000},
-                                                               {0x0F007010,0x01000000},
-                                                               {0x0F007014,0x01000100},
-                                                               {0x0F007018,0x01000000},
-                                                               {0x0F00701c,0x01020001},// POP - 0x00020001 Normal 0x01020001
-                                                               {0x0F007020,0x04030107}, //Normal - 0x04030107 POP - 0x05030107
-                                                               {0x0F007024,0x02000007},
-                                                               {0x0F007028,0x02020200},
-                                                               {0x0F00702c,0x0206060a},//ROB- 0x0205050a,//0x0206060a
-                                                               {0x0F007030,0x05000000},
-                                                               {0x0F007034,0x00000003},
-                                                               {0x0F007038,0x190a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
-                                                               {0x0F00703C,0x02101017},//ROB - 0x02101010,//0x02101018,
-                                                               {0x0F007040,0x45171200},//ROB - 0x45751200,//0x450f1200,
-                                                               {0x0F007044,0x11290D00},//ROB - 0x110a0d00//0x111f0d00
-                                                               {0x0F007048,0x04080306},
-                                                               {0x0F00704c,0x00000000},
-                                                               {0x0F007050,0x0100001c},
-                                                               {0x0F007054,0x00000000},
-                                                               {0x0F007058,0x00000000},
-                                                               {0x0F00705c,0x00000000},
-                                                               {0x0F007060,0x0010245F},
-                                                               {0x0F007064,0x00000010},
-                                                               {0x0F007068,0x00000000},
-                                                               {0x0F00706c,0x00000001},
-                                                               {0x0F007070,0x00007000},
-                                                               {0x0F007074,0x00000000},
-                                                               {0x0F007078,0x00000000},
-                                                               {0x0F00707C,0x00000000},
-                                                               {0x0F007080,0x00000000},
-                                                               {0x0F007084,0x00000000},
-                                                               {0x0F007088,0x01000001},
-                                                               {0x0F00708c,0x00000101},
-                                                               {0x0F007090,0x00000000},
+                                                               {0x0F007000, 0x00010001},
+                                                               {0x0F007004, 0x01010100},
+                                                               {0x0F007008, 0x01000001},
+                                                               {0x0F00700c, 0x00000000},
+                                                               {0x0F007010, 0x01000000},
+                                                               {0x0F007014, 0x01000100},
+                                                               {0x0F007018, 0x01000000},
+                                                               {0x0F00701c, 0x01020001},// POP - 0x00020001 Normal 0x01020001
+                                                               {0x0F007020, 0x04030107}, //Normal - 0x04030107 POP - 0x05030107
+                                                               {0x0F007024, 0x02000007},
+                                                               {0x0F007028, 0x02020200},
+                                                               {0x0F00702c, 0x0206060a},//ROB- 0x0205050a,//0x0206060a
+                                                               {0x0F007030, 0x05000000},
+                                                               {0x0F007034, 0x00000003},
+                                                               {0x0F007038, 0x190a0200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
+                                                               {0x0F00703C, 0x02101017},//ROB - 0x02101010,//0x02101018,
+                                                               {0x0F007040, 0x45171200},//ROB - 0x45751200,//0x450f1200,
+                                                               {0x0F007044, 0x11290D00},//ROB - 0x110a0d00//0x111f0d00
+                                                               {0x0F007048, 0x04080306},
+                                                               {0x0F00704c, 0x00000000},
+                                                               {0x0F007050, 0x0100001c},
+                                                               {0x0F007054, 0x00000000},
+                                                               {0x0F007058, 0x00000000},
+                                                               {0x0F00705c, 0x00000000},
+                                                               {0x0F007060, 0x0010245F},
+                                                               {0x0F007064, 0x00000010},
+                                                               {0x0F007068, 0x00000000},
+                                                               {0x0F00706c, 0x00000001},
+                                                               {0x0F007070, 0x00007000},
+                                                               {0x0F007074, 0x00000000},
+                                                               {0x0F007078, 0x00000000},
+                                                               {0x0F00707C, 0x00000000},
+                                                               {0x0F007080, 0x00000000},
+                                                               {0x0F007084, 0x00000000},
+                                                               {0x0F007088, 0x01000001},
+                                                               {0x0F00708c, 0x00000101},
+                                                               {0x0F007090, 0x00000000},
                                                                //# Enable BW improvement within memory controller
-                                                               {0x0F007094,0x00040000},
-                                                               {0x0F007098,0x00000000},
-                                                               {0x0F0070c8,0x00000104},
+                                                               {0x0F007094, 0x00040000},
+                                                               {0x0F007098, 0x00000000},
+                                                               {0x0F0070c8, 0x00000104},
                                                                //# Enable 2 ports within X-bar
                                                                //# Enable start bit within memory controller
-                                                               {0x0F007018,0x01010000}
+                                                               {0x0F007018, 0x01010000}
 };
 
 #define T3LPB_SKIP_CLOCK_PROGRAM_DUMP_100MHZ 8  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LPB_DDRSetting100MHz[]= {//  # DPLL Clock Setting
-                                                               {0x0f000810,0x00002F95},
-                                                               {0x0f000820,0x03F1369B},
-                                                               {0x0f000840,0x0fff0000},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0f000880,0x000003DD},
+static struct bcm_ddr_setting asT3LPB_DDRSetting100MHz[] = {// # DPLL Clock Setting
+                                                               {0x0f000810, 0x00002F95},
+                                                               {0x0f000820, 0x03F1369B},
+                                                               {0x0f000840, 0x0fff0000},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0f000880, 0x000003DD},
                                                                // Changed source for X-bar and MIPS clock to APLL
-                                                               {0x0f000840,0x0FFF0000},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0f003050,0x00000021},//flash/eeprom clock divisor which set the flash clock to 20 MHz
-                                                               {0x0F00a084,0x1Cffffff}, //dump from here in internal memory
-                                                               {0x0F00a080,0x1C000000},
+                                                               {0x0f000840, 0x0FFF0000},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0f003050, 0x00000021},//flash/eeprom clock divisor which set the flash clock to 20 MHz
+                                                               {0x0F00a084, 0x1Cffffff}, //dump from here in internal memory
+                                                               {0x0F00a080, 0x1C000000},
                                                                //Memcontroller Default values
-                                                               {0x0F007000,0x00010001},
-                                                               {0x0F007004,0x01010100},
-                                                               {0x0F007008,0x01000001},
-                                                               {0x0F00700c,0x00000000},
-                                                               {0x0F007010,0x01000000},
-                                                               {0x0F007014,0x01000100},
-                                                               {0x0F007018,0x01000000},
-                                                               {0x0F00701c,0x01020000},// POP - 0x00020001 Normal 0x01020001
-                                                               {0x0F007020,0x04020107}, //Normal - 0x04030107 POP - 0x05030107
-                                                               {0x0F007024,0x00000007},
-                                                               {0x0F007028,0x01020200},
-                                                               {0x0F00702c,0x0204040a},//ROB- 0x0205050a,//0x0206060a
-                                                               {0x0F007030,0x06000000},
-                                                               {0x0F007034,0x00000004},
-                                                               {0x0F007038,0x1F080200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
-                                                               {0x0F00703C,0x0203031F},//ROB - 0x02101010,//0x02101018,
-                                                               {0x0F007040,0x6e001200},//ROB - 0x45751200,//0x450f1200,
-                                                               {0x0F007044,0x011a0a00},//ROB - 0x110a0d00//0x111f0d00
-                                                               {0x0F007048,0x03000305},
-                                                               {0x0F00704c,0x00000000},
-                                                               {0x0F007050,0x0100001c},
-                                                               {0x0F007054,0x00000000},
-                                                               {0x0F007058,0x00000000},
-                                                               {0x0F00705c,0x00000000},
-                                                               {0x0F007060,0x00082ED6},
-                                                               {0x0F007064,0x0000000A},
-                                                               {0x0F007068,0x00000000},
-                                                               {0x0F00706c,0x00000001},
-                                                               {0x0F007070,0x00005000},
-                                                               {0x0F007074,0x00000000},
-                                                               {0x0F007078,0x00000000},
-                                                               {0x0F00707C,0x00000000},
-                                                               {0x0F007080,0x00000000},
-                                                               {0x0F007084,0x00000000},
-                                                               {0x0F007088,0x01000001},
-                                                               {0x0F00708c,0x00000101},
-                                                               {0x0F007090,0x00000000},
-                                                               {0x0F007094,0x00010000},
-                                                               {0x0F007098,0x00000000},
-                                                               {0x0F0070C8,0x00000104},
+                                                               {0x0F007000, 0x00010001},
+                                                               {0x0F007004, 0x01010100},
+                                                               {0x0F007008, 0x01000001},
+                                                               {0x0F00700c, 0x00000000},
+                                                               {0x0F007010, 0x01000000},
+                                                               {0x0F007014, 0x01000100},
+                                                               {0x0F007018, 0x01000000},
+                                                               {0x0F00701c, 0x01020000},// POP - 0x00020001 Normal 0x01020001
+                                                               {0x0F007020, 0x04020107}, //Normal - 0x04030107 POP - 0x05030107
+                                                               {0x0F007024, 0x00000007},
+                                                               {0x0F007028, 0x01020200},
+                                                               {0x0F00702c, 0x0204040a},//ROB- 0x0205050a,//0x0206060a
+                                                               {0x0F007030, 0x06000000},
+                                                               {0x0F007034, 0x00000004},
+                                                               {0x0F007038, 0x1F080200},//ROB - 0x110a0200,//0x180a0200,// 0x1f0a0200
+                                                               {0x0F00703C, 0x0203031F},//ROB - 0x02101010,//0x02101018,
+                                                               {0x0F007040, 0x6e001200},//ROB - 0x45751200,//0x450f1200,
+                                                               {0x0F007044, 0x011a0a00},//ROB - 0x110a0d00//0x111f0d00
+                                                               {0x0F007048, 0x03000305},
+                                                               {0x0F00704c, 0x00000000},
+                                                               {0x0F007050, 0x0100001c},
+                                                               {0x0F007054, 0x00000000},
+                                                               {0x0F007058, 0x00000000},
+                                                               {0x0F00705c, 0x00000000},
+                                                               {0x0F007060, 0x00082ED6},
+                                                               {0x0F007064, 0x0000000A},
+                                                               {0x0F007068, 0x00000000},
+                                                               {0x0F00706c, 0x00000001},
+                                                               {0x0F007070, 0x00005000},
+                                                               {0x0F007074, 0x00000000},
+                                                               {0x0F007078, 0x00000000},
+                                                               {0x0F00707C, 0x00000000},
+                                                               {0x0F007080, 0x00000000},
+                                                               {0x0F007084, 0x00000000},
+                                                               {0x0F007088, 0x01000001},
+                                                               {0x0F00708c, 0x00000101},
+                                                               {0x0F007090, 0x00000000},
+                                                               {0x0F007094, 0x00010000},
+                                                               {0x0F007098, 0x00000000},
+                                                               {0x0F0070C8, 0x00000104},
                                                                //# Enable 2 ports within X-bar
-                                                               {0x0F00A000,0x00000016},
+                                                               {0x0F00A000, 0x00000016},
                                                                //# Enable start bit within memory controller
-                                                               {0x0F007018,0x01010000}
+                                                               {0x0F007018, 0x01010000}
 };
 
 #define T3LPB_SKIP_CLOCK_PROGRAM_DUMP_80MHZ 7  //index for 0x0F007000
-static struct bcm_ddr_setting asT3LPB_DDRSetting80MHz[]= {//   # DPLL Clock Setting
-                                                               {0x0f000820,0x07F13FFF},
-                                                               {0x0f000810,0x00002F95},
-                                                               {0x0f000860,0x00000000},
-                                                               {0x0f000880,0x000003DD},
-                                                               {0x0f000840,0x0FFF1F00},
-                                                               {0x0F00a044,0x1fffffff},
-                                                               {0x0F00a040,0x1f000000},
-                                                               {0x0f003050,0x00000021},//flash/eeprom clock divisor which set the flash clock to 20 MHz
-                                                               {0x0F00a084,0x1Cffffff},// dump from here in internal memory
-                                                               {0x0F00a080,0x1C000000},
-                                                               {0x0F00A000,0x00000016},
-                                                               {0x0f007000,0x00010001},
-                                                               {0x0f007004,0x01000000},
-                                                               {0x0f007008,0x01000001},
-                                                               {0x0f00700c,0x00000000},
-                                                               {0x0f007010,0x01000000},
-                                                               {0x0f007014,0x01000100},
-                                                               {0x0f007018,0x01000000},
-                                                               {0x0f00701c,0x01020000},
-                                                               {0x0f007020,0x04020107},
-                                                               {0x0f007024,0x00000007},
-                                                               {0x0f007028,0x02020200},
-                                                               {0x0f00702c,0x0204040a},
-                                                               {0x0f007030,0x04000000},
-                                                               {0x0f007034,0x00000002},
-                                                               {0x0f007038,0x1d060200},
-                                                               {0x0f00703c,0x1c22221d},
-                                                               {0x0f007040,0x8A116600},
-                                                               {0x0f007044,0x222d0800},
-                                                               {0x0f007048,0x02690204},
-                                                               {0x0f00704c,0x00000000},
-                                                               {0x0f007050,0x0100001c},
-                                                               {0x0f007054,0x00000000},
-                                                               {0x0f007058,0x00000000},
-                                                               {0x0f00705c,0x00000000},
-                                                               {0x0f007060,0x000A15D6},
-                                                               {0x0f007064,0x0000000A},
-                                                               {0x0f007068,0x00000000},
-                                                               {0x0f00706c,0x00000001},
-                                                               {0x0f007070,0x00004000},
-                                                               {0x0f007074,0x00000000},
-                                                               {0x0f007078,0x00000000},
-                                                               {0x0f00707c,0x00000000},
-                                                               {0x0f007080,0x00000000},
-                                                               {0x0f007084,0x00000000},
-                                                               {0x0f007088,0x01000001},
-                                                               {0x0f00708c,0x00000101},
-                                                               {0x0f007090,0x00000000},
-                                                               {0x0f007094,0x00010000},
-                                                               {0x0f007098,0x00000000},
-                                                               {0x0F0070C8,0x00000104},
-                                                               {0x0F007018,0x01010000}
+static struct bcm_ddr_setting asT3LPB_DDRSetting80MHz[] = {//  # DPLL Clock Setting
+                                                               {0x0f000820, 0x07F13FFF},
+                                                               {0x0f000810, 0x00002F95},
+                                                               {0x0f000860, 0x00000000},
+                                                               {0x0f000880, 0x000003DD},
+                                                               {0x0f000840, 0x0FFF1F00},
+                                                               {0x0F00a044, 0x1fffffff},
+                                                               {0x0F00a040, 0x1f000000},
+                                                               {0x0f003050, 0x00000021},//flash/eeprom clock divisor which set the flash clock to 20 MHz
+                                                               {0x0F00a084, 0x1Cffffff},// dump from here in internal memory
+                                                               {0x0F00a080, 0x1C000000},
+                                                               {0x0F00A000, 0x00000016},
+                                                               {0x0f007000, 0x00010001},
+                                                               {0x0f007004, 0x01000000},
+                                                               {0x0f007008, 0x01000001},
+                                                               {0x0f00700c, 0x00000000},
+                                                               {0x0f007010, 0x01000000},
+                                                               {0x0f007014, 0x01000100},
+                                                               {0x0f007018, 0x01000000},
+                                                               {0x0f00701c, 0x01020000},
+                                                               {0x0f007020, 0x04020107},
+                                                               {0x0f007024, 0x00000007},
+                                                               {0x0f007028, 0x02020200},
+                                                               {0x0f00702c, 0x0204040a},
+                                                               {0x0f007030, 0x04000000},
+                                                               {0x0f007034, 0x00000002},
+                                                               {0x0f007038, 0x1d060200},
+                                                               {0x0f00703c, 0x1c22221d},
+                                                               {0x0f007040, 0x8A116600},
+                                                               {0x0f007044, 0x222d0800},
+                                                               {0x0f007048, 0x02690204},
+                                                               {0x0f00704c, 0x00000000},
+                                                               {0x0f007050, 0x0100001c},
+                                                               {0x0f007054, 0x00000000},
+                                                               {0x0f007058, 0x00000000},
+                                                               {0x0f00705c, 0x00000000},
+                                                               {0x0f007060, 0x000A15D6},
+                                                               {0x0f007064, 0x0000000A},
+                                                               {0x0f007068, 0x00000000},
+                                                               {0x0f00706c, 0x00000001},
+                                                               {0x0f007070, 0x00004000},
+                                                               {0x0f007074, 0x00000000},
+                                                               {0x0f007078, 0x00000000},
+                                                               {0x0f00707c, 0x00000000},
+                                                               {0x0f007080, 0x00000000},
+                                                               {0x0f007084, 0x00000000},
+                                                               {0x0f007088, 0x01000001},
+                                                               {0x0f00708c, 0x00000101},
+                                                               {0x0f007090, 0x00000000},
+                                                               {0x0f007094, 0x00010000},
+                                                               {0x0f007098, 0x00000000},
+                                                               {0x0F0070C8, 0x00000104},
+                                                               {0x0F007018, 0x01010000}
 };
 
 
 int ddr_init(struct bcm_mini_adapter *Adapter)
 {
-       struct bcm_ddr_setting *psDDRSetting=NULL;
-       ULONG RegCount=0;
+       struct bcm_ddr_setting *psDDRSetting = NULL;
+       ULONG RegCount = 0;
        UINT value = 0;
        UINT  uiResetValue = 0;
        UINT uiClockSetting = 0;
@@ -787,20 +786,20 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
            switch (Adapter->DDRSetting)
            {
                case DDR_80_MHZ:
-                               psDDRSetting=asT3LP_DDRSetting80MHz;
-                           RegCount=(sizeof(asT3LP_DDRSetting80MHz)/
+                               psDDRSetting = asT3LP_DDRSetting80MHz;
+                           RegCount = (sizeof(asT3LP_DDRSetting80MHz)/
                                sizeof(struct bcm_ddr_setting));
                            break;
                    case DDR_100_MHZ:
-                               psDDRSetting=asT3LP_DDRSetting100MHz;
-                           RegCount=(sizeof(asT3LP_DDRSetting100MHz)/
+                               psDDRSetting = asT3LP_DDRSetting100MHz;
+                           RegCount = (sizeof(asT3LP_DDRSetting100MHz)/
                                sizeof(struct bcm_ddr_setting));
                            break;
                    case DDR_133_MHZ:
-                               psDDRSetting=asT3LP_DDRSetting133MHz;
-                           RegCount=(sizeof(asT3LP_DDRSetting133MHz)/
+                               psDDRSetting = asT3LP_DDRSetting133MHz;
+                           RegCount = (sizeof(asT3LP_DDRSetting133MHz)/
                                        sizeof(struct bcm_ddr_setting));
-                               if(Adapter->bMipsConfig == MIPS_200_MHZ)
+                               if (Adapter->bMipsConfig == MIPS_200_MHZ)
                                {
                                        uiClockSetting = 0x03F13652;
                                }
@@ -818,47 +817,47 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
        case BCS220_2:
        case BCS220_2BC:
        case BCS250_BC:
-       case BCS220_3 :
+       case BCS220_3:
                /* Set bit 2 and bit 6 to 1 for BBIC 2mA drive
                 * (please check current value and additionally set these bits)
                 */
-               if(Adapter->chip_id !=  BCS220_2) &&
+               if ((Adapter->chip_id !=  BCS220_2) &&
                        (Adapter->chip_id !=  BCS220_2BC) &&
-                       (Adapter->chip_id != BCS220_3) )
+                       (Adapter->chip_id != BCS220_3))
                {
-                               retval= rdmalt(Adapter,(UINT)0x0f000830, &uiResetValue, sizeof(uiResetValue));
-                               if(retval < 0) {
+                               retval = rdmalt(Adapter,(UINT)0x0f000830, &uiResetValue, sizeof(uiResetValue));
+                               if (retval < 0) {
                                        BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                        return retval;
                                }
                                uiResetValue |= 0x44;
                                retval = wrmalt(Adapter,(UINT)0x0f000830, &uiResetValue, sizeof(uiResetValue));
-                               if(retval < 0) {
+                               if (retval < 0) {
                                        BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                        return retval;
                                }
                }
-               switch(Adapter->DDRSetting)
+               switch (Adapter->DDRSetting)
                {
 
 
 
                        case DDR_80_MHZ:
                                psDDRSetting = asT3LPB_DDRSetting80MHz;
-                       RegCount=(sizeof(asT3B_DDRSetting80MHz)/
+                       RegCount = (sizeof(asT3B_DDRSetting80MHz)/
                                  sizeof(struct bcm_ddr_setting));
                        break;
             case DDR_100_MHZ:
-                               psDDRSetting=asT3LPB_DDRSetting100MHz;
-                       RegCount=(sizeof(asT3B_DDRSetting100MHz)/
+                               psDDRSetting = asT3LPB_DDRSetting100MHz;
+                       RegCount = (sizeof(asT3B_DDRSetting100MHz)/
                                 sizeof(struct bcm_ddr_setting));
                        break;
             case DDR_133_MHZ:
                                psDDRSetting = asT3LPB_DDRSetting133MHz;
-                               RegCount=(sizeof(asT3B_DDRSetting133MHz)/
+                               RegCount = (sizeof(asT3B_DDRSetting133MHz)/
                                                 sizeof(struct bcm_ddr_setting));
 
-                               if(Adapter->bMipsConfig == MIPS_200_MHZ)
+                               if (Adapter->bMipsConfig == MIPS_200_MHZ)
                                {
                                        uiClockSetting = 0x03F13652;
                                }
@@ -872,7 +871,7 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
                                psDDRSetting = asT3LPB_DDRSetting160MHz;
                                RegCount = sizeof(asT3LPB_DDRSetting160MHz)/sizeof(struct bcm_ddr_setting);
 
-                               if(Adapter->bMipsConfig == MIPS_200_MHZ)
+                               if (Adapter->bMipsConfig == MIPS_200_MHZ)
                                {
                                        uiClockSetting = 0x03F137D2;
                                }
@@ -915,30 +914,30 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
            {
                case DDR_80_MHZ:
                                psDDRSetting = asT3B_DDRSetting80MHz;
-                       RegCount=(sizeof(asT3B_DDRSetting80MHz)/
+                       RegCount = (sizeof(asT3B_DDRSetting80MHz)/
                                  sizeof(struct bcm_ddr_setting));
                    break;
             case DDR_100_MHZ:
-                               psDDRSetting=asT3B_DDRSetting100MHz;
-                       RegCount=(sizeof(asT3B_DDRSetting100MHz)/
+                               psDDRSetting = asT3B_DDRSetting100MHz;
+                       RegCount = (sizeof(asT3B_DDRSetting100MHz)/
                                 sizeof(struct bcm_ddr_setting));
                        break;
             case DDR_133_MHZ:
 
-                               if(Adapter->bDPLLConfig == PLL_266_MHZ)//266Mhz PLL selected.
+                               if (Adapter->bDPLLConfig == PLL_266_MHZ)//266Mhz PLL selected.
                                {
                                        memcpy(asT3B_DDRSetting133MHz, asDPLL_266MHZ,
                                                                         sizeof(asDPLL_266MHZ));
                                        psDDRSetting = asT3B_DDRSetting133MHz;
-                                       RegCount=(sizeof(asT3B_DDRSetting133MHz)/
+                                       RegCount = (sizeof(asT3B_DDRSetting133MHz)/
                                                                        sizeof(struct bcm_ddr_setting));
                                }
                                else
                                {
                                        psDDRSetting = asT3B_DDRSetting133MHz;
-                                       RegCount=(sizeof(asT3B_DDRSetting133MHz)/
+                                       RegCount = (sizeof(asT3B_DDRSetting133MHz)/
                                                                        sizeof(struct bcm_ddr_setting));
-                                       if(Adapter->bMipsConfig == MIPS_200_MHZ)
+                                       if (Adapter->bMipsConfig == MIPS_200_MHZ)
                                        {
                                                uiClockSetting = 0x07F13652;
                                        }
@@ -958,11 +957,11 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
                return -EINVAL;
        }
 
-       value=0;
+       value = 0;
        BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "Register Count is =%lu\n", RegCount);
-       while(RegCount && !retval)
+       while (RegCount && !retval)
        {
-               if(uiClockSetting && psDDRSetting->ulRegAddress == MIPS_CLOCK_REG)
+               if (uiClockSetting && psDDRSetting->ulRegAddress == MIPS_CLOCK_REG)
                {
                        value = uiClockSetting;
                }
@@ -971,7 +970,7 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
                        value = psDDRSetting->ulRegValue;
                }
                retval = wrmalt(Adapter, psDDRSetting->ulRegAddress, &value, sizeof(value));
-               if(STATUS_SUCCESS != retval) {
+               if (STATUS_SUCCESS != retval) {
                        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "%s:%d\n", __func__, __LINE__);
                        break;
                }
@@ -980,36 +979,36 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
                psDDRSetting++;
        }
 
-       if(Adapter->chip_id >= 0xbece3300  )
+       if (Adapter->chip_id >= 0xbece3300)
        {
 
                mdelay(3);
-               if( (Adapter->chip_id != BCS220_2)&&
-                       (Adapter->chip_id != BCS220_2BC)&&
+               if ((Adapter->chip_id != BCS220_2) &&
+                       (Adapter->chip_id != BCS220_2BC) &&
                        (Adapter->chip_id != BCS220_3))
                {
                        /* drive MDDR to half in case of UMA-B: */
                        uiResetValue = 0x01010001;
                        retval = wrmalt(Adapter, (UINT)0x0F007018, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x00040020;
                        retval = wrmalt(Adapter, (UINT)0x0F007094, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x01020101;
                        retval = wrmalt(Adapter, (UINT)0x0F00701c, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x01010000;
                        retval = wrmalt(Adapter, (UINT)0x0F007018, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
@@ -1022,73 +1021,73 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
                 * and since we dont have internal PMU lets do it under UMA-B chip id.
             * we will change this when we will have internal PMU.
             */
-               if(Adapter->PmuMode == HYBRID_MODE_7C)
+               if (Adapter->PmuMode == HYBRID_MODE_7C)
                {
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x1322a8;
                        retval = wrmalt(Adapter, (UINT)0x0f000d1c, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x132296;
                        retval = wrmalt(Adapter, (UINT)0x0f000d14, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                }
-               else if(Adapter->PmuMode == HYBRID_MODE_6 )
+               else if (Adapter->PmuMode == HYBRID_MODE_6)
                {
 
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x6003229a;
                        retval = wrmalt(Adapter, (UINT)0x0f000d14, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        retval = rdmalt(Adapter,(UINT)0x0f000c00, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
                        uiResetValue = 0x1322a8;
                        retval = wrmalt(Adapter, (UINT)0x0f000d1c, &uiResetValue, sizeof(uiResetValue));
-                       if(retval < 0) {
+                       if (retval < 0) {
                                BCM_DEBUG_PRINT(Adapter, CMHOST, RDM, DBG_LVL_ALL, "%s:%d RDM failed\n", __func__, __LINE__);
                                return retval;
                        }
@@ -1101,8 +1100,8 @@ int ddr_init(struct bcm_mini_adapter *Adapter)
 
 int download_ddr_settings(struct bcm_mini_adapter *Adapter)
 {
-       struct bcm_ddr_setting *psDDRSetting=NULL;
-       ULONG RegCount=0;
+       struct bcm_ddr_setting *psDDRSetting = NULL;
+       ULONG RegCount = 0;
        unsigned long ul_ddr_setting_load_addr = DDR_DUMP_INTERNAL_DEVICE_MEMORY;
        UINT  value = 0;
        int retval = STATUS_SUCCESS;
@@ -1116,20 +1115,20 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
                case DDR_80_MHZ:
                                psDDRSetting = asT3LP_DDRSetting80MHz;
                 RegCount = ARRAY_SIZE(asT3LP_DDRSetting80MHz);
-                               RegCount -= T3LP_SKIP_CLOCK_PROGRAM_DUMP_80MHZ ;
+                               RegCount -= T3LP_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                 psDDRSetting += T3LP_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                        break;
                    case DDR_100_MHZ:
                                psDDRSetting = asT3LP_DDRSetting100MHz;
                            RegCount = ARRAY_SIZE(asT3LP_DDRSetting100MHz);
-                               RegCount -= T3LP_SKIP_CLOCK_PROGRAM_DUMP_100MHZ ;
+                               RegCount -= T3LP_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                 psDDRSetting += T3LP_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                            break;
                     case DDR_133_MHZ:
                                bOverrideSelfRefresh = TRUE;
                                psDDRSetting = asT3LP_DDRSetting133MHz;
                            RegCount = ARRAY_SIZE(asT3LP_DDRSetting133MHz);
-                               RegCount -= T3LP_SKIP_CLOCK_PROGRAM_DUMP_133MHZ ;
+                               RegCount -= T3LP_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                        psDDRSetting += T3LP_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                                break;
                        default:
@@ -1141,26 +1140,26 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
        case BCS220_2:
        case BCS220_2BC:
        case BCS250_BC:
-       case BCS220_3 :
+       case BCS220_3:
            switch (Adapter->DDRSetting)
            {
                case DDR_80_MHZ:
                                psDDRSetting = asT3LPB_DDRSetting80MHz;
-                RegCount=ARRAY_SIZE(asT3LPB_DDRSetting80MHz);
-                               RegCount -= T3LPB_SKIP_CLOCK_PROGRAM_DUMP_80MHZ ;
+                RegCount = ARRAY_SIZE(asT3LPB_DDRSetting80MHz);
+                               RegCount -= T3LPB_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                 psDDRSetting += T3LPB_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                        break;
                    case DDR_100_MHZ:
                                psDDRSetting = asT3LPB_DDRSetting100MHz;
                            RegCount = ARRAY_SIZE(asT3LPB_DDRSetting100MHz);
-                               RegCount -= T3LPB_SKIP_CLOCK_PROGRAM_DUMP_100MHZ ;
+                               RegCount -= T3LPB_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                 psDDRSetting += T3LPB_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                            break;
                     case DDR_133_MHZ:
                                bOverrideSelfRefresh = TRUE;
                                psDDRSetting = asT3LPB_DDRSetting133MHz;
                            RegCount = ARRAY_SIZE(asT3LPB_DDRSetting133MHz);
-                               RegCount -= T3LPB_SKIP_CLOCK_PROGRAM_DUMP_133MHZ ;
+                               RegCount -= T3LPB_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                        psDDRSetting += T3LPB_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                                break;
 
@@ -1182,20 +1181,20 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
                case DDR_80_MHZ:
                                psDDRSetting = asT3_DDRSetting80MHz;
                 RegCount = ARRAY_SIZE(asT3_DDRSetting80MHz);
-                               RegCount-=T3_SKIP_CLOCK_PROGRAM_DUMP_80MHZ ;
+                               RegCount -= T3_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                 psDDRSetting += T3_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                        break;
                    case DDR_100_MHZ:
                                psDDRSetting = asT3_DDRSetting100MHz;
                            RegCount = ARRAY_SIZE(asT3_DDRSetting100MHz);
-                               RegCount-=T3_SKIP_CLOCK_PROGRAM_DUMP_100MHZ ;
+                               RegCount -= T3_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                 psDDRSetting += T3_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                            break;
                     case DDR_133_MHZ:
                                psDDRSetting = asT3_DDRSetting133MHz;
                            RegCount = ARRAY_SIZE(asT3_DDRSetting133MHz);
-                               RegCount-=T3_SKIP_CLOCK_PROGRAM_DUMP_133MHZ ;
-                       psDDRSetting += T3_SKIP_CLOCK_PROGRAM_DUMP_133MHZ ;
+                               RegCount -= T3_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
+                       psDDRSetting += T3_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                                break;
                        default:
                            return -EINVAL;
@@ -1208,20 +1207,20 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
                        case DDR_80_MHZ:
                                        psDDRSetting = asT3B_DDRSetting80MHz;
                     RegCount = ARRAY_SIZE(asT3B_DDRSetting80MHz);
-                    RegCount -= T3B_SKIP_CLOCK_PROGRAM_DUMP_80MHZ ;
+                    RegCount -= T3B_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                     psDDRSetting += T3B_SKIP_CLOCK_PROGRAM_DUMP_80MHZ;
                                break;
                        case DDR_100_MHZ:
                                        psDDRSetting = asT3B_DDRSetting100MHz;
                                RegCount = ARRAY_SIZE(asT3B_DDRSetting100MHz);
-                    RegCount -= T3B_SKIP_CLOCK_PROGRAM_DUMP_100MHZ ;
+                    RegCount -= T3B_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                     psDDRSetting += T3B_SKIP_CLOCK_PROGRAM_DUMP_100MHZ;
                                break;
                        case DDR_133_MHZ:
                                        bOverrideSelfRefresh = TRUE;
                                        psDDRSetting = asT3B_DDRSetting133MHz;
                                RegCount = ARRAY_SIZE(asT3B_DDRSetting133MHz);
-                       RegCount -= T3B_SKIP_CLOCK_PROGRAM_DUMP_133MHZ ;
+                       RegCount -= T3B_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                            psDDRSetting += T3B_SKIP_CLOCK_PROGRAM_DUMP_133MHZ;
                                        break;
                      }
@@ -1231,9 +1230,9 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
                return -EINVAL;
        }
        //total number of Register that has to be dumped
-       value =RegCount  ;
+       value = RegCount;
        retval = wrmalt(Adapter, ul_ddr_setting_load_addr, &value, sizeof(value));
-       if(retval)
+       if (retval)
        {
                BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "%s:%d\n", __func__, __LINE__);
 
@@ -1241,29 +1240,29 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
        }
        ul_ddr_setting_load_addr += sizeof(ULONG);
        /*signature */
-       value =(0x1d1e0dd0);
+       value = (0x1d1e0dd0);
        retval = wrmalt(Adapter, ul_ddr_setting_load_addr, &value, sizeof(value));
-       if(retval)
+       if (retval)
        {
                BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "%s:%d\n", __func__, __LINE__);
                return retval;
        }
 
        ul_ddr_setting_load_addr += sizeof(ULONG);
-       RegCount*=(sizeof(struct bcm_ddr_setting)/sizeof(ULONG));
+       RegCount *= (sizeof(struct bcm_ddr_setting)/sizeof(ULONG));
 
-       while(RegCount && !retval)
+       while (RegCount && !retval)
        {
-               value = psDDRSetting->ulRegAddress ;
-               retval = wrmalt( Adapter, ul_ddr_setting_load_addr, &value, sizeof(value));
+               value = psDDRSetting->ulRegAddress;
+               retval = wrmalt(Adapter, ul_ddr_setting_load_addr, &value, sizeof(value));
                ul_ddr_setting_load_addr += sizeof(ULONG);
-               if(!retval)
+               if (!retval)
                {
-                       if(bOverrideSelfRefresh && (psDDRSetting->ulRegAddress == 0x0F007018))
+                       if (bOverrideSelfRefresh && (psDDRSetting->ulRegAddress == 0x0F007018))
                        {
                                value = (psDDRSetting->ulRegValue |(1<<8));
-                               if(STATUS_SUCCESS != wrmalt(Adapter, ul_ddr_setting_load_addr,
-                                               &value, sizeof(value))){
+                               if (STATUS_SUCCESS != wrmalt(Adapter, ul_ddr_setting_load_addr,
+                                               &value, sizeof(value))) {
                                        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "%s:%d\n", __func__, __LINE__);
                                        break;
                                }
@@ -1272,8 +1271,8 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
                        {
                                value =  psDDRSetting->ulRegValue;
 
-                               if(STATUS_SUCCESS != wrmalt(Adapter, ul_ddr_setting_load_addr ,
-                                                       &value, sizeof(value))){
+                               if (STATUS_SUCCESS != wrmalt(Adapter, ul_ddr_setting_load_addr ,
+                                                       &value, sizeof(value))) {
                                        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0, "%s:%d\n", __func__, __LINE__);
                                        break;
                                }
@@ -1285,5 +1284,3 @@ int download_ddr_settings(struct bcm_mini_adapter *Adapter)
        }
        return retval;
 }
-
-
index 62efd74b8c04746da6cb1ccfa425139fa67e89bf..043a93230e82d6c5e5cadaf56eaa5f856b089916 100644 (file)
@@ -630,7 +630,7 @@ int ClearArea(DEVICE_EXTENSION *pdx, int nArea)
                        }
                        spin_unlock_irq(&pdx->stagedLock);
 
-                       if (pPages) {   /*  if we decided to release the memory */
+                       if (pPages) {   /*  if we decided to release the memory */
                                /*  Now we must undo the pinning down of the pages. We will assume the worst and mark */
                                /*  all the pages as dirty. Don't be tempted to move this up above as you must not be */
                                /*  holding a spin lock to do this stuff as it is not atomic. */
index 4e26bd7fc84f3560135296aea5cadd736df7797d..924fce977985b27434c577d176cfd21c7bb49f89 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #include <linux/vmalloc.h>
+#include <linux/slab.h>
 
 #include "comedidev.h"
 #include "comedi_internal.h"
 #define COMEDI_PAGE_PROTECTION         PAGE_KERNEL
 #endif
 
-static void __comedi_buf_free(struct comedi_device *dev,
-                             struct comedi_subdevice *s,
-                             unsigned n_pages)
+static void comedi_buf_map_kref_release(struct kref *kref)
 {
-       struct comedi_async *async = s->async;
+       struct comedi_buf_map *bm =
+               container_of(kref, struct comedi_buf_map, refcount);
        struct comedi_buf_page *buf;
-       unsigned i;
-
-       if (async->prealloc_buf) {
-               vunmap(async->prealloc_buf);
-               async->prealloc_buf = NULL;
-               async->prealloc_bufsz = 0;
-       }
+       unsigned int i;
 
-       if (!async->buf_page_list)
-               return;
-
-       for (i = 0; i < n_pages; ++i) {
-               buf = &async->buf_page_list[i];
-               if (buf->virt_addr) {
+       if (bm->page_list) {
+               for (i = 0; i < bm->n_pages; i++) {
+                       buf = &bm->page_list[i];
                        clear_bit(PG_reserved,
                                  &(virt_to_page(buf->virt_addr)->flags));
-                       if (s->async_dma_dir != DMA_NONE) {
+                       if (bm->dma_dir != DMA_NONE) {
 #ifdef CONFIG_HAS_DMA
-                               dma_free_coherent(dev->hw_dev,
+                               dma_free_coherent(bm->dma_hw_dev,
                                                  PAGE_SIZE,
                                                  buf->virt_addr,
                                                  buf->dma_addr);
@@ -59,10 +50,26 @@ static void __comedi_buf_free(struct comedi_device *dev,
                                free_page((unsigned long)buf->virt_addr);
                        }
                }
+               vfree(bm->page_list);
        }
-       vfree(async->buf_page_list);
-       async->buf_page_list = NULL;
-       async->n_buf_pages = 0;
+       if (bm->dma_dir != DMA_NONE)
+               put_device(bm->dma_hw_dev);
+       kfree(bm);
+}
+
+static void __comedi_buf_free(struct comedi_device *dev,
+                             struct comedi_subdevice *s)
+{
+       struct comedi_async *async = s->async;
+
+       if (async->prealloc_buf) {
+               vunmap(async->prealloc_buf);
+               async->prealloc_buf = NULL;
+               async->prealloc_bufsz = 0;
+       }
+
+       comedi_buf_map_put(async->buf_map);
+       async->buf_map = NULL;
 }
 
 static void __comedi_buf_alloc(struct comedi_device *dev,
@@ -71,6 +78,7 @@ static void __comedi_buf_alloc(struct comedi_device *dev,
 {
        struct comedi_async *async = s->async;
        struct page **pages = NULL;
+       struct comedi_buf_map *bm;
        struct comedi_buf_page *buf;
        unsigned i;
 
@@ -80,18 +88,29 @@ static void __comedi_buf_alloc(struct comedi_device *dev,
                return;
        }
 
-       async->buf_page_list = vzalloc(sizeof(*buf) * n_pages);
-       if (async->buf_page_list)
+       bm = kzalloc(sizeof(*async->buf_map), GFP_KERNEL);
+       if (!bm)
+               return;
+
+       async->buf_map = bm;
+       kref_init(&bm->refcount);
+       bm->dma_dir = s->async_dma_dir;
+       if (bm->dma_dir != DMA_NONE)
+               /* Need ref to hardware device to free buffer later. */
+               bm->dma_hw_dev = get_device(dev->hw_dev);
+
+       bm->page_list = vzalloc(sizeof(*buf) * n_pages);
+       if (bm->page_list)
                pages = vmalloc(sizeof(struct page *) * n_pages);
 
        if (!pages)
                return;
 
        for (i = 0; i < n_pages; i++) {
-               buf = &async->buf_page_list[i];
-               if (s->async_dma_dir != DMA_NONE)
+               buf = &bm->page_list[i];
+               if (bm->dma_dir != DMA_NONE)
 #ifdef CONFIG_HAS_DMA
-                       buf->virt_addr = dma_alloc_coherent(dev->hw_dev,
+                       buf->virt_addr = dma_alloc_coherent(bm->dma_hw_dev,
                                                            PAGE_SIZE,
                                                            &buf->dma_addr,
                                                            GFP_KERNEL |
@@ -108,6 +127,7 @@ static void __comedi_buf_alloc(struct comedi_device *dev,
 
                pages[i] = virt_to_page(buf->virt_addr);
        }
+       bm->n_pages = i;
 
        /* vmap the prealloc_buf if all the pages were allocated */
        if (i == n_pages)
@@ -117,6 +137,26 @@ static void __comedi_buf_alloc(struct comedi_device *dev,
        vfree(pages);
 }
 
+void comedi_buf_map_get(struct comedi_buf_map *bm)
+{
+       if (bm)
+               kref_get(&bm->refcount);
+}
+
+int comedi_buf_map_put(struct comedi_buf_map *bm)
+{
+       if (bm)
+               return kref_put(&bm->refcount, comedi_buf_map_kref_release);
+       return 1;
+}
+
+bool comedi_buf_is_mmapped(struct comedi_async *async)
+{
+       struct comedi_buf_map *bm = async->buf_map;
+
+       return bm && (atomic_read(&bm->refcount.refcount) > 1);
+}
+
 int comedi_buf_alloc(struct comedi_device *dev, struct comedi_subdevice *s,
                     unsigned long new_size)
 {
@@ -130,7 +170,7 @@ int comedi_buf_alloc(struct comedi_device *dev, struct comedi_subdevice *s,
                return 0;
 
        /* deallocate old buffer */
-       __comedi_buf_free(dev, s, async->n_buf_pages);
+       __comedi_buf_free(dev, s);
 
        /* allocate new buffer */
        if (new_size) {
@@ -140,10 +180,9 @@ int comedi_buf_alloc(struct comedi_device *dev, struct comedi_subdevice *s,
 
                if (!async->prealloc_buf) {
                        /* allocation failed */
-                       __comedi_buf_free(dev, s, n_pages);
+                       __comedi_buf_free(dev, s);
                        return -ENOMEM;
                }
-               async->n_buf_pages = n_pages;
        }
        async->prealloc_bufsz = new_size;
 
index f3d59e2a1152b5626caa9c7e7e0ebd9f50f587b6..58f2b27144ca5dfd9a37bcff6d85b0ca1e12637c 100644 (file)
@@ -89,11 +89,37 @@ static struct cdev comedi_cdev;
 
 static void comedi_device_init(struct comedi_device *dev)
 {
+       kref_init(&dev->refcount);
        spin_lock_init(&dev->spinlock);
        mutex_init(&dev->mutex);
+       init_rwsem(&dev->attach_lock);
        dev->minor = -1;
 }
 
+static void comedi_dev_kref_release(struct kref *kref)
+{
+       struct comedi_device *dev =
+               container_of(kref, struct comedi_device, refcount);
+
+       mutex_destroy(&dev->mutex);
+       kfree(dev);
+}
+
+int comedi_dev_put(struct comedi_device *dev)
+{
+       if (dev)
+               return kref_put(&dev->refcount, comedi_dev_kref_release);
+       return 1;
+}
+EXPORT_SYMBOL_GPL(comedi_dev_put);
+
+static struct comedi_device *comedi_dev_get(struct comedi_device *dev)
+{
+       if (dev)
+               kref_get(&dev->refcount);
+       return dev;
+}
+
 static void comedi_device_cleanup(struct comedi_device *dev)
 {
        struct module *driver_module = NULL;
@@ -111,7 +137,6 @@ static void comedi_device_cleanup(struct comedi_device *dev)
                dev->use_count--;
        }
        mutex_unlock(&dev->mutex);
-       mutex_destroy(&dev->mutex);
 }
 
 static bool comedi_clear_board_dev(struct comedi_device *dev)
@@ -147,12 +172,12 @@ static void comedi_free_board_dev(struct comedi_device *dev)
                                       MKDEV(COMEDI_MAJOR, dev->minor));
                }
                comedi_device_cleanup(dev);
-               kfree(dev);
+               comedi_dev_put(dev);
        }
 }
 
 static struct comedi_subdevice
-*comedi_subdevice_from_minor(unsigned minor)
+*comedi_subdevice_from_minor(const struct comedi_device *dev, unsigned minor)
 {
        struct comedi_subdevice *s;
        unsigned int i = minor - COMEDI_NUM_BOARD_MINORS;
@@ -160,37 +185,45 @@ static struct comedi_subdevice
        BUG_ON(i >= COMEDI_NUM_SUBDEVICE_MINORS);
        mutex_lock(&comedi_subdevice_minor_table_lock);
        s = comedi_subdevice_minor_table[i];
+       if (s && s->device != dev)
+               s = NULL;
        mutex_unlock(&comedi_subdevice_minor_table_lock);
        return s;
 }
 
-static struct comedi_device *comedi_dev_from_board_minor(unsigned minor)
+static struct comedi_device *comedi_dev_get_from_board_minor(unsigned minor)
 {
        struct comedi_device *dev;
 
        BUG_ON(minor >= COMEDI_NUM_BOARD_MINORS);
        mutex_lock(&comedi_board_minor_table_lock);
-       dev = comedi_board_minor_table[minor];
+       dev = comedi_dev_get(comedi_board_minor_table[minor]);
        mutex_unlock(&comedi_board_minor_table_lock);
        return dev;
 }
 
-static struct comedi_device *comedi_dev_from_subdevice_minor(unsigned minor)
+static struct comedi_device *comedi_dev_get_from_subdevice_minor(unsigned minor)
 {
+       struct comedi_device *dev;
        struct comedi_subdevice *s;
+       unsigned int i = minor - COMEDI_NUM_BOARD_MINORS;
 
-       s = comedi_subdevice_from_minor(minor);
-       return s ? s->device : NULL;
+       BUG_ON(i >= COMEDI_NUM_SUBDEVICE_MINORS);
+       mutex_lock(&comedi_subdevice_minor_table_lock);
+       s = comedi_subdevice_minor_table[i];
+       dev = comedi_dev_get(s ? s->device : NULL);
+       mutex_unlock(&comedi_subdevice_minor_table_lock);
+       return dev;
 }
 
-struct comedi_device *comedi_dev_from_minor(unsigned minor)
+struct comedi_device *comedi_dev_get_from_minor(unsigned minor)
 {
        if (minor < COMEDI_NUM_BOARD_MINORS)
-               return comedi_dev_from_board_minor(minor);
+               return comedi_dev_get_from_board_minor(minor);
        else
-               return comedi_dev_from_subdevice_minor(minor);
+               return comedi_dev_get_from_subdevice_minor(minor);
 }
-EXPORT_SYMBOL_GPL(comedi_dev_from_minor);
+EXPORT_SYMBOL_GPL(comedi_dev_get_from_minor);
 
 static struct comedi_subdevice *
 comedi_read_subdevice(const struct comedi_device *dev, unsigned int minor)
@@ -198,10 +231,8 @@ comedi_read_subdevice(const struct comedi_device *dev, unsigned int minor)
        struct comedi_subdevice *s;
 
        if (minor >= COMEDI_NUM_BOARD_MINORS) {
-               s = comedi_subdevice_from_minor(minor);
-               if (!s || s->device != dev)
-                       return NULL;
-               if (s->subdev_flags & SDF_CMD_READ)
+               s = comedi_subdevice_from_minor(dev, minor);
+               if (s == NULL || (s->subdev_flags & SDF_CMD_READ))
                        return s;
        }
        return dev->read_subdev;
@@ -213,10 +244,8 @@ comedi_write_subdevice(const struct comedi_device *dev, unsigned int minor)
        struct comedi_subdevice *s;
 
        if (minor >= COMEDI_NUM_BOARD_MINORS) {
-               s = comedi_subdevice_from_minor(minor);
-               if (!s || s->device != dev)
-                       return NULL;
-               if (s->subdev_flags & SDF_CMD_WRITE)
+               s = comedi_subdevice_from_minor(dev, minor);
+               if (s == NULL || (s->subdev_flags & SDF_CMD_WRITE))
                        return s;
        }
        return dev->write_subdev;
@@ -235,7 +264,7 @@ static int resize_async_buffer(struct comedi_device *dev,
                DPRINTK("subdevice is busy, cannot resize buffer\n");
                return -EBUSY;
        }
-       if (async->mmap_count) {
+       if (comedi_buf_is_mmapped(async)) {
                DPRINTK("subdevice is mmapped, cannot resize buffer\n");
                return -EBUSY;
        }
@@ -269,7 +298,7 @@ static ssize_t max_read_buffer_kb_show(struct device *csdev,
        struct comedi_subdevice *s;
        unsigned int size = 0;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -279,6 +308,7 @@ static ssize_t max_read_buffer_kb_show(struct device *csdev,
                size = s->async->max_bufsize / 1024;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return snprintf(buf, PAGE_SIZE, "%i\n", size);
 }
 
@@ -299,7 +329,7 @@ static ssize_t max_read_buffer_kb_store(struct device *csdev,
                return -EINVAL;
        size *= 1024;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -311,6 +341,7 @@ static ssize_t max_read_buffer_kb_store(struct device *csdev,
                err = -EINVAL;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return err ? err : count;
 }
 static DEVICE_ATTR_RW(max_read_buffer_kb);
@@ -323,7 +354,7 @@ static ssize_t read_buffer_kb_show(struct device *csdev,
        struct comedi_subdevice *s;
        unsigned int size = 0;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -333,6 +364,7 @@ static ssize_t read_buffer_kb_show(struct device *csdev,
                size = s->async->prealloc_bufsz / 1024;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return snprintf(buf, PAGE_SIZE, "%i\n", size);
 }
 
@@ -353,7 +385,7 @@ static ssize_t read_buffer_kb_store(struct device *csdev,
                return -EINVAL;
        size *= 1024;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -365,6 +397,7 @@ static ssize_t read_buffer_kb_store(struct device *csdev,
                err = -EINVAL;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return err ? err : count;
 }
 static DEVICE_ATTR_RW(read_buffer_kb);
@@ -378,7 +411,7 @@ static ssize_t max_write_buffer_kb_show(struct device *csdev,
        struct comedi_subdevice *s;
        unsigned int size = 0;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -388,6 +421,7 @@ static ssize_t max_write_buffer_kb_show(struct device *csdev,
                size = s->async->max_bufsize / 1024;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return snprintf(buf, PAGE_SIZE, "%i\n", size);
 }
 
@@ -408,7 +442,7 @@ static ssize_t max_write_buffer_kb_store(struct device *csdev,
                return -EINVAL;
        size *= 1024;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -420,6 +454,7 @@ static ssize_t max_write_buffer_kb_store(struct device *csdev,
                err = -EINVAL;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return err ? err : count;
 }
 static DEVICE_ATTR_RW(max_write_buffer_kb);
@@ -432,7 +467,7 @@ static ssize_t write_buffer_kb_show(struct device *csdev,
        struct comedi_subdevice *s;
        unsigned int size = 0;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -442,6 +477,7 @@ static ssize_t write_buffer_kb_show(struct device *csdev,
                size = s->async->prealloc_bufsz / 1024;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return snprintf(buf, PAGE_SIZE, "%i\n", size);
 }
 
@@ -462,7 +498,7 @@ static ssize_t write_buffer_kb_store(struct device *csdev,
                return -EINVAL;
        size *= 1024;
 
-       dev = comedi_dev_from_minor(minor);
+       dev = comedi_dev_get_from_minor(minor);
        if (!dev)
                return -ENODEV;
 
@@ -474,6 +510,7 @@ static ssize_t write_buffer_kb_store(struct device *csdev,
                err = -EINVAL;
        mutex_unlock(&dev->mutex);
 
+       comedi_dev_put(dev);
        return err ? err : count;
 }
 static DEVICE_ATTR_RW(write_buffer_kb);
@@ -562,12 +599,13 @@ static void do_become_nonbusy(struct comedi_device *dev,
                async->inttrig = NULL;
                kfree(async->cmd.chanlist);
                async->cmd.chanlist = NULL;
+               s->busy = NULL;
+               wake_up_interruptible_all(&s->async->wait_head);
        } else {
                dev_err(dev->class_dev,
                        "BUG: (?) do_become_nonbusy called with async=NULL\n");
+               s->busy = NULL;
        }
-
-       s->busy = NULL;
 }
 
 static int do_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
@@ -582,6 +620,21 @@ static int do_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
        return ret;
 }
 
+void comedi_device_cancel_all(struct comedi_device *dev)
+{
+       struct comedi_subdevice *s;
+       int i;
+
+       if (!dev->attached)
+               return;
+
+       for (i = 0; i < dev->n_subdevices; i++) {
+               s = &dev->subdevices[i];
+               if (s->async)
+                       do_cancel(dev, s);
+       }
+}
+
 static int is_device_busy(struct comedi_device *dev)
 {
        struct comedi_subdevice *s;
@@ -594,7 +647,7 @@ static int is_device_busy(struct comedi_device *dev)
                s = &dev->subdevices[i];
                if (s->busy)
                        return 1;
-               if (s->async && s->async->mmap_count)
+               if (s->async && comedi_buf_is_mmapped(s->async))
                        return 1;
        }
 
@@ -1469,8 +1522,7 @@ static int do_cmd_ioctl(struct comedi_device *dev,
        if (async->cmd.flags & TRIG_WAKE_EOS)
                async->cb_mask |= COMEDI_CB_EOS;
 
-       comedi_set_subdevice_runflags(s, SRF_USER | SRF_ERROR | SRF_RUNNING,
-                                     SRF_USER | SRF_RUNNING);
+       comedi_set_subdevice_runflags(s, SRF_ERROR | SRF_RUNNING, SRF_RUNNING);
 
        /* set s->busy _after_ setting SRF_RUNNING flag to avoid race with
         * comedi_read() or comedi_write() */
@@ -1700,8 +1752,6 @@ static int do_cancel_ioctl(struct comedi_device *dev, unsigned int arg,
                return -EBUSY;
 
        ret = do_cancel(dev, s);
-       if (comedi_get_subdevice_runflags(s) & SRF_USER)
-               wake_up_interruptible(&s->async->wait_head);
 
        return ret;
 }
@@ -1748,12 +1798,9 @@ static long comedi_unlocked_ioctl(struct file *file, unsigned int cmd,
                                  unsigned long arg)
 {
        const unsigned minor = iminor(file_inode(file));
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = file->private_data;
        int rc;
 
-       if (!dev)
-               return -ENODEV;
-
        mutex_lock(&dev->mutex);
 
        /* Device config is special, because it must work on
@@ -1852,28 +1899,18 @@ done:
 
 static void comedi_vm_open(struct vm_area_struct *area)
 {
-       struct comedi_async *async;
-       struct comedi_device *dev;
+       struct comedi_buf_map *bm;
 
-       async = area->vm_private_data;
-       dev = async->subdevice->device;
-
-       mutex_lock(&dev->mutex);
-       async->mmap_count++;
-       mutex_unlock(&dev->mutex);
+       bm = area->vm_private_data;
+       comedi_buf_map_get(bm);
 }
 
 static void comedi_vm_close(struct vm_area_struct *area)
 {
-       struct comedi_async *async;
-       struct comedi_device *dev;
-
-       async = area->vm_private_data;
-       dev = async->subdevice->device;
+       struct comedi_buf_map *bm;
 
-       mutex_lock(&dev->mutex);
-       async->mmap_count--;
-       mutex_unlock(&dev->mutex);
+       bm = area->vm_private_data;
+       comedi_buf_map_put(bm);
 }
 
 static struct vm_operations_struct comedi_vm_ops = {
@@ -1884,18 +1921,16 @@ static struct vm_operations_struct comedi_vm_ops = {
 static int comedi_mmap(struct file *file, struct vm_area_struct *vma)
 {
        const unsigned minor = iminor(file_inode(file));
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = file->private_data;
        struct comedi_subdevice *s;
        struct comedi_async *async;
+       struct comedi_buf_map *bm;
        unsigned long start = vma->vm_start;
        unsigned long size;
        int n_pages;
        int i;
        int retval;
 
-       if (!dev)
-               return -ENODEV;
-
        mutex_lock(&dev->mutex);
 
        if (!dev->attached) {
@@ -1936,8 +1971,13 @@ static int comedi_mmap(struct file *file, struct vm_area_struct *vma)
        }
 
        n_pages = size >> PAGE_SHIFT;
+       bm = async->buf_map;
+       if (!bm || n_pages > bm->n_pages) {
+               retval = -EINVAL;
+               goto done;
+       }
        for (i = 0; i < n_pages; ++i) {
-               struct comedi_buf_page *buf = &async->buf_page_list[i];
+               struct comedi_buf_page *buf = &bm->page_list[i];
 
                if (remap_pfn_range(vma, start,
                                    page_to_pfn(virt_to_page(buf->virt_addr)),
@@ -1949,9 +1989,9 @@ static int comedi_mmap(struct file *file, struct vm_area_struct *vma)
        }
 
        vma->vm_ops = &comedi_vm_ops;
-       vma->vm_private_data = async;
+       vma->vm_private_data = bm;
 
-       async->mmap_count++;
+       vma->vm_ops->open(vma);
 
        retval = 0;
 done:
@@ -1963,12 +2003,9 @@ static unsigned int comedi_poll(struct file *file, poll_table *wait)
 {
        unsigned int mask = 0;
        const unsigned minor = iminor(file_inode(file));
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = file->private_data;
        struct comedi_subdevice *s;
 
-       if (!dev)
-               return -ENODEV;
-
        mutex_lock(&dev->mutex);
 
        if (!dev->attached) {
@@ -2008,39 +2045,75 @@ static ssize_t comedi_write(struct file *file, const char __user *buf,
        int n, m, count = 0, retval = 0;
        DECLARE_WAITQUEUE(wait, current);
        const unsigned minor = iminor(file_inode(file));
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = file->private_data;
+       bool on_wait_queue = false;
+       bool attach_locked;
+       unsigned int old_detach_count;
 
-       if (!dev)
-               return -ENODEV;
+       /* Protect against device detachment during operation. */
+       down_read(&dev->attach_lock);
+       attach_locked = true;
+       old_detach_count = dev->detach_count;
 
        if (!dev->attached) {
                DPRINTK("no driver configured on comedi%i\n", dev->minor);
-               return -ENODEV;
+               retval = -ENODEV;
+               goto out;
        }
 
        s = comedi_write_subdevice(dev, minor);
-       if (!s || !s->async)
-               return -EIO;
+       if (!s || !s->async) {
+               retval = -EIO;
+               goto out;
+       }
 
        async = s->async;
 
        if (!s->busy || !nbytes)
-               return 0;
-       if (s->busy != file)
-               return -EACCES;
+               goto out;
+       if (s->busy != file) {
+               retval = -EACCES;
+               goto out;
+       }
 
        add_wait_queue(&async->wait_head, &wait);
+       on_wait_queue = true;
        while (nbytes > 0 && !retval) {
                set_current_state(TASK_INTERRUPTIBLE);
 
                if (!comedi_is_subdevice_running(s)) {
                        if (count == 0) {
-                               mutex_lock(&dev->mutex);
+                               struct comedi_subdevice *new_s;
+
                                if (comedi_is_subdevice_in_error(s))
                                        retval = -EPIPE;
                                else
                                        retval = 0;
-                               do_become_nonbusy(dev, s);
+                               /*
+                                * To avoid deadlock, cannot acquire dev->mutex
+                                * while dev->attach_lock is held.  Need to
+                                * remove task from the async wait queue before
+                                * releasing dev->attach_lock, as it might not
+                                * be valid afterwards.
+                                */
+                               remove_wait_queue(&async->wait_head, &wait);
+                               on_wait_queue = false;
+                               up_read(&dev->attach_lock);
+                               attach_locked = false;
+                               mutex_lock(&dev->mutex);
+                               /*
+                                * Become non-busy unless things have changed
+                                * behind our back.  Checking dev->detach_count
+                                * is unchanged ought to be sufficient (unless
+                                * there have been 2**32 detaches in the
+                                * meantime!), but check the subdevice pointer
+                                * as well just in case.
+                                */
+                               new_s = comedi_write_subdevice(dev, minor);
+                               if (dev->attached &&
+                                   old_detach_count == dev->detach_count &&
+                                   s == new_s && new_s->async == async)
+                                       do_become_nonbusy(dev, s);
                                mutex_unlock(&dev->mutex);
                        }
                        break;
@@ -2090,8 +2163,12 @@ static ssize_t comedi_write(struct file *file, const char __user *buf,
                buf += n;
                break;          /* makes device work like a pipe */
        }
+out:
+       if (on_wait_queue)
+               remove_wait_queue(&async->wait_head, &wait);
        set_current_state(TASK_RUNNING);
-       remove_wait_queue(&async->wait_head, &wait);
+       if (attach_locked)
+               up_read(&dev->attach_lock);
 
        return count ? count : retval;
 }
@@ -2104,25 +2181,35 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
        int n, m, count = 0, retval = 0;
        DECLARE_WAITQUEUE(wait, current);
        const unsigned minor = iminor(file_inode(file));
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = file->private_data;
+       unsigned int old_detach_count;
+       bool become_nonbusy = false;
+       bool attach_locked;
 
-       if (!dev)
-               return -ENODEV;
+       /* Protect against device detachment during operation. */
+       down_read(&dev->attach_lock);
+       attach_locked = true;
+       old_detach_count = dev->detach_count;
 
        if (!dev->attached) {
                DPRINTK("no driver configured on comedi%i\n", dev->minor);
-               return -ENODEV;
+               retval = -ENODEV;
+               goto out;
        }
 
        s = comedi_read_subdevice(dev, minor);
-       if (!s || !s->async)
-               return -EIO;
+       if (!s || !s->async) {
+               retval = -EIO;
+               goto out;
+       }
 
        async = s->async;
        if (!s->busy || !nbytes)
-               return 0;
-       if (s->busy != file)
-               return -EACCES;
+               goto out;
+       if (s->busy != file) {
+               retval = -EACCES;
+               goto out;
+       }
 
        add_wait_queue(&async->wait_head, &wait);
        while (nbytes > 0 && !retval) {
@@ -2140,13 +2227,11 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
 
                if (n == 0) {
                        if (!comedi_is_subdevice_running(s)) {
-                               mutex_lock(&dev->mutex);
-                               do_become_nonbusy(dev, s);
                                if (comedi_is_subdevice_in_error(s))
                                        retval = -EPIPE;
                                else
                                        retval = 0;
-                               mutex_unlock(&dev->mutex);
+                               become_nonbusy = true;
                                break;
                        }
                        if (file->f_flags & O_NONBLOCK) {
@@ -2184,14 +2269,37 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
                buf += n;
                break;          /* makes device work like a pipe */
        }
-       if (comedi_is_subdevice_idle(s)) {
+       remove_wait_queue(&async->wait_head, &wait);
+       set_current_state(TASK_RUNNING);
+       if (become_nonbusy || comedi_is_subdevice_idle(s)) {
+               struct comedi_subdevice *new_s;
+
+               /*
+                * To avoid deadlock, cannot acquire dev->mutex
+                * while dev->attach_lock is held.
+                */
+               up_read(&dev->attach_lock);
+               attach_locked = false;
                mutex_lock(&dev->mutex);
-               if (async->buf_read_count - async->buf_write_count == 0)
-                       do_become_nonbusy(dev, s);
+               /*
+                * Check device hasn't become detached behind our back.
+                * Checking dev->detach_count is unchanged ought to be
+                * sufficient (unless there have been 2**32 detaches in the
+                * meantime!), but check the subdevice pointer as well just in
+                * case.
+                */
+               new_s = comedi_read_subdevice(dev, minor);
+               if (dev->attached && old_detach_count == dev->detach_count &&
+                   s == new_s && new_s->async == async) {
+                       if (become_nonbusy ||
+                           async->buf_read_count - async->buf_write_count == 0)
+                               do_become_nonbusy(dev, s);
+               }
                mutex_unlock(&dev->mutex);
        }
-       set_current_state(TASK_RUNNING);
-       remove_wait_queue(&async->wait_head, &wait);
+out:
+       if (attach_locked)
+               up_read(&dev->attach_lock);
 
        return count ? count : retval;
 }
@@ -2199,7 +2307,8 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
 static int comedi_open(struct inode *inode, struct file *file)
 {
        const unsigned minor = iminor(inode);
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = comedi_dev_get_from_minor(minor);
+       int rc;
 
        if (!dev) {
                DPRINTK("invalid minor number\n");
@@ -2224,8 +2333,8 @@ static int comedi_open(struct inode *inode, struct file *file)
                goto ok;
        if (!capable(CAP_NET_ADMIN) && dev->in_request_module) {
                DPRINTK("in request module\n");
-               mutex_unlock(&dev->mutex);
-               return -ENODEV;
+               rc = -ENODEV;
+               goto out;
        }
        if (capable(CAP_NET_ADMIN) && dev->in_request_module)
                goto ok;
@@ -2242,8 +2351,8 @@ static int comedi_open(struct inode *inode, struct file *file)
 
        if (!dev->attached && !capable(CAP_NET_ADMIN)) {
                DPRINTK("not attached and not CAP_NET_ADMIN\n");
-               mutex_unlock(&dev->mutex);
-               return -ENODEV;
+               rc = -ENODEV;
+               goto out;
        }
 ok:
        __module_get(THIS_MODULE);
@@ -2251,49 +2360,44 @@ ok:
        if (dev->attached) {
                if (!try_module_get(dev->driver->module)) {
                        module_put(THIS_MODULE);
-                       mutex_unlock(&dev->mutex);
-                       return -ENOSYS;
+                       rc = -ENOSYS;
+                       goto out;
                }
        }
 
        if (dev->attached && dev->use_count == 0 && dev->open) {
-               int rc = dev->open(dev);
+               rc = dev->open(dev);
                if (rc < 0) {
                        module_put(dev->driver->module);
                        module_put(THIS_MODULE);
-                       mutex_unlock(&dev->mutex);
-                       return rc;
+                       goto out;
                }
        }
 
        dev->use_count++;
+       file->private_data = dev;
+       rc = 0;
 
+out:
        mutex_unlock(&dev->mutex);
-
-       return 0;
+       if (rc)
+               comedi_dev_put(dev);
+       return rc;
 }
 
 static int comedi_fasync(int fd, struct file *file, int on)
 {
-       const unsigned minor = iminor(file_inode(file));
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
-
-       if (!dev)
-               return -ENODEV;
+       struct comedi_device *dev = file->private_data;
 
        return fasync_helper(fd, file, on, &dev->async_queue);
 }
 
 static int comedi_close(struct inode *inode, struct file *file)
 {
-       const unsigned minor = iminor(inode);
-       struct comedi_device *dev = comedi_dev_from_minor(minor);
+       struct comedi_device *dev = file->private_data;
        struct comedi_subdevice *s = NULL;
        int i;
 
-       if (!dev)
-               return -ENODEV;
-
        mutex_lock(&dev->mutex);
 
        if (dev->subdevices) {
@@ -2316,6 +2420,7 @@ static int comedi_close(struct inode *inode, struct file *file)
        dev->use_count--;
 
        mutex_unlock(&dev->mutex);
+       comedi_dev_put(dev);
 
        return 0;
 }
@@ -2368,16 +2473,11 @@ void comedi_event(struct comedi_device *dev, struct comedi_subdevice *s)
        }
 
        if (async->cb_mask & s->async->events) {
-               if (comedi_get_subdevice_runflags(s) & SRF_USER) {
-                       wake_up_interruptible(&async->wait_head);
-                       if (s->subdev_flags & SDF_CMD_READ)
-                               kill_fasync(&dev->async_queue, SIGIO, POLL_IN);
-                       if (s->subdev_flags & SDF_CMD_WRITE)
-                               kill_fasync(&dev->async_queue, SIGIO, POLL_OUT);
-               } else {
-                       if (async->cb_func)
-                               async->cb_func(s->async->events, async->cb_arg);
-               }
+               wake_up_interruptible(&async->wait_head);
+               if (s->subdev_flags & SDF_CMD_READ)
+                       kill_fasync(&dev->async_queue, SIGIO, POLL_IN);
+               if (s->subdev_flags & SDF_CMD_WRITE)
+                       kill_fasync(&dev->async_queue, SIGIO, POLL_OUT);
        }
        s->async->events = 0;
 }
@@ -2408,7 +2508,7 @@ struct comedi_device *comedi_alloc_board_minor(struct device *hardware_device)
        if (i == COMEDI_NUM_BOARD_MINORS) {
                mutex_unlock(&dev->mutex);
                comedi_device_cleanup(dev);
-               kfree(dev);
+               comedi_dev_put(dev);
                pr_err("comedi: error: ran out of minor numbers for board device files.\n");
                return ERR_PTR(-EBUSY);
        }
index fda1a7ba0e16bb83cec7f5bb21eb9347971a7628..9a746570f1619a90ae3dadefb121edc59d0f3495 100644 (file)
@@ -16,7 +16,11 @@ void comedi_free_subdevice_minor(struct comedi_subdevice *s);
 int comedi_buf_alloc(struct comedi_device *dev, struct comedi_subdevice *s,
                     unsigned long new_size);
 void comedi_buf_reset(struct comedi_async *async);
+bool comedi_buf_is_mmapped(struct comedi_async *async);
+void comedi_buf_map_get(struct comedi_buf_map *bm);
+int comedi_buf_map_put(struct comedi_buf_map *bm);
 unsigned int comedi_buf_write_n_allocated(struct comedi_async *async);
+void comedi_device_cancel_all(struct comedi_device *dev);
 
 extern unsigned int comedi_default_buf_size_kb;
 extern unsigned int comedi_default_buf_maxsize_kb;
index 143be8076a2e72361d11f88a2b64db8c4b89855b..a7b8937aa4a390ee073abde6177538a72b2c7f1b 100644 (file)
 #define _COMEDIDEV_H
 
 #include <linux/dma-mapping.h>
+#include <linux/mutex.h>
+#include <linux/spinlock_types.h>
+#include <linux/rwsem.h>
+#include <linux/kref.h>
 
 #include "comedi.h"
 
@@ -100,18 +104,22 @@ struct comedi_buf_page {
        dma_addr_t dma_addr;
 };
 
+struct comedi_buf_map {
+       struct device *dma_hw_dev;
+       struct comedi_buf_page *page_list;
+       unsigned int n_pages;
+       enum dma_data_direction dma_dir;
+       struct kref refcount;
+};
+
 struct comedi_async {
        struct comedi_subdevice *subdevice;
 
        void *prealloc_buf;     /* pre-allocated buffer */
        unsigned int prealloc_bufsz;    /* buffer size, in bytes */
-       /* virtual and dma address of each page */
-       struct comedi_buf_page *buf_page_list;
-       unsigned n_buf_pages;   /* num elements in buf_page_list */
+       struct comedi_buf_map *buf_map; /* map of buffer pages */
 
        unsigned int max_bufsize;       /* maximum buffer size, bytes */
-       /* current number of mmaps of prealloc_buf */
-       unsigned int mmap_count;
 
        /* byte count for writer (write completed) */
        unsigned int buf_write_count;
@@ -141,10 +149,7 @@ struct comedi_async {
 
        wait_queue_head_t wait_head;
 
-       /* callback stuff */
        unsigned int cb_mask;
-       int (*cb_func) (unsigned int flags, void *);
-       void *cb_arg;
 
        int (*inttrig) (struct comedi_device *dev, struct comedi_subdevice *s,
                        unsigned int x);
@@ -173,6 +178,7 @@ struct comedi_device {
 
        struct device *class_dev;
        int minor;
+       unsigned int detach_count;
        /* hw_dev is passed to dma_alloc_coherent when allocating async buffers
         * for subdevices that have async_dma_dir set to something other than
         * DMA_NONE */
@@ -185,6 +191,8 @@ struct comedi_device {
        bool ioenabled:1;
        spinlock_t spinlock;
        struct mutex mutex;
+       struct rw_semaphore attach_lock;
+       struct kref refcount;
 
        int n_subdevices;
        struct comedi_subdevice *subdevices;
@@ -231,7 +239,8 @@ enum comedi_minor_bits {
 static const unsigned COMEDI_SUBDEVICE_MINOR_SHIFT = 4;
 static const unsigned COMEDI_SUBDEVICE_MINOR_OFFSET = 1;
 
-struct comedi_device *comedi_dev_from_minor(unsigned minor);
+struct comedi_device *comedi_dev_get_from_minor(unsigned minor);
+int comedi_dev_put(struct comedi_device *dev);
 
 void init_polling(void);
 void cleanup_polling(void);
@@ -240,7 +249,6 @@ void stop_polling(struct comedi_device *);
 
 /* subdevice runflags */
 enum subdevice_runflags {
-       SRF_USER = 0x00000001,
        SRF_RT = 0x00000002,
        /* indicates an COMEDI_CB_ERROR event has occurred since the last
         * command was started */
index 8f02bf66e20b2002b3b52655919a89f95c0fcad9..a5d03b9c3717c99b3fbaa5265981479f1a56ed5f 100644 (file)
@@ -95,7 +95,7 @@ int comedi_alloc_subdevices(struct comedi_device *dev, int num_subdevices)
 }
 EXPORT_SYMBOL_GPL(comedi_alloc_subdevices);
 
-static void cleanup_device(struct comedi_device *dev)
+static void comedi_device_detach_cleanup(struct comedi_device *dev)
 {
        int i;
        struct comedi_subdevice *s;
@@ -133,10 +133,14 @@ static void cleanup_device(struct comedi_device *dev)
 
 void comedi_device_detach(struct comedi_device *dev)
 {
+       comedi_device_cancel_all(dev);
+       down_write(&dev->attach_lock);
        dev->attached = false;
+       dev->detach_count++;
        if (dev->driver)
                dev->driver->detach(dev);
-       cleanup_device(dev);
+       comedi_device_detach_cleanup(dev);
+       up_write(&dev->attach_lock);
 }
 
 static int poll_invalid(struct comedi_device *dev, struct comedi_subdevice *s)
@@ -355,8 +359,9 @@ static int comedi_device_postconfig(struct comedi_device *dev)
        ret = __comedi_device_postconfig(dev);
        if (ret < 0)
                return ret;
-       smp_wmb();
+       down_write(&dev->attach_lock);
        dev->attached = true;
+       up_write(&dev->attach_lock);
        return 0;
 }
 
@@ -657,7 +662,7 @@ void comedi_driver_unregister(struct comedi_driver *driver)
 
        /* check for devices using this driver */
        for (i = 0; i < COMEDI_NUM_BOARD_MINORS; i++) {
-               struct comedi_device *dev = comedi_dev_from_minor(i);
+               struct comedi_device *dev = comedi_dev_get_from_minor(i);
 
                if (!dev)
                        continue;
@@ -671,6 +676,7 @@ void comedi_driver_unregister(struct comedi_driver *driver)
                        comedi_device_detach(dev);
                }
                mutex_unlock(&dev->mutex);
+               comedi_dev_put(dev);
        }
 }
 EXPORT_SYMBOL_GPL(comedi_driver_unregister);
index 2e4bf284d52c08e5edc7fbd6221563b01cd92e70..9c9559ffc643d55a029bae90152e9338a45dc107 100644 (file)
@@ -513,7 +513,7 @@ static int dio200_subdev_intr_cmd(struct comedi_device *dev,
        int event = 0;
 
        spin_lock_irqsave(&subpriv->spinlock, flags);
-       subpriv->active = 1;
+       subpriv->active = true;
 
        /* Set up end of acquisition. */
        switch (cmd->stop_src) {
index 35cb4ace79701d45385ca003ba598051c255c773..1a2191699351f16e50f674b3357b675c029343cc 100644 (file)
@@ -345,7 +345,7 @@ int mite_buf_change(struct mite_dma_descriptor_ring *ring,
        for (i = 0; i < n_links; i++) {
                ring->descriptors[i].count = cpu_to_le32(PAGE_SIZE);
                ring->descriptors[i].addr =
-                   cpu_to_le32(async->buf_page_list[i].dma_addr);
+                   cpu_to_le32(async->buf_map->page_list[i].dma_addr);
                ring->descriptors[i].next =
                    cpu_to_le32(ring->descriptors_dma_addr + (i +
                                                              1) *
index 9e4d7e8605097bff47e0dedb3e605b90b170da06..8b5e9c097349ee0742c35ee7eab074f62d62d83a 100644 (file)
@@ -753,7 +753,7 @@ static void pcl818_ai_mode13dma_int(int mode, struct comedi_device *dev,
        } else {
                devpriv->ai_mode = INT_TYPE_AI3_DMA;
                outb(0x86 | (dev->irq << 4), dev->iobase + PCL818_CONTROL);     /* Ext trig+IRQ+DMA */
-       };
+       }
 }
 
 /*
index cd60677a3ed2f2771120dc5d23597e82a6fd34f9..7dc5a18e69d42bd4bd8e9df3d2458d368f769753 100644 (file)
@@ -35,7 +35,7 @@ MODULE_LICENSE("GPL");
 
 struct comedi_device *comedi_open(const char *filename)
 {
-       struct comedi_device *dev;
+       struct comedi_device *dev, *retval = NULL;
        unsigned int minor;
 
        if (strncmp(filename, "/dev/comedi", 11) != 0)
@@ -46,24 +46,27 @@ struct comedi_device *comedi_open(const char *filename)
        if (minor >= COMEDI_NUM_BOARD_MINORS)
                return NULL;
 
-       dev = comedi_dev_from_minor(minor);
-
-       if (!dev || !dev->attached)
+       dev = comedi_dev_get_from_minor(minor);
+       if (!dev)
                return NULL;
 
-       if (!try_module_get(dev->driver->module))
-               return NULL;
+       down_read(&dev->attach_lock);
+       if (dev->attached)
+               retval = dev;
+       else
+               retval = NULL;
+       up_read(&dev->attach_lock);
+
+       if (retval == NULL)
+               comedi_dev_put(dev);
 
-       return dev;
+       return retval;
 }
 EXPORT_SYMBOL_GPL(comedi_open);
 
-int comedi_close(struct comedi_device *d)
+int comedi_close(struct comedi_device *dev)
 {
-       struct comedi_device *dev = (struct comedi_device *)d;
-
-       module_put(dev->driver->module);
-
+       comedi_dev_put(dev);
        return 0;
 }
 EXPORT_SYMBOL_GPL(comedi_close);
@@ -73,7 +76,14 @@ static int comedi_do_insn(struct comedi_device *dev,
                          unsigned int *data)
 {
        struct comedi_subdevice *s;
-       int ret = 0;
+       int ret;
+
+       mutex_lock(&dev->mutex);
+
+       if (!dev->attached) {
+               ret = -EINVAL;
+               goto error;
+       }
 
        /* a subdevice instruction */
        if (insn->subdev >= dev->n_subdevices) {
@@ -120,6 +130,7 @@ static int comedi_do_insn(struct comedi_device *dev,
        s->busy = NULL;
 error:
 
+       mutex_unlock(&dev->mutex);
        return ret;
 }
 
@@ -169,9 +180,6 @@ int comedi_dio_bitfield2(struct comedi_device *dev, unsigned int subdev,
        unsigned int shift;
        int ret;
 
-       if (subdev >= dev->n_subdevices)
-               return -EINVAL;
-
        base_channel = CR_CHAN(base_channel);
        n_chan = comedi_get_n_channels(dev, subdev);
        if (base_channel >= n_chan)
@@ -211,23 +219,33 @@ int comedi_find_subdevice_by_type(struct comedi_device *dev, int type,
                                  unsigned int subd)
 {
        struct comedi_subdevice *s;
-
-       if (subd > dev->n_subdevices)
-               return -ENODEV;
-
-       for (; subd < dev->n_subdevices; subd++) {
-               s = &dev->subdevices[subd];
-               if (s->type == type)
-                       return subd;
-       }
-       return -1;
+       int ret = -ENODEV;
+
+       down_read(&dev->attach_lock);
+       if (dev->attached)
+               for (; subd < dev->n_subdevices; subd++) {
+                       s = &dev->subdevices[subd];
+                       if (s->type == type) {
+                               ret = subd;
+                               break;
+                       }
+               }
+       up_read(&dev->attach_lock);
+       return ret;
 }
 EXPORT_SYMBOL_GPL(comedi_find_subdevice_by_type);
 
 int comedi_get_n_channels(struct comedi_device *dev, unsigned int subdevice)
 {
-       struct comedi_subdevice *s = &dev->subdevices[subdevice];
+       int n;
+
+       down_read(&dev->attach_lock);
+       if (!dev->attached || subdevice >= dev->n_subdevices)
+               n = 0;
+       else
+               n = dev->subdevices[subdevice].n_chan;
+       up_read(&dev->attach_lock);
 
-       return s->n_chan;
+       return n;
 }
 EXPORT_SYMBOL_GPL(comedi_get_n_channels);
index ade00035d3bb5863cb2fe5b1fd29581b2e0b8aa6..da6bc5855ebc5e08530515cfb8799dbaeb4deaa6 100644 (file)
@@ -41,16 +41,20 @@ static int comedi_read(struct seq_file *m, void *v)
                     "driver_name, board_name, n_subdevices");
 
        for (i = 0; i < COMEDI_NUM_BOARD_MINORS; i++) {
-               struct comedi_device *dev = comedi_dev_from_minor(i);
+               struct comedi_device *dev = comedi_dev_get_from_minor(i);
+
                if (!dev)
                        continue;
 
+               down_read(&dev->attach_lock);
                if (dev->attached) {
                        devices_q = 1;
                        seq_printf(m, "%2d: %-20s %-20s %4d\n",
                                   i, dev->driver->driver_name,
                                   dev->board_name, dev->n_subdevices);
                }
+               up_read(&dev->attach_lock);
+               comedi_dev_put(dev);
        }
        if (!devices_q)
                seq_puts(m, "no devices\n");
index 07a2f24d0d47de4d2e4ea119bcc52e3a38a4b911..3972b52e1416aa4059b7107e4b73520ddb381ae9 100644 (file)
@@ -1059,7 +1059,7 @@ bool crystalhd_cmd_interrupt(struct crystalhd_cmd *ctx)
 {
        if (!ctx) {
                BCMLOG_ERR("Invalid arg..\n");
-               return 0;
+               return false;
        }
 
        return crystalhd_hw_interrupt(ctx->adp, &ctx->hw_ctx);
index 46a0d92173e0979e471eae2e467acbec2b573781..c4c8c0f9c959992361a06185828b2718efc25f14 100644 (file)
@@ -28,9 +28,9 @@ extern int  cxt1e1_log_level;
 #define COMET_NUM_UNITS     5   /* Number of points per entry in table */
 
 /* forward references */
-static void SetPwrLevel(comet_t *comet);
-static void WrtRcvEqualizerTbl(ci_t *ci, comet_t *comet, u_int32_t *table);
-static void WrtXmtWaveformTbl(ci_t *ci, comet_t *comet, u_int8_t table[COMET_NUM_SAMPLES][COMET_NUM_UNITS]);
+static void SetPwrLevel(struct s_comet_reg *comet);
+static void WrtRcvEqualizerTbl(ci_t *ci, struct s_comet_reg *comet, u_int32_t *table);
+static void WrtXmtWaveformTbl(ci_t *ci, struct s_comet_reg *comet, u_int8_t table[COMET_NUM_SAMPLES][COMET_NUM_UNITS]);
 
 
 void       *TWV_table[12] = {
@@ -58,7 +58,7 @@ lbo_tbl_lkup(int t1, int lbo) {
        return lbo - 1;
 }
 
-void init_comet(void *ci, comet_t *comet, u_int32_t port_mode, int clockmaster,
+void init_comet(void *ci, struct s_comet_reg *comet, u_int32_t port_mode, int clockmaster,
                u_int8_t moreParams)
 {
        u_int8_t isT1mode;
@@ -159,8 +159,7 @@ void init_comet(void *ci, comet_t *comet, u_int32_t port_mode, int clockmaster,
     /* 60: t1 ALMI cfg */
     /* Configure Line Coding */
 
-       switch (port_mode)
-       {
+       switch (port_mode) {
        /* 1 - T1 B8ZS */
        case CFG_FRAME_SF:
                pci_write_32((u_int32_t *) &comet->cdrc_cfg, 0);
@@ -286,8 +285,7 @@ void init_comet(void *ci, comet_t *comet, u_int32_t port_mode, int clockmaster,
 
     /* 0x30: "BRIF cfg"; 0x20 is 'CMODE', 0x03 is (bit) rate */
     /* note "rate bits can only be set once after reset" */
-       if (clockmaster)
-               {
+       if (clockmaster) {
                /* CMODE == clockMode, 0=clock master (so all 3 others should be slave) */
                /* rate = 1.544 Mb/s */
                if (isT1mode)
@@ -302,16 +300,17 @@ void init_comet(void *ci, comet_t *comet, u_int32_t port_mode, int clockmaster,
 
                /* Master Mode i.e.FPMODE=0 (@0x20) */
                pci_write_32((u_int32_t *) &comet->brif_fpcfg, 0x00);
-               if ((moreParams & CFG_CLK_PORT_MASK) == CFG_CLK_PORT_INTERNAL)
-                       {
+               if ((moreParams & CFG_CLK_PORT_MASK) == CFG_CLK_PORT_INTERNAL) {
                        if (cxt1e1_log_level >= LOG_SBEBUG12)
-                               pr_info(">> %s: clockmaster internal clock\n", __func__);
+                               pr_info(">> %s: clockmaster internal clock\n",
+                                       __func__);
                        /* internal oscillator */
                        pci_write_32((u_int32_t *) &comet->tx_time, 0x0d);
                } else {
                        /* external clock source */
                        if (cxt1e1_log_level >= LOG_SBEBUG12)
-                               pr_info(">> %s: clockmaster external clock\n", __func__);
+                               pr_info(">> %s: clockmaster external clock\n",
+                                       __func__);
                        /* loop timing(external) */
                        pci_write_32((u_int32_t *) &comet->tx_time, 0x09);
                }
@@ -399,7 +398,7 @@ void init_comet(void *ci, comet_t *comet, u_int32_t port_mode, int clockmaster,
 ** Returns:     Nothing
 */
 static void
-WrtXmtWaveform(ci_t *ci, comet_t *comet, u_int32_t sample, u_int32_t unit, u_int8_t data)
+WrtXmtWaveform(ci_t *ci, struct s_comet_reg *comet, u_int32_t sample, u_int32_t unit, u_int8_t data)
 {
        u_int8_t    WaveformAddr;
 
@@ -417,19 +416,20 @@ WrtXmtWaveform(ci_t *ci, comet_t *comet, u_int32_t sample, u_int32_t unit, u_int
 ** Returns:     Nothing
 */
 static void
-WrtXmtWaveformTbl(ci_t *ci, comet_t *comet,
+WrtXmtWaveformTbl(ci_t *ci, struct s_comet_reg *comet,
                  u_int8_t table[COMET_NUM_SAMPLES][COMET_NUM_UNITS])
 {
        u_int32_t sample, unit;
 
-       for (sample = 0; sample < COMET_NUM_SAMPLES; sample++)
-               {
+       for (sample = 0; sample < COMET_NUM_SAMPLES; sample++) {
                for (unit = 0; unit < COMET_NUM_UNITS; unit++)
-                       WrtXmtWaveform(ci, comet, sample, unit, table[sample][unit]);
+                       WrtXmtWaveform(ci, comet, sample, unit,
+                                       table[sample][unit]);
                }
 
     /* Enable transmitter and set output amplitude */
-       pci_write_32((u_int32_t *) &comet->xlpg_cfg, table[COMET_NUM_SAMPLES][0]);
+       pci_write_32((u_int32_t *) &comet->xlpg_cfg,
+                       table[COMET_NUM_SAMPLES][0]);
 }
 
 
@@ -444,7 +444,7 @@ WrtXmtWaveformTbl(ci_t *ci, comet_t *comet,
 */
 
 static void
-WrtRcvEqualizerTbl(ci_t *ci, comet_t *comet, u_int32_t *table)
+WrtRcvEqualizerTbl(ci_t *ci, struct s_comet_reg *comet, u_int32_t *table)
 {
        u_int32_t   ramaddr;
        volatile u_int32_t value;
@@ -457,7 +457,8 @@ WrtRcvEqualizerTbl(ci_t *ci, comet_t *comet, u_int32_t *table)
                /* for write order preservation when Optimizing driver */
                pci_flush_write(ci);
                /* write the addr, initiate a read */
-               pci_write_32((u_int32_t *) &comet->rlps_eq_iaddr, (u_int8_t) ramaddr);
+               pci_write_32((u_int32_t *) &comet->rlps_eq_iaddr,
+                               (u_int8_t) ramaddr);
                /* for write order preservation when Optimizing driver */
                pci_flush_write(ci);
                /*
@@ -470,9 +471,12 @@ WrtRcvEqualizerTbl(ci_t *ci, comet_t *comet, u_int32_t *table)
        }
 
        value = *table++;
-       pci_write_32((u_int32_t *) &comet->rlps_idata3, (u_int8_t) (value >> 24));
-       pci_write_32((u_int32_t *) &comet->rlps_idata2, (u_int8_t) (value >> 16));
-       pci_write_32((u_int32_t *) &comet->rlps_idata1, (u_int8_t) (value >> 8));
+       pci_write_32((u_int32_t *) &comet->rlps_idata3,
+                       (u_int8_t) (value >> 24));
+       pci_write_32((u_int32_t *) &comet->rlps_idata2,
+                       (u_int8_t) (value >> 16));
+       pci_write_32((u_int32_t *) &comet->rlps_idata1,
+                       (u_int8_t) (value >> 8));
        pci_write_32((u_int32_t *) &comet->rlps_idata0, (u_int8_t) value);
         /* for write order preservation when Optimizing driver */
        pci_flush_write(ci);
@@ -484,7 +488,8 @@ WrtRcvEqualizerTbl(ci_t *ci, comet_t *comet, u_int32_t *table)
                /* for write order preservation when optimizing driver */
                pci_flush_write(ci);
                /* write the addr, initiate a read */
-               pci_write_32((u_int32_t *) &comet->rlps_eq_iaddr, (u_int8_t) ramaddr);
+               pci_write_32((u_int32_t *) &comet->rlps_eq_iaddr,
+                               (u_int8_t) ramaddr);
                 /* for write order preservation when optimizing driver */
                pci_flush_write(ci);
 
@@ -508,7 +513,7 @@ WrtRcvEqualizerTbl(ci_t *ci, comet_t *comet, u_int32_t *table)
 */
 
 static void
-SetPwrLevel(comet_t *comet)
+SetPwrLevel(struct s_comet_reg *comet)
 {
        volatile u_int32_t temp;
 
@@ -550,12 +555,11 @@ SetPwrLevel(comet_t *comet)
 */
 #if 0
 static void
-SetCometOps(comet_t *comet)
+SetCometOps(struct s_comet_reg *comet)
 {
        volatile u_int8_t rd_value;
 
-       if (comet == mConfig.C4Func1Base + (COMET0_OFFSET >> 2))
-       {
+       if (comet == mConfig.C4Func1Base + (COMET0_OFFSET >> 2)) {
                /* read the BRIF Configuration */
                rd_value = (u_int8_t) pci_read_32((u_int32_t *) &comet->brif_cfg);
                rd_value &= ~0x20;
index 03b9bb77a8097066c0018bce79f701f39e4bd66e..d5d286e47a4b4483037b97403a65ac6d6eb48145 100644 (file)
 
 #define VINT32  volatile u_int32_t
 
-struct s_comet_reg
-{
-    VINT32 gbl_cfg;      /* 00  Global Cfg */
-    VINT32 clkmon;       /* 01  Clk Monitor */
-    VINT32 rx_opt;       /* 02  RX Options */
-    VINT32 rx_line_cfg;  /* 03  RX Line Interface Cfg */
-    VINT32 tx_line_cfg;  /* 04  TX Line Interface Cfg */
-    VINT32 tx_frpass;    /* 05  TX Framing & Bypass Options */
-    VINT32 tx_time;      /* 06  TX Timing Options */
-    VINT32 intr_1;       /* 07  Intr Source #1 */
-    VINT32 intr_2;       /* 08  Intr Source #2 */
-    VINT32 intr_3;       /* 09  Intr Source #3 */
-    VINT32 mdiag;        /* 0A  Master Diagnostics */
-    VINT32 mtest;        /* 0B  Master Test */
-    VINT32 adiag;        /* 0C  Analog Diagnostics */
-    VINT32 rev_id;       /* 0D  Rev/Chip Id/Global PMON Update */
+struct s_comet_reg {
+       VINT32 gbl_cfg;      /* 00  Global Cfg */
+       VINT32 clkmon;       /* 01  Clk Monitor */
+       VINT32 rx_opt;       /* 02  RX Options */
+       VINT32 rx_line_cfg;  /* 03  RX Line Interface Cfg */
+       VINT32 tx_line_cfg;  /* 04  TX Line Interface Cfg */
+       VINT32 tx_frpass;    /* 05  TX Framing & Bypass Options */
+       VINT32 tx_time;      /* 06  TX Timing Options */
+       VINT32 intr_1;       /* 07  Intr Source #1 */
+       VINT32 intr_2;       /* 08  Intr Source #2 */
+       VINT32 intr_3;       /* 09  Intr Source #3 */
+       VINT32 mdiag;        /* 0A  Master Diagnostics */
+       VINT32 mtest;        /* 0B  Master Test */
+       VINT32 adiag;        /* 0C  Analog Diagnostics */
+       VINT32 rev_id;       /* 0D  Rev/Chip Id/Global PMON Update */
 #define pmon  rev_id
-    VINT32 reset;        /* 0E  Reset */
-    VINT32 prgd_phctl;   /* 0F  PRGD Positioning/Ctl & HDLC Ctl */
-    VINT32 cdrc_cfg;     /* 10  CDRC Cfg */
-    VINT32 cdrc_ien;     /* 11  CDRC Intr Enable */
-    VINT32 cdrc_ists;    /* 12  CDRC Intr Sts */
-    VINT32 cdrc_alos;    /* 13  CDRC Alternate Loss of Signal */
-
-    VINT32 rjat_ists;    /* 14  RJAT Intr Sts */
-    VINT32 rjat_n1clk;   /* 15  RJAT Reference Clk Divisor (N1) Ctl */
-    VINT32 rjat_n2clk;   /* 16  RJAT Output Clk Divisor (N2) Ctl */
-    VINT32 rjat_cfg;     /* 17  RJAT Cfg */
-
-    VINT32 tjat_ists;    /* 18  TJAT Intr Sts */
-    VINT32 tjat_n1clk;   /* 19  TJAT Reference Clk Divisor (N1) Ctl */
-    VINT32 tjat_n2clk;   /* 1A  TJAT Output Clk Divisor (N2) Ctl */
-    VINT32 tjat_cfg;     /* 1B  TJAT Cfg */
-
-    VINT32 rx_elst_cfg;      /* 1C  RX-ELST Cfg */
-    VINT32 rx_elst_ists;     /* 1D  RX-ELST Intr Sts */
-    VINT32 rx_elst_idle;     /* 1E  RX-ELST Idle Code */
-    VINT32 _rx_elst_res1f;   /* 1F     RX-ELST Reserved */
-
-    VINT32 tx_elst_cfg;      /* 20  TX-ELST Cfg */
-    VINT32 tx_elst_ists;     /* 21  TX-ELST Intr Sts */
-    VINT32 _tx_elst_res22;   /* 22     TX-ELST Reserved */
-    VINT32 _tx_elst_res23;   /* 23     TX-ELST Reserved */
-    VINT32 __res24;          /* 24     Reserved */
-    VINT32 __res25;          /* 25     Reserved */
-    VINT32 __res26;          /* 26     Reserved */
-    VINT32 __res27;          /* 27     Reserved */
-
-    VINT32 rxce1_ctl;        /* 28  RXCE RX Data Link 1 Ctl */
-    VINT32 rxce1_bits;       /* 29  RXCE RX Data Link 1 Bit Select */
-    VINT32 rxce2_ctl;        /* 2A  RXCE RX Data Link 2 Ctl */
-    VINT32 rxce2_bits;       /* 2B  RXCE RX Data Link 2 Bit Select */
-    VINT32 rxce3_ctl;        /* 2C  RXCE RX Data Link 3 Ctl */
-    VINT32 rxce3_bits;       /* 2D  RXCE RX Data Link 3 Bit Select */
-    VINT32 _rxce_res2E;      /* 2E     RXCE Reserved */
-    VINT32 _rxce_res2F;      /* 2F     RXCE Reserved */
-
-    VINT32 brif_cfg;         /* 30  BRIF RX Backplane Cfg */
-    VINT32 brif_fpcfg;       /* 31  BRIF RX Backplane Frame Pulse Cfg */
-    VINT32 brif_pfcfg;       /* 32  BRIF RX Backplane Parity/F-Bit Cfg */
-    VINT32 brif_tsoff;       /* 33  BRIF RX Backplane Time Slot Offset */
-    VINT32 brif_boff;        /* 34  BRIF RX Backplane Bit Offset */
-    VINT32 _brif_res35;      /* 35     BRIF RX Backplane Reserved */
-    VINT32 _brif_res36;      /* 36     BRIF RX Backplane Reserved */
-    VINT32 _brif_res37;      /* 37     BRIF RX Backplane Reserved */
-
-    VINT32 txci1_ctl;        /* 38  TXCI TX Data Link 1 Ctl */
-    VINT32 txci1_bits;       /* 39  TXCI TX Data Link 2 Bit Select */
-    VINT32 txci2_ctl;        /* 3A  TXCI TX Data Link 1 Ctl */
-    VINT32 txci2_bits;       /* 3B  TXCI TX Data Link 2 Bit Select */
-    VINT32 txci3_ctl;        /* 3C  TXCI TX Data Link 1 Ctl */
-    VINT32 txci3_bits;       /* 3D  TXCI TX Data Link 2 Bit Select */
-    VINT32 _txci_res3E;      /* 3E     TXCI Reserved */
-    VINT32 _txci_res3F;      /* 3F     TXCI Reserved */
-
-    VINT32 btif_cfg;         /* 40  BTIF TX Backplane Cfg */
-    VINT32 btif_fpcfg;       /* 41  BTIF TX Backplane Frame Pulse Cfg */
-    VINT32 btif_pcfgsts;     /* 42  BTIF TX Backplane Parity Cfg & Sts */
-    VINT32 btif_tsoff;       /* 43  BTIF TX Backplane Time Slot Offset */
-    VINT32 btif_boff;        /* 44  BTIF TX Backplane Bit Offset */
-    VINT32 _btif_res45;      /* 45     BTIF TX Backplane Reserved */
-    VINT32 _btif_res46;      /* 46     BTIF TX Backplane Reserved */
-    VINT32 _btif_res47;      /* 47     BTIF TX Backplane Reserved */
-    VINT32 t1_frmr_cfg;      /* 48  T1 FRMR Cfg */
-    VINT32 t1_frmr_ien;      /* 49  T1 FRMR Intr Enable */
-    VINT32 t1_frmr_ists;     /* 4A  T1 FRMR Intr Sts */
-    VINT32 __res_4B;         /* 4B     Reserved */
-    VINT32 ibcd_cfg;         /* 4C  IBCD Cfg */
-    VINT32 ibcd_ies;         /* 4D  IBCD Intr Enable/Sts */
-    VINT32 ibcd_act;         /* 4E  IBCD Activate Code */
-    VINT32 ibcd_deact;       /* 4F  IBCD Deactivate Code */
-
-    VINT32 sigx_cfg;         /* 50  SIGX Cfg/Change of Signaling State */
-    VINT32 sigx_acc_cos;     /* 51  SIGX uP Access Sts/Change of Signaling State */
-    VINT32 sigx_iac_cos;     /* 52  SIGX Channel Indirect
-                              * Addr/Ctl/Change of Signaling State */
-    VINT32 sigx_idb_cos;     /* 53  SIGX Channel Indirect Data
-                              * Buffer/Change of Signaling State */
-
-    VINT32 t1_xbas_cfg;      /* 54  T1 XBAS Cfg */
-    VINT32 t1_xbas_altx;     /* 55  T1 XBAS Alarm TX */
-    VINT32 t1_xibc_ctl;      /* 56  T1 XIBC Ctl */
-    VINT32 t1_xibc_lbcode;   /* 57  T1 XIBC Loopback Code */
-
-    VINT32 pmon_ies;         /* 58  PMON Intr Enable/Sts */
-    VINT32 pmon_fberr;       /* 59  PMON Framing Bit Err Cnt */
-    VINT32 pmon_feb_lsb;     /* 5A  PMON OFF/COFA/Far End Block Err Cnt (LSB) */
-    VINT32 pmon_feb_msb;     /* 5B  PMON OFF/COFA/Far End Block Err Cnt (MSB) */
-    VINT32 pmon_bed_lsb;     /* 5C  PMON Bit/Err/CRCE Cnt (LSB) */
-    VINT32 pmon_bed_msb;     /* 5D  PMON Bit/Err/CRCE Cnt (MSB) */
-    VINT32 pmon_lvc_lsb;     /* 5E  PMON LVC Cnt (LSB) */
-    VINT32 pmon_lvc_msb;     /* 5F  PMON LVC Cnt (MSB) */
-
-    VINT32 t1_almi_cfg;      /* 60  T1 ALMI Cfg */
-    VINT32 t1_almi_ien;      /* 61  T1 ALMI Intr Enable */
-    VINT32 t1_almi_ists;     /* 62  T1 ALMI Intr Sts */
-    VINT32 t1_almi_detsts;   /* 63  T1 ALMI Alarm Detection Sts */
-
-    VINT32 _t1_pdvd_res64;   /* 64     T1 PDVD Reserved */
-    VINT32 t1_pdvd_ies;      /* 65  T1 PDVD Intr Enable/Sts */
-    VINT32 _t1_xboc_res66;   /* 66     T1 XBOC Reserved */
-    VINT32 t1_xboc_code;     /* 67  T1 XBOC Code */
-    VINT32 _t1_xpde_res68;   /* 68     T1 XPDE Reserved */
-    VINT32 t1_xpde_ies;      /* 69  T1 XPDE Intr Enable/Sts */
-
-    VINT32 t1_rboc_ena;      /* 6A  T1 RBOC Enable */
-    VINT32 t1_rboc_sts;      /* 6B  T1 RBOC Code Sts */
-
-    VINT32 t1_tpsc_cfg;      /* 6C  TPSC Cfg */
-    VINT32 t1_tpsc_sts;      /* 6D  TPSC uP Access Sts */
-    VINT32 t1_tpsc_ciaddr;   /* 6E  TPSC Channel Indirect
-                                          * Addr/Ctl */
-    VINT32 t1_tpsc_cidata;   /* 6F  TPSC Channel Indirect Data
-                                          * Buffer */
-    VINT32 t1_rpsc_cfg;      /* 70  RPSC Cfg */
-    VINT32 t1_rpsc_sts;      /* 71  RPSC uP Access Sts */
-    VINT32 t1_rpsc_ciaddr;   /* 72  RPSC Channel Indirect
-                                          * Addr/Ctl */
-    VINT32 t1_rpsc_cidata;   /* 73  RPSC Channel Indirect Data
-                                          * Buffer */
-    VINT32 __res74;          /* 74     Reserved */
-    VINT32 __res75;          /* 75     Reserved */
-    VINT32 __res76;          /* 76     Reserved */
-    VINT32 __res77;          /* 77     Reserved */
-
-    VINT32 t1_aprm_cfg;      /* 78  T1 APRM Cfg/Ctl */
-    VINT32 t1_aprm_load;     /* 79  T1 APRM Manual Load */
-    VINT32 t1_aprm_ists;     /* 7A  T1 APRM Intr Sts */
-    VINT32 t1_aprm_1sec_2;   /* 7B  T1 APRM One Second Content Octet 2 */
-    VINT32 t1_aprm_1sec_3;   /* 7C  T1 APRM One Second Content Octet 3 */
-    VINT32 t1_aprm_1sec_4;   /* 7D  T1 APRM One Second Content Octet 4 */
-    VINT32 t1_aprm_1sec_5;   /* 7E  T1 APRM One Second Content MSB (Octect 5) */
-    VINT32 t1_aprm_1sec_6;   /* 7F  T1 APRM One Second Content MSB (Octect 6) */
-
-    VINT32 e1_tran_cfg;      /* 80  E1 TRAN Cfg */
-    VINT32 e1_tran_txalarm;  /* 81  E1 TRAN TX Alarm/Diagnostic Ctl */
-    VINT32 e1_tran_intctl;   /* 82  E1 TRAN International Ctl */
-    VINT32 e1_tran_extrab;   /* 83  E1 TRAN Extra Bits Ctl */
-    VINT32 e1_tran_ien;      /* 84  E1 TRAN Intr Enable */
-    VINT32 e1_tran_ists;     /* 85  E1 TRAN Intr Sts */
-    VINT32 e1_tran_nats;     /* 86  E1 TRAN National Bit Codeword
-                                          * Select */
-    VINT32 e1_tran_nat;      /* 87  E1 TRAN National Bit Codeword */
-    VINT32 __res88;          /* 88     Reserved */
-    VINT32 __res89;          /* 89     Reserved */
-    VINT32 __res8A;          /* 8A     Reserved */
-    VINT32 __res8B;          /* 8B     Reserved */
-
-    VINT32 _t1_frmr_res8C;   /* 8C     T1 FRMR Reserved */
-    VINT32 _t1_frmr_res8D;   /* 8D     T1 FRMR Reserved */
-    VINT32 __res8E;          /* 8E     Reserved */
-    VINT32 __res8F;          /* 8F     Reserved */
-
-    VINT32 e1_frmr_aopts;    /* 90  E1 FRMR Frame Alignment Options */
-    VINT32 e1_frmr_mopts;    /* 91  E1 FRMR Maintenance Mode Options */
-    VINT32 e1_frmr_ien;      /* 92  E1 FRMR Framing Sts Intr Enable */
-    VINT32 e1_frmr_mien;     /* 93  E1 FRMR Maintenance/Alarm Sts Intr Enable */
-    VINT32 e1_frmr_ists;     /* 94  E1 FRMR Framing Sts Intr Indication */
-    VINT32 e1_frmr_mists;    /* 95  E1 FRMR Maintenance/Alarm Sts Indication Enable */
-    VINT32 e1_frmr_sts;      /* 96  E1 FRMR Framing Sts */
-    VINT32 e1_frmr_masts;    /* 97  E1 FRMR Maintenance/Alarm Sts */
-    VINT32 e1_frmr_nat_bits; /* 98  E1 FRMR International/National Bits */
-    VINT32 e1_frmr_crc_lsb;  /* 99  E1 FRMR CRC Err Cnt - LSB */
-    VINT32 e1_frmr_crc_msb;  /* 9A  E1 FRMR CRC Err Cnt - MSB */
-    VINT32 e1_frmr_nat_ien;  /* 9B  E1 FRMR National Bit Codeword Intr Enables */
-    VINT32 e1_frmr_nat_ists; /* 9C  E1 FRMR National Bit Codeword Intr/Sts */
-    VINT32 e1_frmr_nat;      /* 9D  E1 FRMR National Bit Codewords */
-    VINT32 e1_frmr_fp_ien;   /* 9E  E1 FRMR Frame Pulse/Alarm Intr Enables */
-    VINT32 e1_frmr_fp_ists;  /* 9F  E1 FRMR Frame Pulse/Alarm Intr/Sts */
-
-    VINT32 __resA0;          /* A0     Reserved */
-    VINT32 __resA1;          /* A1     Reserved */
-    VINT32 __resA2;          /* A2     Reserved */
-    VINT32 __resA3;          /* A3     Reserved */
-    VINT32 __resA4;          /* A4     Reserved */
-    VINT32 __resA5;          /* A5     Reserved */
-    VINT32 __resA6;          /* A6     Reserved */
-    VINT32 __resA7;          /* A7     Reserved */
-
-    VINT32 tdpr1_cfg;        /* A8  TDPR #1 Cfg */
-    VINT32 tdpr1_utl;        /* A9  TDPR #1 Upper TX Threshold */
-    VINT32 tdpr1_ltl;        /* AA  TDPR #1 Lower TX Threshold */
-    VINT32 tdpr1_ien;        /* AB  TDPR #1 Intr Enable */
-    VINT32 tdpr1_ists;       /* AC  TDPR #1 Intr Sts/UDR Clear */
-    VINT32 tdpr1_data;       /* AD  TDPR #1 TX Data */
-    VINT32 __resAE;          /* AE     Reserved */
-    VINT32 __resAF;          /* AF     Reserved */
-    VINT32 tdpr2_cfg;        /* B0  TDPR #2 Cfg */
-    VINT32 tdpr2_utl;        /* B1  TDPR #2 Upper TX Threshold */
-    VINT32 tdpr2_ltl;        /* B2  TDPR #2 Lower TX Threshold */
-    VINT32 tdpr2_ien;        /* B3  TDPR #2 Intr Enable */
-    VINT32 tdpr2_ists;       /* B4  TDPR #2 Intr Sts/UDR Clear */
-    VINT32 tdpr2_data;       /* B5  TDPR #2 TX Data */
-    VINT32 __resB6;          /* B6     Reserved */
-    VINT32 __resB7;          /* B7     Reserved1 */
-    VINT32 tdpr3_cfg;        /* B8  TDPR #3 Cfg */
-    VINT32 tdpr3_utl;        /* B9  TDPR #3 Upper TX Threshold */
-    VINT32 tdpr3_ltl;        /* BA  TDPR #3 Lower TX Threshold */
-    VINT32 tdpr3_ien;        /* BB  TDPR #3 Intr Enable */
-    VINT32 tdpr3_ists;       /* BC  TDPR #3 Intr Sts/UDR Clear */
-    VINT32 tdpr3_data;       /* BD  TDPR #3 TX Data */
-    VINT32 __resBE;          /* BE     Reserved */
-    VINT32 __resBF;          /* BF     Reserved */
-
-    VINT32 rdlc1_cfg;        /* C0  RDLC #1 Cfg */
-    VINT32 rdlc1_intctl;     /* C1  RDLC #1 Intr Ctl */
-    VINT32 rdlc1_sts;        /* C2  RDLC #1 Sts */
-    VINT32 rdlc1_data;       /* C3  RDLC #1 Data */
-    VINT32 rdlc1_paddr;      /* C4  RDLC #1 Primary Addr Match */
-    VINT32 rdlc1_saddr;      /* C5  RDLC #1 Secondary Addr Match */
-    VINT32 __resC6;          /* C6     Reserved */
-    VINT32 __resC7;          /* C7     Reserved */
-    VINT32 rdlc2_cfg;        /* C8  RDLC #2 Cfg */
-    VINT32 rdlc2_intctl;     /* C9  RDLC #2 Intr Ctl */
-    VINT32 rdlc2_sts;        /* CA  RDLC #2 Sts */
-    VINT32 rdlc2_data;       /* CB  RDLC #2 Data */
-    VINT32 rdlc2_paddr;      /* CC  RDLC #2 Primary Addr Match */
-    VINT32 rdlc2_saddr;      /* CD  RDLC #2 Secondary Addr Match */
-    VINT32 __resCE;          /* CE     Reserved */
-    VINT32 __resCF;          /* CF     Reserved */
-    VINT32 rdlc3_cfg;        /* D0  RDLC #3 Cfg */
-    VINT32 rdlc3_intctl;     /* D1  RDLC #3 Intr Ctl */
-    VINT32 rdlc3_sts;        /* D2  RDLC #3 Sts */
-    VINT32 rdlc3_data;       /* D3  RDLC #3 Data */
-    VINT32 rdlc3_paddr;      /* D4  RDLC #3 Primary Addr Match */
-    VINT32 rdlc3_saddr;      /* D5  RDLC #3 Secondary Addr Match */
-
-    VINT32 csu_cfg;          /* D6  CSU Cfg */
-    VINT32 _csu_resD7;       /* D7     CSU Reserved */
-
-    VINT32 rlps_idata3;      /* D8  RLPS Indirect Data, 24-31 */
-    VINT32 rlps_idata2;      /* D9  RLPS Indirect Data, 16-23 */
-    VINT32 rlps_idata1;      /* DA  RLPS Indirect Data, 8-15 */
-    VINT32 rlps_idata0;      /* DB  RLPS Indirect Data, 0-7 */
-    VINT32 rlps_eqvr;        /* DC  RLPS Equalizer Voltage Reference
-                              *    (E1 missing) */
-    VINT32 _rlps_resDD;      /* DD     RLPS Reserved */
-    VINT32 _rlps_resDE;      /* DE     RLPS Reserved */
-    VINT32 _rlps_resDF;      /* DF     RLPS Reserved */
-
-    VINT32 prgd_ctl;         /* E0  PRGD Ctl */
-    VINT32 prgd_ies;         /* E1  PRGD Intr Enable/Sts */
-    VINT32 prgd_shift_len;   /* E2  PRGD Shift Length */
-    VINT32 prgd_tap;         /* E3  PRGD Tap */
-    VINT32 prgd_errin;       /* E4  PRGD Err Insertion */
-    VINT32 _prgd_resE5;      /* E5     PRGD Reserved */
-    VINT32 _prgd_resE6;      /* E6     PRGD Reserved */
-    VINT32 _prgd_resE7;      /* E7     PRGD Reserved */
-    VINT32 prgd_patin1;      /* E8  PRGD Pattern Insertion #1 */
-    VINT32 prgd_patin2;      /* E9  PRGD Pattern Insertion #2 */
-    VINT32 prgd_patin3;      /* EA  PRGD Pattern Insertion #3 */
-    VINT32 prgd_patin4;      /* EB  PRGD Pattern Insertion #4 */
-    VINT32 prgd_patdet1;     /* EC  PRGD Pattern Detector #1 */
-    VINT32 prgd_patdet2;     /* ED  PRGD Pattern Detector #2 */
-    VINT32 prgd_patdet3;     /* EE  PRGD Pattern Detector #3 */
-    VINT32 prgd_patdet4;     /* EF  PRGD Pattern Detector #4 */
-
-    VINT32 xlpg_cfg;         /* F0  XLPG Line Driver Cfg */
-    VINT32 xlpg_ctlsts;      /* F1  XLPG Ctl/Sts */
-    VINT32 xlpg_pwave_addr;  /* F2  XLPG Pulse Waveform Storage Write Addr */
-    VINT32 xlpg_pwave_data;  /* F3  XLPG Pulse Waveform Storage Data */
-    VINT32 xlpg_atest_pctl;  /* F4  XLPG Analog Test Positive Ctl */
-    VINT32 xlpg_atest_nctl;  /* F5  XLPG Analog Test Negative Ctl */
-    VINT32 xlpg_fdata_sel;   /* F6  XLPG Fuse Data Select */
-    VINT32 _xlpg_resF7;      /* F7     XLPG Reserved */
-
-    VINT32 rlps_cfgsts;      /* F8  RLPS Cfg & Sts */
-    VINT32 rlps_alos_thresh; /* F9  RLPS ALOS Detection/Clearance Threshold */
-    VINT32 rlps_alos_dper;   /* FA  RLPS ALOS Detection Period */
-    VINT32 rlps_alos_cper;   /* FB  RLPS ALOS Clearance Period */
-    VINT32 rlps_eq_iaddr;    /* FC  RLPS Equalization Indirect Addr */
-    VINT32 rlps_eq_rwsel;    /* FD  RLPS Equalization Read/WriteB Select */
-    VINT32 rlps_eq_ctlsts;   /* FE  RLPS Equalizer Loop Sts & Ctl */
-    VINT32 rlps_eq_cfg;      /* FF  RLPS Equalizer Cfg */
+       VINT32 reset;        /* 0E  Reset */
+       VINT32 prgd_phctl;   /* 0F  PRGD Positioning/Ctl & HDLC Ctl */
+       VINT32 cdrc_cfg;     /* 10  CDRC Cfg */
+       VINT32 cdrc_ien;     /* 11  CDRC Intr Enable */
+       VINT32 cdrc_ists;    /* 12  CDRC Intr Sts */
+       VINT32 cdrc_alos;    /* 13  CDRC Alternate Loss of Signal */
+
+       VINT32 rjat_ists;    /* 14  RJAT Intr Sts */
+       VINT32 rjat_n1clk;   /* 15  RJAT Reference Clk Divisor (N1) Ctl */
+       VINT32 rjat_n2clk;   /* 16  RJAT Output Clk Divisor (N2) Ctl */
+       VINT32 rjat_cfg;     /* 17  RJAT Cfg */
+
+       VINT32 tjat_ists;    /* 18  TJAT Intr Sts */
+       VINT32 tjat_n1clk;   /* 19  TJAT Reference Clk Divisor (N1) Ctl */
+       VINT32 tjat_n2clk;   /* 1A  TJAT Output Clk Divisor (N2) Ctl */
+       VINT32 tjat_cfg;     /* 1B  TJAT Cfg */
+
+       VINT32 rx_elst_cfg;      /* 1C  RX-ELST Cfg */
+       VINT32 rx_elst_ists;     /* 1D  RX-ELST Intr Sts */
+       VINT32 rx_elst_idle;     /* 1E  RX-ELST Idle Code */
+       VINT32 _rx_elst_res1f;   /* 1F     RX-ELST Reserved */
+
+       VINT32 tx_elst_cfg;      /* 20  TX-ELST Cfg */
+       VINT32 tx_elst_ists;     /* 21  TX-ELST Intr Sts */
+       VINT32 _tx_elst_res22;   /* 22     TX-ELST Reserved */
+       VINT32 _tx_elst_res23;   /* 23     TX-ELST Reserved */
+       VINT32 __res24;          /* 24     Reserved */
+       VINT32 __res25;          /* 25     Reserved */
+       VINT32 __res26;          /* 26     Reserved */
+       VINT32 __res27;          /* 27     Reserved */
+
+       VINT32 rxce1_ctl;        /* 28  RXCE RX Data Link 1 Ctl */
+       VINT32 rxce1_bits;       /* 29  RXCE RX Data Link 1 Bit Select */
+       VINT32 rxce2_ctl;        /* 2A  RXCE RX Data Link 2 Ctl */
+       VINT32 rxce2_bits;       /* 2B  RXCE RX Data Link 2 Bit Select */
+       VINT32 rxce3_ctl;        /* 2C  RXCE RX Data Link 3 Ctl */
+       VINT32 rxce3_bits;       /* 2D  RXCE RX Data Link 3 Bit Select */
+       VINT32 _rxce_res2E;      /* 2E     RXCE Reserved */
+       VINT32 _rxce_res2F;      /* 2F     RXCE Reserved */
+
+       VINT32 brif_cfg;         /* 30  BRIF RX Backplane Cfg */
+       VINT32 brif_fpcfg;       /* 31  BRIF RX Backplane Frame Pulse Cfg */
+       VINT32 brif_pfcfg;       /* 32  BRIF RX Backplane Parity/F-Bit Cfg */
+       VINT32 brif_tsoff;       /* 33  BRIF RX Backplane Time Slot Offset */
+       VINT32 brif_boff;        /* 34  BRIF RX Backplane Bit Offset */
+       VINT32 _brif_res35;      /* 35     BRIF RX Backplane Reserved */
+       VINT32 _brif_res36;      /* 36     BRIF RX Backplane Reserved */
+       VINT32 _brif_res37;      /* 37     BRIF RX Backplane Reserved */
+
+       VINT32 txci1_ctl;        /* 38  TXCI TX Data Link 1 Ctl */
+       VINT32 txci1_bits;       /* 39  TXCI TX Data Link 2 Bit Select */
+       VINT32 txci2_ctl;        /* 3A  TXCI TX Data Link 1 Ctl */
+       VINT32 txci2_bits;       /* 3B  TXCI TX Data Link 2 Bit Select */
+       VINT32 txci3_ctl;        /* 3C  TXCI TX Data Link 1 Ctl */
+       VINT32 txci3_bits;       /* 3D  TXCI TX Data Link 2 Bit Select */
+       VINT32 _txci_res3E;      /* 3E     TXCI Reserved */
+       VINT32 _txci_res3F;      /* 3F     TXCI Reserved */
+
+       VINT32 btif_cfg;         /* 40  BTIF TX Backplane Cfg */
+       VINT32 btif_fpcfg;       /* 41  BTIF TX Backplane Frame Pulse Cfg */
+       VINT32 btif_pcfgsts;     /* 42  BTIF TX Backplane Parity Cfg & Sts */
+       VINT32 btif_tsoff;       /* 43  BTIF TX Backplane Time Slot Offset */
+       VINT32 btif_boff;        /* 44  BTIF TX Backplane Bit Offset */
+       VINT32 _btif_res45;      /* 45     BTIF TX Backplane Reserved */
+       VINT32 _btif_res46;      /* 46     BTIF TX Backplane Reserved */
+       VINT32 _btif_res47;      /* 47     BTIF TX Backplane Reserved */
+       VINT32 t1_frmr_cfg;      /* 48  T1 FRMR Cfg */
+       VINT32 t1_frmr_ien;      /* 49  T1 FRMR Intr Enable */
+       VINT32 t1_frmr_ists;     /* 4A  T1 FRMR Intr Sts */
+       VINT32 __res_4B;         /* 4B     Reserved */
+       VINT32 ibcd_cfg;         /* 4C  IBCD Cfg */
+       VINT32 ibcd_ies;         /* 4D  IBCD Intr Enable/Sts */
+       VINT32 ibcd_act;         /* 4E  IBCD Activate Code */
+       VINT32 ibcd_deact;       /* 4F  IBCD Deactivate Code */
+
+       VINT32 sigx_cfg;         /* 50  SIGX Cfg/Change of Signaling State */
+       VINT32 sigx_acc_cos;     /* 51  SIGX
+                                 * uP Access Sts/Change of Signaling State */
+       VINT32 sigx_iac_cos;     /* 52  SIGX Channel Indirect
+                                 * Addr/Ctl/Change of Signaling State */
+       VINT32 sigx_idb_cos;     /* 53  SIGX Channel Indirect Data
+                                 * Buffer/Change of Signaling State */
+
+       VINT32 t1_xbas_cfg;      /* 54  T1 XBAS Cfg */
+       VINT32 t1_xbas_altx;     /* 55  T1 XBAS Alarm TX */
+       VINT32 t1_xibc_ctl;      /* 56  T1 XIBC Ctl */
+       VINT32 t1_xibc_lbcode;   /* 57  T1 XIBC Loopback Code */
+
+       VINT32 pmon_ies;         /* 58  PMON Intr Enable/Sts */
+       VINT32 pmon_fberr;       /* 59  PMON Framing Bit Err Cnt */
+       VINT32 pmon_feb_lsb;     /* 5A  PMON
+                                 * OFF/COFA/Far End Block Err Cnt (LSB) */
+       VINT32 pmon_feb_msb;     /* 5B  PMON
+                                 * OFF/COFA/Far End Block Err Cnt (MSB) */
+       VINT32 pmon_bed_lsb;     /* 5C  PMON Bit/Err/CRCE Cnt (LSB) */
+       VINT32 pmon_bed_msb;     /* 5D  PMON Bit/Err/CRCE Cnt (MSB) */
+       VINT32 pmon_lvc_lsb;     /* 5E  PMON LVC Cnt (LSB) */
+       VINT32 pmon_lvc_msb;     /* 5F  PMON LVC Cnt (MSB) */
+
+       VINT32 t1_almi_cfg;      /* 60  T1 ALMI Cfg */
+       VINT32 t1_almi_ien;      /* 61  T1 ALMI Intr Enable */
+       VINT32 t1_almi_ists;     /* 62  T1 ALMI Intr Sts */
+       VINT32 t1_almi_detsts;   /* 63  T1 ALMI Alarm Detection Sts */
+
+       VINT32 _t1_pdvd_res64;   /* 64     T1 PDVD Reserved */
+       VINT32 t1_pdvd_ies;      /* 65  T1 PDVD Intr Enable/Sts */
+       VINT32 _t1_xboc_res66;   /* 66     T1 XBOC Reserved */
+       VINT32 t1_xboc_code;     /* 67  T1 XBOC Code */
+       VINT32 _t1_xpde_res68;   /* 68     T1 XPDE Reserved */
+       VINT32 t1_xpde_ies;      /* 69  T1 XPDE Intr Enable/Sts */
+
+       VINT32 t1_rboc_ena;      /* 6A  T1 RBOC Enable */
+       VINT32 t1_rboc_sts;      /* 6B  T1 RBOC Code Sts */
+
+       VINT32 t1_tpsc_cfg;      /* 6C  TPSC Cfg */
+       VINT32 t1_tpsc_sts;      /* 6D  TPSC uP Access Sts */
+       VINT32 t1_tpsc_ciaddr;   /* 6E  TPSC Channel Indirect
+                                 * Addr/Ctl */
+       VINT32 t1_tpsc_cidata;   /* 6F  TPSC Channel Indirect Data
+                                 * Buffer */
+       VINT32 t1_rpsc_cfg;      /* 70  RPSC Cfg */
+       VINT32 t1_rpsc_sts;      /* 71  RPSC uP Access Sts */
+       VINT32 t1_rpsc_ciaddr;   /* 72  RPSC Channel Indirect
+                                 * Addr/Ctl */
+       VINT32 t1_rpsc_cidata;   /* 73  RPSC Channel Indirect Data
+                                 * Buffer */
+       VINT32 __res74;          /* 74     Reserved */
+       VINT32 __res75;          /* 75     Reserved */
+       VINT32 __res76;          /* 76     Reserved */
+       VINT32 __res77;          /* 77     Reserved */
+
+       VINT32 t1_aprm_cfg;      /* 78  T1 APRM Cfg/Ctl */
+       VINT32 t1_aprm_load;     /* 79  T1 APRM Manual Load */
+       VINT32 t1_aprm_ists;     /* 7A  T1 APRM Intr Sts */
+       VINT32 t1_aprm_1sec_2;   /* 7B  T1 APRM One Second Content Octet 2 */
+       VINT32 t1_aprm_1sec_3;   /* 7C  T1 APRM One Second Content Octet 3 */
+       VINT32 t1_aprm_1sec_4;   /* 7D  T1 APRM One Second Content Octet 4 */
+       VINT32 t1_aprm_1sec_5;   /* 7E  T1 APRM
+                                 * One Second Content MSB (Octect 5) */
+       VINT32 t1_aprm_1sec_6;   /* 7F  T1 APRM
+                                 * One Second Content MSB (Octect 6) */
+
+       VINT32 e1_tran_cfg;      /* 80  E1 TRAN Cfg */
+       VINT32 e1_tran_txalarm;  /* 81  E1 TRAN TX Alarm/Diagnostic Ctl */
+       VINT32 e1_tran_intctl;   /* 82  E1 TRAN International Ctl */
+       VINT32 e1_tran_extrab;   /* 83  E1 TRAN Extra Bits Ctl */
+       VINT32 e1_tran_ien;      /* 84  E1 TRAN Intr Enable */
+       VINT32 e1_tran_ists;     /* 85  E1 TRAN Intr Sts */
+       VINT32 e1_tran_nats;     /* 86  E1 TRAN National Bit Codeword
+                                 * Select */
+       VINT32 e1_tran_nat;      /* 87  E1 TRAN National Bit Codeword */
+       VINT32 __res88;          /* 88     Reserved */
+       VINT32 __res89;          /* 89     Reserved */
+       VINT32 __res8A;          /* 8A     Reserved */
+       VINT32 __res8B;          /* 8B     Reserved */
+
+       VINT32 _t1_frmr_res8C;   /* 8C     T1 FRMR Reserved */
+       VINT32 _t1_frmr_res8D;   /* 8D     T1 FRMR Reserved */
+       VINT32 __res8E;          /* 8E     Reserved */
+       VINT32 __res8F;          /* 8F     Reserved */
+
+       VINT32 e1_frmr_aopts;    /* 90  E1 FRMR Frame Alignment Options */
+       VINT32 e1_frmr_mopts;    /* 91  E1 FRMR Maintenance Mode Options */
+       VINT32 e1_frmr_ien;      /* 92  E1 FRMR Framing Sts Intr Enable */
+       VINT32 e1_frmr_mien;     /* 93  E1 FRMR
+                                 * Maintenance/Alarm Sts Intr Enable */
+       VINT32 e1_frmr_ists;     /* 94  E1 FRMR Framing Sts Intr Indication */
+       VINT32 e1_frmr_mists;    /* 95  E1 FRMR
+                                 * Maintenance/Alarm Sts Indication Enable */
+       VINT32 e1_frmr_sts;      /* 96  E1 FRMR Framing Sts */
+       VINT32 e1_frmr_masts;    /* 97  E1 FRMR Maintenance/Alarm Sts */
+       VINT32 e1_frmr_nat_bits; /* 98  E1 FRMR International/National Bits */
+       VINT32 e1_frmr_crc_lsb;  /* 99  E1 FRMR CRC Err Cnt - LSB */
+       VINT32 e1_frmr_crc_msb;  /* 9A  E1 FRMR CRC Err Cnt - MSB */
+       VINT32 e1_frmr_nat_ien;  /* 9B  E1 FRMR
+                                 * National Bit Codeword Intr Enables */
+       VINT32 e1_frmr_nat_ists; /* 9C  E1 FRMR
+                                 * National Bit Codeword Intr/Sts */
+       VINT32 e1_frmr_nat;      /* 9D  E1 FRMR National Bit Codewords */
+       VINT32 e1_frmr_fp_ien;   /* 9E  E1 FRMR
+                                 * Frame Pulse/Alarm Intr Enables */
+       VINT32 e1_frmr_fp_ists;  /* 9F  E1 FRMR Frame Pulse/Alarm Intr/Sts */
+
+       VINT32 __resA0;          /* A0     Reserved */
+       VINT32 __resA1;          /* A1     Reserved */
+       VINT32 __resA2;          /* A2     Reserved */
+       VINT32 __resA3;          /* A3     Reserved */
+       VINT32 __resA4;          /* A4     Reserved */
+       VINT32 __resA5;          /* A5     Reserved */
+       VINT32 __resA6;          /* A6     Reserved */
+       VINT32 __resA7;          /* A7     Reserved */
+
+       VINT32 tdpr1_cfg;        /* A8  TDPR #1 Cfg */
+       VINT32 tdpr1_utl;        /* A9  TDPR #1 Upper TX Threshold */
+       VINT32 tdpr1_ltl;        /* AA  TDPR #1 Lower TX Threshold */
+       VINT32 tdpr1_ien;        /* AB  TDPR #1 Intr Enable */
+       VINT32 tdpr1_ists;       /* AC  TDPR #1 Intr Sts/UDR Clear */
+       VINT32 tdpr1_data;       /* AD  TDPR #1 TX Data */
+       VINT32 __resAE;          /* AE     Reserved */
+       VINT32 __resAF;          /* AF     Reserved */
+       VINT32 tdpr2_cfg;        /* B0  TDPR #2 Cfg */
+       VINT32 tdpr2_utl;        /* B1  TDPR #2 Upper TX Threshold */
+       VINT32 tdpr2_ltl;        /* B2  TDPR #2 Lower TX Threshold */
+       VINT32 tdpr2_ien;        /* B3  TDPR #2 Intr Enable */
+       VINT32 tdpr2_ists;       /* B4  TDPR #2 Intr Sts/UDR Clear */
+       VINT32 tdpr2_data;       /* B5  TDPR #2 TX Data */
+       VINT32 __resB6;          /* B6     Reserved */
+       VINT32 __resB7;          /* B7     Reserved1 */
+       VINT32 tdpr3_cfg;        /* B8  TDPR #3 Cfg */
+       VINT32 tdpr3_utl;        /* B9  TDPR #3 Upper TX Threshold */
+       VINT32 tdpr3_ltl;        /* BA  TDPR #3 Lower TX Threshold */
+       VINT32 tdpr3_ien;        /* BB  TDPR #3 Intr Enable */
+       VINT32 tdpr3_ists;       /* BC  TDPR #3 Intr Sts/UDR Clear */
+       VINT32 tdpr3_data;       /* BD  TDPR #3 TX Data */
+       VINT32 __resBE;          /* BE     Reserved */
+       VINT32 __resBF;          /* BF     Reserved */
+
+       VINT32 rdlc1_cfg;        /* C0  RDLC #1 Cfg */
+       VINT32 rdlc1_intctl;     /* C1  RDLC #1 Intr Ctl */
+       VINT32 rdlc1_sts;        /* C2  RDLC #1 Sts */
+       VINT32 rdlc1_data;       /* C3  RDLC #1 Data */
+       VINT32 rdlc1_paddr;      /* C4  RDLC #1 Primary Addr Match */
+       VINT32 rdlc1_saddr;      /* C5  RDLC #1 Secondary Addr Match */
+       VINT32 __resC6;          /* C6     Reserved */
+       VINT32 __resC7;          /* C7     Reserved */
+       VINT32 rdlc2_cfg;        /* C8  RDLC #2 Cfg */
+       VINT32 rdlc2_intctl;     /* C9  RDLC #2 Intr Ctl */
+       VINT32 rdlc2_sts;        /* CA  RDLC #2 Sts */
+       VINT32 rdlc2_data;       /* CB  RDLC #2 Data */
+       VINT32 rdlc2_paddr;      /* CC  RDLC #2 Primary Addr Match */
+       VINT32 rdlc2_saddr;      /* CD  RDLC #2 Secondary Addr Match */
+       VINT32 __resCE;          /* CE     Reserved */
+       VINT32 __resCF;          /* CF     Reserved */
+       VINT32 rdlc3_cfg;        /* D0  RDLC #3 Cfg */
+       VINT32 rdlc3_intctl;     /* D1  RDLC #3 Intr Ctl */
+       VINT32 rdlc3_sts;        /* D2  RDLC #3 Sts */
+       VINT32 rdlc3_data;       /* D3  RDLC #3 Data */
+       VINT32 rdlc3_paddr;      /* D4  RDLC #3 Primary Addr Match */
+       VINT32 rdlc3_saddr;      /* D5  RDLC #3 Secondary Addr Match */
+
+       VINT32 csu_cfg;          /* D6  CSU Cfg */
+       VINT32 _csu_resD7;       /* D7     CSU Reserved */
+
+       VINT32 rlps_idata3;      /* D8  RLPS Indirect Data, 24-31 */
+       VINT32 rlps_idata2;      /* D9  RLPS Indirect Data, 16-23 */
+       VINT32 rlps_idata1;      /* DA  RLPS Indirect Data, 8-15 */
+       VINT32 rlps_idata0;      /* DB  RLPS Indirect Data, 0-7 */
+       VINT32 rlps_eqvr;        /* DC  RLPS Equalizer Voltage Reference
+                                 *    (E1 missing) */
+       VINT32 _rlps_resDD;      /* DD     RLPS Reserved */
+       VINT32 _rlps_resDE;      /* DE     RLPS Reserved */
+       VINT32 _rlps_resDF;      /* DF     RLPS Reserved */
+
+       VINT32 prgd_ctl;         /* E0  PRGD Ctl */
+       VINT32 prgd_ies;         /* E1  PRGD Intr Enable/Sts */
+       VINT32 prgd_shift_len;   /* E2  PRGD Shift Length */
+       VINT32 prgd_tap;         /* E3  PRGD Tap */
+       VINT32 prgd_errin;       /* E4  PRGD Err Insertion */
+       VINT32 _prgd_resE5;      /* E5     PRGD Reserved */
+       VINT32 _prgd_resE6;      /* E6     PRGD Reserved */
+       VINT32 _prgd_resE7;      /* E7     PRGD Reserved */
+       VINT32 prgd_patin1;      /* E8  PRGD Pattern Insertion #1 */
+       VINT32 prgd_patin2;      /* E9  PRGD Pattern Insertion #2 */
+       VINT32 prgd_patin3;      /* EA  PRGD Pattern Insertion #3 */
+       VINT32 prgd_patin4;      /* EB  PRGD Pattern Insertion #4 */
+       VINT32 prgd_patdet1;     /* EC  PRGD Pattern Detector #1 */
+       VINT32 prgd_patdet2;     /* ED  PRGD Pattern Detector #2 */
+       VINT32 prgd_patdet3;     /* EE  PRGD Pattern Detector #3 */
+       VINT32 prgd_patdet4;     /* EF  PRGD Pattern Detector #4 */
+
+       VINT32 xlpg_cfg;         /* F0  XLPG Line Driver Cfg */
+       VINT32 xlpg_ctlsts;      /* F1  XLPG Ctl/Sts */
+       VINT32 xlpg_pwave_addr;  /* F2  XLPG
+                                 * Pulse Waveform Storage Write Addr */
+       VINT32 xlpg_pwave_data;  /* F3  XLPG Pulse Waveform Storage Data */
+       VINT32 xlpg_atest_pctl;  /* F4  XLPG Analog Test Positive Ctl */
+       VINT32 xlpg_atest_nctl;  /* F5  XLPG Analog Test Negative Ctl */
+       VINT32 xlpg_fdata_sel;   /* F6  XLPG Fuse Data Select */
+       VINT32 _xlpg_resF7;      /* F7     XLPG Reserved */
+
+       VINT32 rlps_cfgsts;      /* F8  RLPS Cfg & Sts */
+       VINT32 rlps_alos_thresh; /* F9  RLPS
+                                 * ALOS Detection/Clearance Threshold */
+       VINT32 rlps_alos_dper;   /* FA  RLPS ALOS Detection Period */
+       VINT32 rlps_alos_cper;   /* FB  RLPS ALOS Clearance Period */
+       VINT32 rlps_eq_iaddr;    /* FC  RLPS Equalization Indirect Addr */
+       VINT32 rlps_eq_rwsel;    /* FD  RLPS Equalization Read/WriteB Select */
+       VINT32 rlps_eq_ctlsts;   /* FE  RLPS Equalizer Loop Sts & Ctl */
+       VINT32 rlps_eq_cfg;      /* FF  RLPS Equalizer Cfg */
 };
 
-typedef struct s_comet_reg comet_t;
-
 /* 00AH: MDIAG Register bit definitions */
 #define COMET_MDIAG_ID5        0x40
 #define COMET_MDIAG_LBMASK     0x3F
@@ -338,7 +347,7 @@ typedef struct s_comet_reg comet_t;
 
 #ifdef __KERNEL__
 extern void
-init_comet(void *, comet_t *, u_int32_t, int, u_int8_t);
+init_comet(void *, struct s_comet_reg *, u_int32_t, int, u_int8_t);
 #endif
 
 #endif                          /* _INC_COMET_H_ */
index d021b312ffa28821b4495ee2c6b08512784ed7a2..95218e2839662f90c48e30a3fac42566980b6f20 100644 (file)
@@ -274,7 +274,7 @@ VMETRO_TRACE (void *x)
 void
 VMETRO_TRIGGER (ci_t *ci, int x)
 {
-    comet_t    *comet;
+    struct s_comet_reg    *comet;
     volatile u_int32_t data;
 
     comet = ci->port[0].cometbase;  /* default to COMET # 0 */
index 0ba8c3ae673bd19cb86617a6b3ad0aea32ecf228..7a3a30cd0f7f557a0f53fcfeacd7223311cee4eb 100644 (file)
@@ -1,5 +1,5 @@
-unsigned int max_intcnt = 0;
-unsigned int max_bh = 0;
+static unsigned int max_intcnt = 0;
+static unsigned int max_bh = 0;
 
 /*-----------------------------------------------------------------------------
  * musycc.c -
index 4028ea11c4423bc14096d80f7423bec5391b4297..a9d95753be20479de7826eab83723ae95e945494 100644 (file)
@@ -194,7 +194,7 @@ checkPorts (ci_t *ci)
      * alarms conflicts with NCOMM's interrupt servicing implementation.
      */
 
-    comet_t    *comet;
+    struct s_comet_reg    *comet;
     volatile u_int32_t value;
     u_int32_t   copyVal, LEDval;
 
@@ -507,7 +507,7 @@ c4_cleanup (void)
 int
 c4_get_portcfg (ci_t *ci)
 {
-    comet_t    *comet;
+    struct s_comet_reg    *comet;
     int         portnum, mask;
     u_int32_t   wdata, rdata;
 
@@ -561,7 +561,7 @@ c4_init (ci_t *ci, u_char *func0, u_char *func1)
         for (portnum = 0; portnum < MUSYCC_NPORTS; portnum++)
         {
             pi = &ci->port[portnum];
-            pi->cometbase = (comet_t *) ((u_int32_t *) (func1 + COMET_OFFSET (portnum)));
+            pi->cometbase = (struct s_comet_reg *) ((u_int32_t *) (func1 + COMET_OFFSET (portnum)));
             pi->reg = (struct musycc_globalr *) ((u_char *) ci->reg + (portnum * 0x800));
             pi->portnum = portnum;
             pi->p.portnum = portnum;
@@ -693,7 +693,7 @@ c4_init2 (ci_t *ci)
 int
 c4_loop_port (ci_t *ci, int portnum, u_int8_t cmd)
 {
-    comet_t    *comet;
+    struct s_comet_reg    *comet;
     volatile u_int32_t loopValue;
 
     comet = ci->port[portnum].cometbase;
@@ -752,7 +752,7 @@ c4_loop_port (ci_t *ci, int portnum, u_int8_t cmd)
 status_t
 c4_frame_rw (ci_t *ci, struct sbecom_port_param *pp)
 {
-    comet_t    *comet;
+    struct s_comet_reg    *comet;
     volatile u_int32_t data;
 
     if (pp->portnum >= ci->max_port)/* sanity check */
index b2b6e3702630a73ed19b776b4aae45bf350a01d3..7edbd4e492e39a62faa01dfd4751ece463818c0e 100644 (file)
@@ -133,7 +133,7 @@ struct c4_port_info
     void       *regram_saved;   /* Original malloc value may have non-2KB
                                  * boundary.  Need to save for use when
                                  * freeing. */
-    comet_t    *cometbase;
+    struct s_comet_reg    *cometbase;
     struct sbe_card_info *up;
 
     /*
index 6ec51bccceb11844270321aab3e7b256d54a1d8d..97c5c6e7e2996b79c002c314dd4bb212a80870fe 100644 (file)
 #include "sbe_bid.h"
 
 char       *
-sbeid_get_bdname (ci_t *ci)
+sbeid_get_bdname(ci_t *ci)
 {
-    char       *np = NULL;
+       char       *np = NULL;
 
-    switch (ci->brd_id)
-    {
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_E1):
-        np = "wanPTMC-256T3 <E1>";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_T1):
-        np = "wanPTMC-256T3 <T1>";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1):
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1_L):
-        np = "wanPMC-C4T1E1";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1):
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1_L):
-        np = "wanPMC-C2T1E1";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1):
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1_L):
-        np = "wanPMC-C1T1E1";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1):
-        np = "wanPCI-C4T1E1";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1):
-        np = "wanPCI-C2T1E1";
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1):
-        np = "wanPCI-C1T1E1";
-        break;
-    default:
-        /*** np = "<unknown>";  ***/
-        np = "wanPCI-CxT1E1";
-        break;
-    }
+       switch (ci->brd_id) {
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_E1):
+               np = "wanPTMC-256T3 <E1>";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_T1):
+               np = "wanPTMC-256T3 <T1>";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1):
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1_L):
+               np = "wanPMC-C4T1E1";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1):
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1_L):
+               np = "wanPMC-C2T1E1";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1):
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1_L):
+               np = "wanPMC-C1T1E1";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1):
+               np = "wanPCI-C4T1E1";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1):
+               np = "wanPCI-C2T1E1";
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1):
+               np = "wanPCI-C1T1E1";
+               break;
+       default:
+               /*** np = "<unknown>";  ***/
+               np = "wanPCI-CxT1E1";
+               break;
+       }
 
-    return np;
+       return np;
 }
 
 
 /* given the presetting of brd_id, set the corresponding hdw_id */
 
 void
-sbeid_set_hdwbid (ci_t *ci)
+sbeid_set_hdwbid(ci_t *ci)
 {
-    /*
-     * set SBE's unique hardware identification (for legacy boards might not
-     * have this register implemented)
-     */
+       /*
+        * set SBE's unique hardware identification (for legacy boards might not
+        * have this register implemented)
+        */
 
-    switch (ci->brd_id)
-    {
-        case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_E1):
-        ci->hdw_bid = SBE_BID_256T3_E1; /* 0x46 - SBE wanPTMC-256T3 (E1
-                                         * Version) */
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_T1):
-        ci->hdw_bid = SBE_BID_256T3_T1; /* 0x42 - SBE wanPTMC-256T3 (T1
-                                         * Version) */
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1):
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1_L):
-        /*
-         * This Board ID is a generic identification.  Use the found number
-         * of ports to further define this hardware.
-         */
-        switch (ci->max_port)
-        {
-        default:                    /* shouldn't need a default, but have one
-                                     * anyway */
-        case 4:
-            ci->hdw_bid = SBE_BID_PMC_C4T1E1;   /* 0xC4 - SBE wanPMC-C4T1E1 */
-            break;
-        case 2:
-            ci->hdw_bid = SBE_BID_PMC_C2T1E1;   /* 0xC2 - SBE wanPMC-C2T1E1 */
-            ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1);
-            break;
-        case 1:
-            ci->hdw_bid = SBE_BID_PMC_C1T1E1;   /* 0xC1 - SBE wanPMC-C1T1E1 */
-            ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1);
-            break;
-        }
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1):
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1_L):
-        ci->hdw_bid = SBE_BID_PMC_C2T1E1;       /* 0xC2 - SBE wanPMC-C2T1E1 */
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1):
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1_L):
-        ci->hdw_bid = SBE_BID_PMC_C1T1E1;       /* 0xC1 - SBE wanPMC-C1T1E1 */
-        break;
+       switch (ci->brd_id) {
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_E1):
+               ci->hdw_bid = SBE_BID_256T3_E1; /* 0x46 - SBE wanPTMC-256T3 (E1
+                                                * Version) */
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_T1):
+               ci->hdw_bid = SBE_BID_256T3_T1; /* 0x42 - SBE wanPTMC-256T3 (T1
+                                                * Version) */
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1):
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1_L):
+               /*
+                * This Board ID is a generic identification.  Use the found number
+                * of ports to further define this hardware.
+                */
+               switch (ci->max_port) {
+               default:                    /* shouldn't need a default, but have one
+                                            * anyway */
+               case 4:
+                       ci->hdw_bid = SBE_BID_PMC_C4T1E1;   /* 0xC4 - SBE wanPMC-C4T1E1 */
+                       break;
+               case 2:
+                       ci->hdw_bid = SBE_BID_PMC_C2T1E1;   /* 0xC2 - SBE wanPMC-C2T1E1 */
+                       ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1);
+                       break;
+               case 1:
+                       ci->hdw_bid = SBE_BID_PMC_C1T1E1;   /* 0xC1 - SBE wanPMC-C1T1E1 */
+                       ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1);
+                       break;
+               }
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1):
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1_L):
+               ci->hdw_bid = SBE_BID_PMC_C2T1E1;       /* 0xC2 - SBE wanPMC-C2T1E1 */
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1):
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1_L):
+               ci->hdw_bid = SBE_BID_PMC_C1T1E1;       /* 0xC1 - SBE wanPMC-C1T1E1 */
+               break;
 #ifdef SBE_PMCC4_ENABLE
-        /*
-         * This case is entered as a result of the inability to obtain the
-         * <bid> from the board's EEPROM.  Assume a PCI board and set
-         * <hdsbid> according to the number ofr found ports.
-         */
-    case 0:
-        /* start by assuming 4-port for ZERO casing */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1);
-        /* drop thru to set hdw_bid and alternate PCI CxT1E1 settings */
+               /*
+                * This case is entered as a result of the inability to obtain the
+                * <bid> from the board's EEPROM.  Assume a PCI board and set
+                * <hdsbid> according to the number ofr found ports.
+                */
+       case 0:
+               /* start by assuming 4-port for ZERO casing */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1);
+               /* drop thru to set hdw_bid and alternate PCI CxT1E1 settings */
 #endif
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1):
-        /*
-         * This Board ID is a generic identification.  Use the number of
-         * found ports to further define this hardware.
-         */
-        switch (ci->max_port)
-        {
-        default:                    /* shouldn't need a default, but have one
-                                     * anyway */
-        case 4:
-            ci->hdw_bid = SBE_BID_PCI_C4T1E1;   /* 0x04 - SBE wanPCI-C4T1E1 */
-            break;
-        case 2:
-            ci->hdw_bid = SBE_BID_PCI_C2T1E1;   /* 0x02 - SBE wanPCI-C2T1E1 */
-            ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1);
-            break;
-        case 1:
-            ci->hdw_bid = SBE_BID_PCI_C1T1E1;   /* 0x01 - SBE wanPCI-C1T1E1 */
-            ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1);
-            break;
-        }
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1):
-        ci->hdw_bid = SBE_BID_PCI_C2T1E1;       /* 0x02 - SBE wanPCI-C2T1E1 */
-        break;
-    case SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1):
-        ci->hdw_bid = SBE_BID_PCI_C1T1E1;       /* 0x01 - SBE wanPCI-C1T1E1 */
-        break;
-    default:
-        /*** bid = "<unknown>";  ***/
-        ci->hdw_bid = SBE_BID_PMC_C4T1E1;       /* 0x41 - SBE wanPTMC-C4T1E1 */
-        break;
-    }
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1):
+               /*
+                * This Board ID is a generic identification.  Use the number of
+                * found ports to further define this hardware.
+                */
+               switch (ci->max_port) {
+               default:                    /* shouldn't need a default, but have one
+                                            * anyway */
+               case 4:
+                       ci->hdw_bid = SBE_BID_PCI_C4T1E1;   /* 0x04 - SBE wanPCI-C4T1E1 */
+                       break;
+               case 2:
+                       ci->hdw_bid = SBE_BID_PCI_C2T1E1;   /* 0x02 - SBE wanPCI-C2T1E1 */
+                       ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1);
+                       break;
+               case 1:
+                       ci->hdw_bid = SBE_BID_PCI_C1T1E1;   /* 0x01 - SBE wanPCI-C1T1E1 */
+                       ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1);
+                       break;
+               }
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1):
+               ci->hdw_bid = SBE_BID_PCI_C2T1E1;       /* 0x02 - SBE wanPCI-C2T1E1 */
+               break;
+       case SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1):
+               ci->hdw_bid = SBE_BID_PCI_C1T1E1;       /* 0x01 - SBE wanPCI-C1T1E1 */
+               break;
+       default:
+               /*** bid = "<unknown>";  ***/
+               ci->hdw_bid = SBE_BID_PMC_C4T1E1;       /* 0x41 - SBE wanPTMC-C4T1E1 */
+               break;
+       }
 }
 
 /* given the presetting of hdw_bid, set the corresponding brd_id */
 
 void
-sbeid_set_bdtype (ci_t *ci)
+sbeid_set_bdtype(ci_t *ci)
 {
-    /* set SBE's unique PCI VENDOR/DEVID */
-    switch (ci->hdw_bid)
-    {
-        case SBE_BID_C1T3:      /* SBE wanPMC-C1T3 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T3);
-        break;
-    case SBE_BID_C24TE1:            /* SBE wanPTMC-C24TE1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_C24TE1);
-        break;
-    case SBE_BID_256T3_E1:          /* SBE wanPTMC-256T3 E1 Version */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_E1);
-        break;
-    case SBE_BID_256T3_T1:          /* SBE wanPTMC-256T3 T1 Version */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_T1);
-        break;
-    case SBE_BID_PMC_C4T1E1:        /* 0xC4 - SBE wanPMC-C4T1E1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1);
-        break;
-    case SBE_BID_PMC_C2T1E1:        /* 0xC2 - SBE wanPMC-C2T1E1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1);
-        break;
-    case SBE_BID_PMC_C1T1E1:        /* 0xC1 - SBE wanPMC-C1T1E1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1);
-        break;
-    case SBE_BID_PCI_C4T1E1:        /* 0x04 - SBE wanPCI-C4T1E1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1);
-        break;
-    case SBE_BID_PCI_C2T1E1:        /* 0x02 - SBE wanPCI-C2T1E1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1);
-        break;
-    case SBE_BID_PCI_C1T1E1:        /* 0x01 - SBE wanPCI-C1T1E1 */
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1);
-        break;
+       /* set SBE's unique PCI VENDOR/DEVID */
+       switch (ci->hdw_bid) {
+       case SBE_BID_C1T3:      /* SBE wanPMC-C1T3 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T3);
+               break;
+       case SBE_BID_C24TE1:            /* SBE wanPTMC-C24TE1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_C24TE1);
+               break;
+       case SBE_BID_256T3_E1:          /* SBE wanPTMC-256T3 E1 Version */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_E1);
+               break;
+       case SBE_BID_256T3_T1:          /* SBE wanPTMC-256T3 T1 Version */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPTMC_256T3_T1);
+               break;
+       case SBE_BID_PMC_C4T1E1:        /* 0xC4 - SBE wanPMC-C4T1E1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C4T1E1);
+               break;
+       case SBE_BID_PMC_C2T1E1:        /* 0xC2 - SBE wanPMC-C2T1E1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C2T1E1);
+               break;
+       case SBE_BID_PMC_C1T1E1:        /* 0xC1 - SBE wanPMC-C1T1E1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPMC_C1T1E1);
+               break;
+       case SBE_BID_PCI_C4T1E1:        /* 0x04 - SBE wanPCI-C4T1E1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1);
+               break;
+       case SBE_BID_PCI_C2T1E1:        /* 0x02 - SBE wanPCI-C2T1E1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C2T1E1);
+               break;
+       case SBE_BID_PCI_C1T1E1:        /* 0x01 - SBE wanPCI-C1T1E1 */
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C1T1E1);
+               break;
 
-    default:
-        /*** hdw_bid = "<unknown>";  ***/
-        ci->brd_id = SBE_BOARD_ID (PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1);
-        break;
-    }
+       default:
+               /*** hdw_bid = "<unknown>";  ***/
+               ci->brd_id = SBE_BOARD_ID(PCI_VENDOR_ID_SBE, PCI_DEVICE_ID_WANPCI_C4T1E1);
+               break;
+       }
 }
 
 
index 33ac7fb88cbd3b98b24b1eb50209e4a0b5c6100e..1f61b89eca44c084cb714052d5eb3fb3a7ba2566 100644 (file)
@@ -2232,6 +2232,177 @@ done:
        return rtn;
 }
 
+/*
+ * Common Packet Handling code
+ */
+
+static void handle_data_in_packet(struct nd_struct *nd, struct ch_struct *ch,
+                                 long dlen, long plen, int n1, u8 *dbuf)
+{
+       char *error;
+       long n;
+       long remain;
+       u8 *buf;
+       u8 *b;
+
+       remain = nd->nd_remain;
+       nd->nd_tx_work = 1;
+
+       /*
+        *  Otherwise data should appear only when we are
+        *  in the CS_READY state.
+        */
+
+       if (ch->ch_state < CS_READY) {
+               error = "Data received before RWIN established";
+               nd->nd_remain = 0;
+               nd->nd_state = NS_SEND_ERROR;
+               nd->nd_error = error;
+       }
+
+       /*
+        *  Assure that the data received is within the
+        *  allowable window.
+        */
+
+       n = (ch->ch_s_rwin - ch->ch_s_rin) & 0xffff;
+
+       if (dlen > n) {
+               error = "Receive data overrun";
+               nd->nd_remain = 0;
+               nd->nd_state = NS_SEND_ERROR;
+               nd->nd_error = error;
+       }
+
+       /*
+        *  If we received 3 or less characters,
+        *  assume it is a human typing, and set RTIME
+        *  to 10 milliseconds.
+        *
+        *  If we receive 10 or more characters,
+        *  assume its not a human typing, and set RTIME
+        *  to 100 milliseconds.
+        */
+
+       if (ch->ch_edelay != DGRP_RTIME) {
+               if (ch->ch_rtime != ch->ch_edelay) {
+                       ch->ch_rtime = ch->ch_edelay;
+                       ch->ch_flag |= CH_PARAM;
+               }
+       } else if (dlen <= 3) {
+               if (ch->ch_rtime != 10) {
+                       ch->ch_rtime = 10;
+                       ch->ch_flag |= CH_PARAM;
+               }
+       } else {
+               if (ch->ch_rtime != DGRP_RTIME) {
+                       ch->ch_rtime = DGRP_RTIME;
+                       ch->ch_flag |= CH_PARAM;
+               }
+       }
+
+       /*
+        *  If a portion of the packet is outside the
+        *  buffer, shorten the effective length of the
+        *  data packet to be the amount of data received.
+        */
+
+       if (remain < plen)
+               dlen -= plen - remain;
+
+       /*
+        *  Detect if receive flush is now complete.
+        */
+
+       if ((ch->ch_flag & CH_RX_FLUSH) != 0 &&
+                       ((ch->ch_flush_seq - nd->nd_seq_out) & SEQ_MASK) >=
+                       ((nd->nd_seq_in    - nd->nd_seq_out) & SEQ_MASK)) {
+               ch->ch_flag &= ~CH_RX_FLUSH;
+       }
+
+       /*
+        *  If we are ready to receive, move the data into
+        *  the receive buffer.
+        */
+
+       ch->ch_s_rin = (ch->ch_s_rin + dlen) & 0xffff;
+
+       if (ch->ch_state == CS_READY &&
+                       (ch->ch_tun.un_open_count != 0) &&
+                       (ch->ch_tun.un_flag & UN_CLOSING) == 0 &&
+                       (ch->ch_cflag & CF_CREAD) != 0 &&
+                       (ch->ch_flag & (CH_BAUD0 | CH_RX_FLUSH)) == 0 &&
+                       (ch->ch_send & RR_RX_FLUSH) == 0) {
+
+               if (ch->ch_rin + dlen >= RBUF_MAX) {
+                       n = RBUF_MAX - ch->ch_rin;
+
+                       memcpy(ch->ch_rbuf + ch->ch_rin, dbuf, n);
+
+                       ch->ch_rin = 0;
+                       dbuf += n;
+                       dlen -= n;
+               }
+
+               memcpy(ch->ch_rbuf + ch->ch_rin, dbuf, dlen);
+
+               ch->ch_rin += dlen;
+
+
+               /*
+                *  If we are not in fastcook mode, or
+                *  if there is a fastcook thread
+                *  waiting for data, send the data to
+                *  the line discipline.
+                */
+
+               if ((ch->ch_flag & CH_FAST_READ) == 0 ||
+                               ch->ch_inwait != 0) {
+                       dgrp_input(ch);
+               }
+
+               /*
+                *  If there is a read thread waiting
+                *  in select, and we are in fastcook
+                *  mode, wake him up.
+                */
+
+               if (waitqueue_active(&ch->ch_tun.un_tty->read_wait) &&
+                               (ch->ch_flag & CH_FAST_READ) != 0)
+                       wake_up_interruptible(&ch->ch_tun.un_tty->read_wait);
+
+               /*
+                * Wake any thread waiting in the
+                * fastcook loop.
+                */
+
+               if ((ch->ch_flag & CH_INPUT) != 0) {
+                       ch->ch_flag &= ~CH_INPUT;
+                       wake_up_interruptible(&ch->ch_flag_wait);
+               }
+       }
+
+       /*
+        *  Fabricate and insert a data packet header to
+        *  preced the remaining data when it comes in.
+        */
+
+       if (remain < plen) {
+               dlen = plen - remain;
+               b = buf;
+
+               b[0] = 0x90 + n1;
+               put_unaligned_be16(dlen, b + 1);
+
+               remain = 3;
+               if (remain > 0 && b != buf)
+                       memcpy(buf, b, remain);
+
+               nd->nd_remain = remain;
+               return;
+       }
+}
+
 /**
  * dgrp_receive() -- decode data packets received from the remote PortServer.
  * @nd: pointer to a node structure
@@ -2306,7 +2477,8 @@ static void dgrp_receive(struct nd_struct *nd)
                        plen = dlen + 1;
 
                        dbuf = b + 1;
-                       goto data;
+                       handle_data_in_packet(nd, ch, dlen, plen, n1, dbuf);
+                       break;
 
                /*
                 *  Process 2-byte header data packet.
@@ -2320,7 +2492,8 @@ static void dgrp_receive(struct nd_struct *nd)
                        plen = dlen + 2;
 
                        dbuf = b + 2;
-                       goto data;
+                       handle_data_in_packet(nd, ch, dlen, plen, n1, dbuf);
+                       break;
 
                /*
                 *  Process 3-byte header data packet.
@@ -2335,159 +2508,6 @@ static void dgrp_receive(struct nd_struct *nd)
 
                        dbuf = b + 3;
 
-               /*
-                *  Common packet handling code.
-                */
-
-data:
-                       nd->nd_tx_work = 1;
-
-                       /*
-                        *  Otherwise data should appear only when we are
-                        *  in the CS_READY state.
-                        */
-
-                       if (ch->ch_state < CS_READY) {
-                               error = "Data received before RWIN established";
-                               goto prot_error;
-                       }
-
-                       /*
-                        *  Assure that the data received is within the
-                        *  allowable window.
-                        */
-
-                       n = (ch->ch_s_rwin - ch->ch_s_rin) & 0xffff;
-
-                       if (dlen > n) {
-                               error = "Receive data overrun";
-                               goto prot_error;
-                       }
-
-                       /*
-                        *  If we received 3 or less characters,
-                        *  assume it is a human typing, and set RTIME
-                        *  to 10 milliseconds.
-                        *
-                        *  If we receive 10 or more characters,
-                        *  assume its not a human typing, and set RTIME
-                        *  to 100 milliseconds.
-                        */
-
-                       if (ch->ch_edelay != DGRP_RTIME) {
-                               if (ch->ch_rtime != ch->ch_edelay) {
-                                       ch->ch_rtime = ch->ch_edelay;
-                                       ch->ch_flag |= CH_PARAM;
-                               }
-                       } else if (dlen <= 3) {
-                               if (ch->ch_rtime != 10) {
-                                       ch->ch_rtime = 10;
-                                       ch->ch_flag |= CH_PARAM;
-                               }
-                       } else {
-                               if (ch->ch_rtime != DGRP_RTIME) {
-                                       ch->ch_rtime = DGRP_RTIME;
-                                       ch->ch_flag |= CH_PARAM;
-                               }
-                       }
-
-                       /*
-                        *  If a portion of the packet is outside the
-                        *  buffer, shorten the effective length of the
-                        *  data packet to be the amount of data received.
-                        */
-
-                       if (remain < plen)
-                               dlen -= plen - remain;
-
-                       /*
-                        *  Detect if receive flush is now complete.
-                        */
-
-                       if ((ch->ch_flag & CH_RX_FLUSH) != 0 &&
-                           ((ch->ch_flush_seq - nd->nd_seq_out) & SEQ_MASK) >=
-                           ((nd->nd_seq_in    - nd->nd_seq_out) & SEQ_MASK)) {
-                               ch->ch_flag &= ~CH_RX_FLUSH;
-                       }
-
-                       /*
-                        *  If we are ready to receive, move the data into
-                        *  the receive buffer.
-                        */
-
-                       ch->ch_s_rin = (ch->ch_s_rin + dlen) & 0xffff;
-
-                       if (ch->ch_state == CS_READY &&
-                           (ch->ch_tun.un_open_count != 0) &&
-                           (ch->ch_tun.un_flag & UN_CLOSING) == 0 &&
-                           (ch->ch_cflag & CF_CREAD) != 0 &&
-                           (ch->ch_flag & (CH_BAUD0 | CH_RX_FLUSH)) == 0 &&
-                           (ch->ch_send & RR_RX_FLUSH) == 0) {
-
-                               if (ch->ch_rin + dlen >= RBUF_MAX) {
-                                       n = RBUF_MAX - ch->ch_rin;
-
-                                       memcpy(ch->ch_rbuf + ch->ch_rin, dbuf, n);
-
-                                       ch->ch_rin = 0;
-                                       dbuf += n;
-                                       dlen -= n;
-                               }
-
-                               memcpy(ch->ch_rbuf + ch->ch_rin, dbuf, dlen);
-
-                               ch->ch_rin += dlen;
-
-
-                               /*
-                                *  If we are not in fastcook mode, or
-                                *  if there is a fastcook thread
-                                *  waiting for data, send the data to
-                                *  the line discipline.
-                                */
-
-                               if ((ch->ch_flag & CH_FAST_READ) == 0 ||
-                                   ch->ch_inwait != 0) {
-                                       dgrp_input(ch);
-                               }
-
-                               /*
-                                *  If there is a read thread waiting
-                                *  in select, and we are in fastcook
-                                *  mode, wake him up.
-                                */
-
-                               if (waitqueue_active(&ch->ch_tun.un_tty->read_wait) &&
-                                   (ch->ch_flag & CH_FAST_READ) != 0)
-                                       wake_up_interruptible(&ch->ch_tun.un_tty->read_wait);
-
-                               /*
-                                * Wake any thread waiting in the
-                                * fastcook loop.
-                                */
-
-                               if ((ch->ch_flag & CH_INPUT) != 0) {
-                                       ch->ch_flag &= ~CH_INPUT;
-
-                                       wake_up_interruptible(&ch->ch_flag_wait);
-                               }
-                       }
-
-                       /*
-                        *  Fabricate and insert a data packet header to
-                        *  preced the remaining data when it comes in.
-                        */
-
-                       if (remain < plen) {
-                               dlen = plen - remain;
-                               b = buf;
-
-                               b[0] = 0x90 + n1;
-                               put_unaligned_be16(dlen, b + 1);
-
-                               remain = 3;
-                               goto done;
-                       }
                        break;
 
                /*
index f200f1f6e1c67ddf3d151552e3aeed0088b5b8f8..2f68fbc0882788851799e63225b585d43b7a64c7 100644 (file)
@@ -344,25 +344,17 @@ void dwc2_hcd_init_usecs(struct dwc2_hsotg *hsotg)
 static int dwc2_find_single_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
 {
        unsigned short utime = qh->usecs;
-       int done = 0;
-       int i = 0;
-       int ret = -1;
+       int i;
 
-       while (!done) {
+       for (i = 0; i < 8; i++) {
                /* At the start hsotg->frame_usecs[i] = max_uframe_usecs[i] */
                if (utime <= hsotg->frame_usecs[i]) {
                        hsotg->frame_usecs[i] -= utime;
                        qh->frame_usecs[i] += utime;
-                       ret = i;
-                       done = 1;
-               } else {
-                       i++;
-                       if (i == 8)
-                               done = 1;
+                       return i;
                }
        }
-
-       return ret;
+       return -1;
 }
 
 /*
@@ -372,21 +364,14 @@ static int dwc2_find_multi_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
 {
        unsigned short utime = qh->usecs;
        unsigned short xtime;
-       int t_left = utime;
-       int done = 0;
-       int i = 0;
+       int t_left;
+       int i;
        int j;
-       int ret = -1;
-
-       while (!done) {
-               if (hsotg->frame_usecs[i] <= 0) {
-                       i++;
-                       if (i == 8) {
-                               ret = -1;
-                               done = 1;
-                       }
+       int k;
+
+       for (i = 0; i < 8; i++) {
+               if (hsotg->frame_usecs[i] <= 0)
                        continue;
-               }
 
                /*
                 * we need n consecutive slots so use j as a start slot
@@ -400,50 +385,35 @@ static int dwc2_find_multi_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
                         */
                        if (xtime + hsotg->frame_usecs[j] < utime) {
                                if (hsotg->frame_usecs[j] <
-                                                       max_uframe_usecs[j]) {
-                                       ret = -1;
-                                       break;
-                               }
+                                                       max_uframe_usecs[j])
+                                       continue;
                        }
                        if (xtime >= utime) {
-                               ret = i;
-                               break;
+                               t_left = utime;
+                               for (k = i; k < 8; k++) {
+                                       t_left -= hsotg->frame_usecs[k];
+                                       if (t_left <= 0) {
+                                               qh->frame_usecs[k] +=
+                                                       hsotg->frame_usecs[k]
+                                                               + t_left;
+                                               hsotg->frame_usecs[k] = -t_left;
+                                               return i;
+                                       } else {
+                                               qh->frame_usecs[k] +=
+                                                       hsotg->frame_usecs[k];
+                                               hsotg->frame_usecs[k] = 0;
+                                       }
+                               }
                        }
                        /* add the frame time to x time */
                        xtime += hsotg->frame_usecs[j];
                        /* we must have a fully available next frame or break */
                        if (xtime < utime &&
-                          hsotg->frame_usecs[j] == max_uframe_usecs[j]) {
-                               ret = -1;
-                               break;
-                       }
-               }
-               if (ret >= 0) {
-                       t_left = utime;
-                       for (j = i; t_left > 0 && j < 8; j++) {
-                               t_left -= hsotg->frame_usecs[j];
-                               if (t_left <= 0) {
-                                       qh->frame_usecs[j] +=
-                                               hsotg->frame_usecs[j] + t_left;
-                                       hsotg->frame_usecs[j] = -t_left;
-                                       ret = i;
-                                       done = 1;
-                               } else {
-                                       qh->frame_usecs[j] +=
-                                               hsotg->frame_usecs[j];
-                                       hsotg->frame_usecs[j] = 0;
-                               }
-                       }
-               } else {
-                       i++;
-                       if (i == 8) {
-                               ret = -1;
-                               done = 1;
-                       }
+                          hsotg->frame_usecs[j] == max_uframe_usecs[j])
+                               continue;
                }
        }
-
-       return ret;
+       return -1;
 }
 
 static int dwc2_find_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
index 83ca1053bb1d2c04be6eeef97103ae1bf6bfd58f..4d9fac017044a527b6c2ea6d39a5f880a1632af5 100644 (file)
@@ -135,7 +135,7 @@ MODULE_DEVICE_TABLE(of, dwc2_of_match_table);
 
 static struct platform_driver dwc2_platform_driver = {
        .driver = {
-               .name = (char *)dwc2_driver_name,
+               .name = dwc2_driver_name,
                .of_match_table = dwc2_of_match_table,
        },
        .probe = dwc2_driver_probe,
index 9dce54eae1cf5b9d6f2897f9e678643cf3952ecc..915165e387044cdad004760d7a478e175a201bcc 100644 (file)
 #define _BOOTH_
 
 // Official bootloader
-static unsigned char bootimage [] = {
-0x00,0x00,0x01,0x5E,0x00,0x00
-,0x00,0x00,0x00,0x00,0x02,0xD7
-,0x00,0x00,0x01,0x5E,0x46,0xB3
-,0xE6,0x02,0x00,0x98,0xE6,0x8C
-,0x00,0x98,0xFB,0x92,0xFF,0xFF
-,0x98,0xFB,0x94,0xFF,0xFF,0x98
-,0xFB,0x06,0x08,0x00,0x98,0xFB
-,0x96,0x84,0x00,0x98,0xFB,0x08
-,0x1C,0x00,0x98,0xFB,0x51,0x25
-,0x10,0x1C,0x00,0xE6,0x51,0x01
-,0x07,0xFD,0x4C,0xFF,0x20,0xF5
-,0x51,0x02,0x20,0x08,0x00,0x4C
-,0xFF,0x20,0x3C,0x00,0xC0,0x64
-,0x98,0xC0,0x66,0x98,0xC0,0x68
-,0x98,0xC0,0x6A,0x98,0xC0,0x6C
-,0x98,0x90,0x08,0x90,0x09,0x90
-,0x0A,0x90,0x0B,0x90,0x0C,0x90
-,0x0D,0x90,0x0E,0x90,0x0F,0x90
-,0x04,0x90,0x06,0xFB,0x51,0x22
-,0x16,0x08,0x03,0xFB,0x51,0x52
-,0x16,0x08,0x04,0xFB,0x51,0x24
-,0x2B,0x08,0x06,0xFB,0x51,0x54
-,0x2B,0x08,0x07,0xFB,0x51,0x24
-,0x2B,0x08,0x09,0xFB,0x51,0x54
-,0x2B,0x08,0x0A,0xFB,0x51,0x12
-,0x16,0x08,0x0C,0xFB,0x51,0x52
-,0x16,0x08,0x0D,0x78,0x00,0x00
-,0x00,0x16,0x00,0x00,0xEC,0x31
-,0xAE,0x00,0x00,0x81,0x4C,0x0F
-,0xE6,0x43,0xFF,0xEC,0x31,0x4E
-,0x00,0x00,0x91,0xEC,0x31,0xAE
-,0x00,0x00,0x91,0x4C,0x0F,0xE6
-,0x43,0xFF,0xEC,0x31,0x5E,0x00
-,0x00,0xA1,0xEB,0x31,0x08,0x00
-,0x00,0xA6,0xEB,0x31,0x08,0x00
-,0x00,0xAC,0x3C,0x00,0xEB,0x31
-,0x08,0x00,0x00,0xA8,0x76,0xFE
-,0xFE,0x08,0xEB,0x31,0x08,0x20
-,0x00,0x00,0x76,0xFF,0xFF,0x18
-,0xED,0x31,0x08,0x20,0x00,0x00
-,0x26,0x10,0x04,0x10,0xF5,0x3C
-,0x01,0x3C,0x00,0x08,0x01,0x12
-,0x3C,0x11,0x3C,0x00,0x08,0x01
-,0x0B,0x08,0x00,0x6D,0xEC,0x31
-,0xAE,0x20,0x00,0x06,0xED,0x4D
-,0x08,0x00,0x00,0x67,0x80,0x6F
-,0x00,0x01,0x0B,0x6F,0x00,0x02
-,0x2E,0x76,0xEE,0x01,0x48,0x06
-,0x01,0x39,0xED,0x4D,0x18,0x00
-,0x02,0xED,0x4D,0x08,0x00,0x04
-,0x14,0x06,0xA4,0xED,0x31,0x22
-,0x00,0x00,0xAC,0x76,0xEE,0x07
-,0x48,0x6D,0x22,0x01,0x1E,0x08
-,0x01,0x58,0xEB,0x31,0x08,0x00
-,0x00,0xAC,0x06,0xFF,0xBA,0x3C
-,0x00,0xEB,0x31,0x08,0x20,0x00
-,0x04,0x3C,0x30,0xEB,0x31,0x08
-,0x20,0x00,0x02,0x3C,0x10,0xEB
-,0x31,0x08,0x20,0x00,0x00,0xED
-,0x31,0x08,0x20,0x00,0x00,0x04
-,0x10,0xF7,0xED,0x31,0x08,0x00
-,0x00,0xA2,0x91,0x00,0x9C,0x3C
-,0x80,0xEB,0x31,0x08,0x20,0x00
-,0x04,0x3C,0x20,0xEB,0x31,0x08
-,0x20,0x00,0x02,0x3C,0x10,0xEB
-,0x31,0x08,0x20,0x00,0x00,0xED
-,0x31,0x08,0x20,0x00,0x00,0x04
-,0x10,0xF7,0xED,0x31,0x08,0x20
-,0x00,0x04,0x42,0x10,0x90,0x08
-,0xEC,0x31,0xAE,0x20,0x00,0x06
-,0xA4,0x41,0x08,0x00,0xB6,0xED
-,0x41,0x28,0x7D,0xFF,0xFF,0x22
-,0xB3,0x40,0x98,0x2A,0x32,0xEB
-,0x41,0x28,0xB4,0x43,0xFC,0x05
-,0xFF,0xE6,0xA0,0x31,0x20,0x00
-,0x06,0xEB,0x31,0x08,0x20,0x00
-,0x04,0x3C,0x20,0xEB,0x31,0x08
-,0x20,0x00,0x02,0x3C,0x10,0xEB
-,0x31,0x08,0x20,0x00,0x00,0xED
-,0x31,0x08,0x20,0x00,0x00,0x04
-,0x10,0xF7,0xED,0x31,0x08,0x20
-,0x00,0x04,0x42,0x10,0x90,0x08
-,0xEC,0x31,0xAE,0x20,0x00,0x06
-,0xA4,0x41,0x08,0x00,0x68,0xED
-,0x41,0x28,0x7D,0xFF,0xFF,0x22
-,0xB3,0x40,0x98,0x2A,0x32,0xEB
-,0x41,0x28,0xB4,0x43,0xFC,0x05
-,0xFF,0xE6,0x48,0x04,0xEB,0x31
-,0x08,0x20,0x00,0x04,0xEB,0x31
-,0x18,0x20,0x00,0x02,0x3C,0x11
-,0xEB,0x31,0x18,0x20,0x00,0x00
-,0xED,0x31,0x08,0x20,0x00,0x00
-,0x04,0x10,0xF7,0xED,0x31,0x08
-,0x20,0x00,0x02,0x66,0x00,0x6F
-,0x00,0x01,0x16,0x76,0xEE,0x06
-,0x48,0x4A,0x1E,0x48,0x04,0xED
-,0x31,0x08,0x20,0x00,0x04,0xEB
-,0x31,0x08,0x00,0x00,0xA4,0x48
-,0x04,0xED,0x31,0x08,0x20,0x00
-,0x04,0xEB,0x31,0x08,0x00,0x00
-,0xA2,0x48,0x04,0x20,0x20,0x4A
-,0x7C,0x46,0x82,0x50,0x05,0x50
-,0x15,0xB5,0x1E,0x98,0xED,0x31
-,0x08,0x00,0x00,0xA8,0x10,0x47
-,0x3B,0x2C,0x01,0xDB,0x40,0x11
-,0x98,0xC1,0x1E,0x98,0x10,0x07
-,0x30,0xF9,0x40,0x07,0x18,0x98
-,0x2A,0x10,0xEB,0x31,0x08,0x00
-,0x00,0xA8,0xA4,0x1E,0x98,0xBB
-,0x1E,0x98,0x50,0x14,0x50,0x04
-,0x46,0x83,0x48,0x04,0x02,0x01
-,0x00,0x50,0x05,0x50,0x15,0x10
-,0x87,0x3F,0x90,0x2B,0x18,0x01
-,0x00,0xC0,0x31,0x00,0x00,0xAE
-,0xDF,0x41,0x00,0x08,0x00,0x1A
-,0x42,0x11,0x67,0x01,0xDF,0x41
-,0x02,0x08,0x00,0x10,0x42,0x11
-,0x62,0x01,0xB4,0x43,0x4A,0x68
-,0x50,0x14,0x50,0x04,0x24,0x10
-,0x48,0x04,0xF2,0x31,0x00,0x01
-,0x00,0x00,0xAE,0xF6,0x31,0x00
-,0x01,0x00,0x00,0xAE,0x62,0xE4
-,0xE5,0x61,0x04,0x48,0x04,0xE5
-,0x63,0x05,0x48,0x04,0x20,0x20
-,0x00,0x00,0x00,0x00
+static unsigned char bootimage[] = {
+       0x00, 0x00, 0x01, 0x5E, 0x00, 0x00,
+       0x00, 0x00, 0x00, 0x00, 0x02, 0xD7,
+       0x00, 0x00, 0x01, 0x5E, 0x46, 0xB3,
+       0xE6, 0x02, 0x00, 0x98, 0xE6, 0x8C,
+       0x00, 0x98, 0xFB, 0x92, 0xFF, 0xFF,
+       0x98, 0xFB, 0x94, 0xFF, 0xFF, 0x98,
+       0xFB, 0x06, 0x08, 0x00, 0x98, 0xFB,
+       0x96, 0x84, 0x00, 0x98, 0xFB, 0x08,
+       0x1C, 0x00, 0x98, 0xFB, 0x51, 0x25,
+       0x10, 0x1C, 0x00, 0xE6, 0x51, 0x01,
+       0x07, 0xFD, 0x4C, 0xFF, 0x20, 0xF5,
+       0x51, 0x02, 0x20, 0x08, 0x00, 0x4C,
+       0xFF, 0x20, 0x3C, 0x00, 0xC0, 0x64,
+       0x98, 0xC0, 0x66, 0x98, 0xC0, 0x68,
+       0x98, 0xC0, 0x6A, 0x98, 0xC0, 0x6C,
+       0x98, 0x90, 0x08, 0x90, 0x09, 0x90,
+       0x0A, 0x90, 0x0B, 0x90, 0x0C, 0x90,
+       0x0D, 0x90, 0x0E, 0x90, 0x0F, 0x90,
+       0x04, 0x90, 0x06, 0xFB, 0x51, 0x22,
+       0x16, 0x08, 0x03, 0xFB, 0x51, 0x52,
+       0x16, 0x08, 0x04, 0xFB, 0x51, 0x24,
+       0x2B, 0x08, 0x06, 0xFB, 0x51, 0x54,
+       0x2B, 0x08, 0x07, 0xFB, 0x51, 0x24,
+       0x2B, 0x08, 0x09, 0xFB, 0x51, 0x54,
+       0x2B, 0x08, 0x0A, 0xFB, 0x51, 0x12,
+       0x16, 0x08, 0x0C, 0xFB, 0x51, 0x52,
+       0x16, 0x08, 0x0D, 0x78, 0x00, 0x00,
+       0x00, 0x16, 0x00, 0x00, 0xEC, 0x31,
+       0xAE, 0x00, 0x00, 0x81, 0x4C, 0x0F,
+       0xE6, 0x43, 0xFF, 0xEC, 0x31, 0x4E,
+       0x00, 0x00, 0x91, 0xEC, 0x31, 0xAE,
+       0x00, 0x00, 0x91, 0x4C, 0x0F, 0xE6,
+       0x43, 0xFF, 0xEC, 0x31, 0x5E, 0x00,
+       0x00, 0xA1, 0xEB, 0x31, 0x08, 0x00,
+       0x00, 0xA6, 0xEB, 0x31, 0x08, 0x00,
+       0x00, 0xAC, 0x3C, 0x00, 0xEB, 0x31,
+       0x08, 0x00, 0x00, 0xA8, 0x76, 0xFE,
+       0xFE, 0x08, 0xEB, 0x31, 0x08, 0x20,
+       0x00, 0x00, 0x76, 0xFF, 0xFF, 0x18,
+       0xED, 0x31, 0x08, 0x20, 0x00, 0x00,
+       0x26, 0x10, 0x04, 0x10, 0xF5, 0x3C,
+       0x01, 0x3C, 0x00, 0x08, 0x01, 0x12,
+       0x3C, 0x11, 0x3C, 0x00, 0x08, 0x01,
+       0x0B, 0x08, 0x00, 0x6D, 0xEC, 0x31,
+       0xAE, 0x20, 0x00, 0x06, 0xED, 0x4D,
+       0x08, 0x00, 0x00, 0x67, 0x80, 0x6F,
+       0x00, 0x01, 0x0B, 0x6F, 0x00, 0x02,
+       0x2E, 0x76, 0xEE, 0x01, 0x48, 0x06,
+       0x01, 0x39, 0xED, 0x4D, 0x18, 0x00,
+       0x02, 0xED, 0x4D, 0x08, 0x00, 0x04,
+       0x14, 0x06, 0xA4, 0xED, 0x31, 0x22,
+       0x00, 0x00, 0xAC, 0x76, 0xEE, 0x07,
+       0x48, 0x6D, 0x22, 0x01, 0x1E, 0x08,
+       0x01, 0x58, 0xEB, 0x31, 0x08, 0x00,
+       0x00, 0xAC, 0x06, 0xFF, 0xBA, 0x3C,
+       0x00, 0xEB, 0x31, 0x08, 0x20, 0x00,
+       0x04, 0x3C, 0x30, 0xEB, 0x31, 0x08,
+       0x20, 0x00, 0x02, 0x3C, 0x10, 0xEB,
+       0x31, 0x08, 0x20, 0x00, 0x00, 0xED,
+       0x31, 0x08, 0x20, 0x00, 0x00, 0x04,
+       0x10, 0xF7, 0xED, 0x31, 0x08, 0x00,
+       0x00, 0xA2, 0x91, 0x00, 0x9C, 0x3C,
+       0x80, 0xEB, 0x31, 0x08, 0x20, 0x00,
+       0x04, 0x3C, 0x20, 0xEB, 0x31, 0x08,
+       0x20, 0x00, 0x02, 0x3C, 0x10, 0xEB,
+       0x31, 0x08, 0x20, 0x00, 0x00, 0xED,
+       0x31, 0x08, 0x20, 0x00, 0x00, 0x04,
+       0x10, 0xF7, 0xED, 0x31, 0x08, 0x20,
+       0x00, 0x04, 0x42, 0x10, 0x90, 0x08,
+       0xEC, 0x31, 0xAE, 0x20, 0x00, 0x06,
+       0xA4, 0x41, 0x08, 0x00, 0xB6, 0xED,
+       0x41, 0x28, 0x7D, 0xFF, 0xFF, 0x22,
+       0xB3, 0x40, 0x98, 0x2A, 0x32, 0xEB,
+       0x41, 0x28, 0xB4, 0x43, 0xFC, 0x05,
+       0xFF, 0xE6, 0xA0, 0x31, 0x20, 0x00,
+       0x06, 0xEB, 0x31, 0x08, 0x20, 0x00,
+       0x04, 0x3C, 0x20, 0xEB, 0x31, 0x08,
+       0x20, 0x00, 0x02, 0x3C, 0x10, 0xEB,
+       0x31, 0x08, 0x20, 0x00, 0x00, 0xED,
+       0x31, 0x08, 0x20, 0x00, 0x00, 0x04,
+       0x10, 0xF7, 0xED, 0x31, 0x08, 0x20,
+       0x00, 0x04, 0x42, 0x10, 0x90, 0x08,
+       0xEC, 0x31, 0xAE, 0x20, 0x00, 0x06,
+       0xA4, 0x41, 0x08, 0x00, 0x68, 0xED,
+       0x41, 0x28, 0x7D, 0xFF, 0xFF, 0x22,
+       0xB3, 0x40, 0x98, 0x2A, 0x32, 0xEB,
+       0x41, 0x28, 0xB4, 0x43, 0xFC, 0x05,
+       0xFF, 0xE6, 0x48, 0x04, 0xEB, 0x31,
+       0x08, 0x20, 0x00, 0x04, 0xEB, 0x31,
+       0x18, 0x20, 0x00, 0x02, 0x3C, 0x11,
+       0xEB, 0x31, 0x18, 0x20, 0x00, 0x00,
+       0xED, 0x31, 0x08, 0x20, 0x00, 0x00,
+       0x04, 0x10, 0xF7, 0xED, 0x31, 0x08,
+       0x20, 0x00, 0x02, 0x66, 0x00, 0x6F,
+       0x00, 0x01, 0x16, 0x76, 0xEE, 0x06,
+       0x48, 0x4A, 0x1E, 0x48, 0x04, 0xED,
+       0x31, 0x08, 0x20, 0x00, 0x04, 0xEB,
+       0x31, 0x08, 0x00, 0x00, 0xA4, 0x48,
+       0x04, 0xED, 0x31, 0x08, 0x20, 0x00,
+       0x04, 0xEB, 0x31, 0x08, 0x00, 0x00,
+       0xA2, 0x48, 0x04, 0x20, 0x20, 0x4A,
+       0x7C, 0x46, 0x82, 0x50, 0x05, 0x50,
+       0x15, 0xB5, 0x1E, 0x98, 0xED, 0x31,
+       0x08, 0x00, 0x00, 0xA8, 0x10, 0x47,
+       0x3B, 0x2C, 0x01, 0xDB, 0x40, 0x11,
+       0x98, 0xC1, 0x1E, 0x98, 0x10, 0x07,
+       0x30, 0xF9, 0x40, 0x07, 0x18, 0x98,
+       0x2A, 0x10, 0xEB, 0x31, 0x08, 0x00,
+       0x00, 0xA8, 0xA4, 0x1E, 0x98, 0xBB,
+       0x1E, 0x98, 0x50, 0x14, 0x50, 0x04,
+       0x46, 0x83, 0x48, 0x04, 0x02, 0x01,
+       0x00, 0x50, 0x05, 0x50, 0x15, 0x10,
+       0x87, 0x3F, 0x90, 0x2B, 0x18, 0x01,
+       0x00, 0xC0, 0x31, 0x00, 0x00, 0xAE,
+       0xDF, 0x41, 0x00, 0x08, 0x00, 0x1A,
+       0x42, 0x11, 0x67, 0x01, 0xDF, 0x41,
+       0x02, 0x08, 0x00, 0x10, 0x42, 0x11,
+       0x62, 0x01, 0xB4, 0x43, 0x4A, 0x68,
+       0x50, 0x14, 0x50, 0x04, 0x24, 0x10,
+       0x48, 0x04, 0xF2, 0x31, 0x00, 0x01,
+       0x00, 0x00, 0xAE, 0xF6, 0x31, 0x00,
+       0x01, 0x00, 0x00, 0xAE, 0x62, 0xE4,
+       0xE5, 0x61, 0x04, 0x48, 0x04, 0xE5,
+       0x63, 0x05, 0x48, 0x04, 0x20, 0x20,
+       0x00, 0x00, 0x00, 0x00
 };
 
 #endif
index 68ded17c0f5c7f9302613d37ed48238f9f54422b..3c2b085e7990414c2fd143b20e5ddae3d9dcf48d 100644 (file)
 #define  DWNLD_MAG1_PS_HDR_LOC        0x03
 
 struct dsp_file_hdr {
-   long              version_id;          // Version ID of this image format.
-   long              package_id;          // Package ID of code release.
-   long              build_date;          // Date/time stamp when file was built.
-   long              commands_offset;     // Offset to attached commands in Pseudo Hdr format.
-   long              loader_offset;       // Offset to bootloader code.
-   long              loader_code_address; // Start address of bootloader.
-   long              loader_code_end;     // Where bootloader code ends.
-   long              loader_code_size;
-   long              version_data_offset; // Offset were scrambled version data begins.
-   long              version_data_size;   // Size, in words, of scrambled version data.
-   long              nDspImages;          // Number of DSP images in file.
+       long              version_id;          // Version ID of this image format.
+       long              package_id;          // Package ID of code release.
+       long              build_date;          // Date/time stamp when file was built.
+       long              commands_offset;     // Offset to attached commands in Pseudo Hdr format.
+       long              loader_offset;       // Offset to bootloader code.
+       long              loader_code_address; // Start address of bootloader.
+       long              loader_code_end;     // Where bootloader code ends.
+       long              loader_code_size;
+       long              version_data_offset; // Offset were scrambled version data begins.
+       long              version_data_size;   // Size, in words, of scrambled version data.
+       long              nDspImages;          // Number of DSP images in file.
 };
 
 #pragma pack(1)
 struct dsp_image_info {
-   long              coff_date;           // Date/time when DSP Coff image was built.
-   long              begin_offset;        // Offset in file where image begins.
-   long              end_offset;          // Offset in file where image begins.
-   long              run_address;         // On chip Start address of DSP code.
-   long              image_size;          // Size of image.
-   long              version;             // Embedded version # of DSP code.
-   unsigned short    checksum;            // DSP File checksum
-   unsigned short    pad1;
+       long              coff_date;           // Date/time when DSP Coff image was built.
+       long              begin_offset;        // Offset in file where image begins.
+       long              end_offset;          // Offset in file where image begins.
+       long              run_address;         // On chip Start address of DSP code.
+       long              image_size;          // Size of image.
+       long              version;             // Embedded version # of DSP code.
+       unsigned short    checksum;            // DSP File checksum
+       unsigned short    pad1;
 };
 
 
@@ -151,7 +151,7 @@ static int check_usb_db(struct ft1000_usb *ft1000dev)
                }
        }
 
-       return HANDSHAKE_MAG_TIMEOUT_VALUE;
+       return -1;
 }
 
 /* gets the handshake and compares it with the expected value */
@@ -172,9 +172,8 @@ static u16 get_handshake(struct ft1000_usb *ft1000dev, u16 expected_value)
                                ft1000dev->fcodeldr);
                        ft1000dev->fcodeldr = 0;
                        status = check_usb_db(ft1000dev);
-                       if (status != STATUS_SUCCESS) {
+                       if (status != 0) {
                                DEBUG("get_handshake: check_usb_db failed\n");
-                               status = STATUS_FAILURE;
                                break;
                        }
                        status = ft1000_write_register(ft1000dev,
@@ -202,7 +201,7 @@ static u16 get_handshake(struct ft1000_usb *ft1000dev, u16 expected_value)
 }
 
 /* write the handshake value to the handshake location */
-static void put_handshake(struct ft1000_usb *ft1000dev,u16 handshake_value)
+static void put_handshake(struct ft1000_usb *ft1000dev, u16 handshake_value)
 {
        u32 tempx;
        u16 tempword;
@@ -268,11 +267,12 @@ static u16 get_handshake_usb(struct ft1000_usb *ft1000dev, u16 expected_value)
        return HANDSHAKE_TIMEOUT_VALUE;
 }
 
-static void put_handshake_usb(struct ft1000_usb *ft1000dev,u16 handshake_value)
+static void put_handshake_usb(struct ft1000_usb *ft1000dev, u16 handshake_value)
 {
        int i;
 
-        for (i=0; i<1000; i++);
+       for (i = 0; i < 1000; i++)
+               ;
 }
 
 static u16 get_request_type(struct ft1000_usb *ft1000dev)
@@ -450,7 +450,7 @@ static int write_dpram32_and_check(struct ft1000_usb *ft1000dev,
 static int write_blk(struct ft1000_usb *ft1000dev, u16 **pUsFile, u8 **pUcFile,
                long word_length)
 {
-       int status = STATUS_SUCCESS;
+       int status = 0;
        u16 dpram;
        int loopcnt, i;
        u16 tempword;
@@ -499,7 +499,7 @@ static int write_blk(struct ft1000_usb *ft1000dev, u16 **pUsFile, u8 **pUcFile,
                } else {
                        status = write_dpram32_and_check(ft1000dev, tempbuffer,
                                        dpram);
-                       if (status != STATUS_SUCCESS) {
+                       if (status != 0) {
                                DEBUG("FT1000:download:Write failed tempbuffer[31] = 0x%x\n", tempbuffer[31]);
                                break;
                        }
@@ -509,9 +509,9 @@ static int write_blk(struct ft1000_usb *ft1000dev, u16 **pUsFile, u8 **pUcFile,
        return status;
 }
 
-static void usb_dnld_complete (struct urb *urb)
+static void usb_dnld_complete(struct urb *urb)
 {
-    //DEBUG("****** usb_dnld_complete\n");
+       //DEBUG("****** usb_dnld_complete\n");
 }
 
 /* writes a block of DSP image to DPRAM
@@ -523,7 +523,7 @@ static void usb_dnld_complete (struct urb *urb)
 static int write_blk_fifo(struct ft1000_usb *ft1000dev, u16 **pUsFile,
                          u8 **pUcFile, long word_length)
 {
-       int Status = STATUS_SUCCESS;
+       int Status = 0;
        int byte_length;
 
        byte_length = word_length * 4;
@@ -586,12 +586,12 @@ static int request_code_segment(struct ft1000_usb *ft1000dev, u16 **s_file,
        /*NdisMSleep (100); */
        if (word_length > MAX_LENGTH) {
                DEBUG("FT1000:download:Download error: Max length exceeded\n");
-               return STATUS_FAILURE;
+               return -1;
        }
        if ((word_length * 2 + (long)c_file) > (long)endpoint) {
                /* Error, beyond boot code range.*/
                DEBUG("FT1000:download:Download error: Requested len=%d exceeds BOOT code boundary.\n", (int)word_length);
-               return STATUS_FAILURE;
+               return -1;
        }
        if (word_length & 0x1)
                word_length++;
@@ -615,7 +615,7 @@ static int request_code_segment(struct ft1000_usb *ft1000dev, u16 **s_file,
 int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                u32 FileLength)
 {
-       int status = STATUS_SUCCESS;
+       int status = 0;
        u32 state;
        u16 handshake;
        struct pseudo_hdr *pseudo_header;
@@ -670,7 +670,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
        loader_code_size = file_hdr->loader_code_size;
        correct_version = false;
 
-       while ((status == STATUS_SUCCESS) && (state != STATE_DONE_FILE)) {
+       while ((status == 0) && (state != STATE_DONE_FILE)) {
                switch (state) {
                case STATE_START_DWNLD:
                        status = scram_start_dwnld(ft1000dev, &handshake,
@@ -717,7 +717,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                        DEBUG
                                            ("FT1000:download:Download error: Bad request type=%d in BOOT download state.\n",
                                             request);
-                                       status = STATUS_FAILURE;
+                                       status = -1;
                                        break;
                                }
                                if (ft1000dev->usbboot)
@@ -729,7 +729,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                        } else {
                                DEBUG
                                    ("FT1000:download:Download error: Handshake failed\n");
-                               status = STATUS_FAILURE;
+                               status = -1;
                        }
 
                        break;
@@ -773,7 +773,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                        } else {
                                                DEBUG
                                                    ("FT1000:download:Download error: Got Run address request before image offset request.\n");
-                                               status = STATUS_FAILURE;
+                                               status = -1;
                                                break;
                                        }
                                        break;
@@ -789,7 +789,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                        } else {
                                                DEBUG
                                                    ("FT1000:download:Download error: Got Size request before image offset request.\n");
-                                               status = STATUS_FAILURE;
+                                               status = -1;
                                                break;
                                        }
                                        break;
@@ -809,7 +809,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                        if (!correct_version) {
                                                DEBUG
                                                    ("FT1000:download:Download error: Got Code Segment request before image offset request.\n");
-                                               status = STATUS_FAILURE;
+                                               status = -1;
                                                break;
                                        }
 
@@ -836,7 +836,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                         * Position ASIC DPRAM auto-increment pointer.
                                         */
 
-                                       data = (u16 *) & mailbox_data->data[0];
+                                       data = (u16 *) &mailbox_data->data[0];
                                        dpram = (u16) DWNLD_MAG1_PS_HDR_LOC;
                                        if (word_length & 0x1)
                                                word_length++;
@@ -850,7 +850,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                                status =
                                                    fix_ft1000_write_dpram32
                                                    (ft1000dev, dpram++,
-                                                    (u8 *) & templong);
+                                                    (u8 *) &templong);
 
                                        }
                                        break;
@@ -948,7 +948,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                                DEBUG
                                                    ("FT1000:download:Download error: Bad Version Request = 0x%x.\n",
                                                     (int)requested_version);
-                                               status = STATUS_FAILURE;
+                                               status = -1;
                                                break;
                                        }
                                        break;
@@ -957,7 +957,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                        DEBUG
                                            ("FT1000:download:Download error: Bad request type=%d in CODE download state.\n",
                                             request);
-                                       status = STATUS_FAILURE;
+                                       status = -1;
                                        break;
                                }
                                if (ft1000dev->usbboot)
@@ -969,7 +969,7 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                        } else {
                                DEBUG
                                    ("FT1000:download:Download error: Handshake failed\n");
-                               status = STATUS_FAILURE;
+                               status = -1;
                        }
 
                        break;
@@ -1026,14 +1026,14 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                                                }
                                        } else {
                                                kfree(pbuffer);
-                                               status = STATUS_FAILURE;
+                                               status = -1;
                                        }
                                } else {
-                                       status = STATUS_FAILURE;
+                                       status = -1;
                                }
                        } else {
                                /* Checksum did not compute */
-                               status = STATUS_FAILURE;
+                               status = -1;
                        }
                        DEBUG
                            ("ft1000:download: after STATE_SECTION_PROV, state = %d, status= %d\n",
@@ -1046,23 +1046,23 @@ int scram_dnldr(struct ft1000_usb *ft1000dev, void *pFileStart,
                        break;
 
                default:
-                       status = STATUS_FAILURE;
+                       status = -1;
                        break;
                }               /* End Switch */
 
-               if (status != STATUS_SUCCESS)
+               if (status != 0)
                        break;
 
 /****
       // Check if Card is present
       status = Harley_Read_Register(&temp, FT1000_REG_SUP_IMASK);
       if ( (status != NDIS_STATUS_SUCCESS) || (temp == 0x0000) ) {
-          break;
+       break;
       }
 
       status = Harley_Read_Register(&temp, FT1000_REG_ASIC_ID);
       if ( (status != NDIS_STATUS_SUCCESS) || (temp == 0xffff) ) {
-          break;
+       break;
       }
 ****/
 
index 0d4931b2c2e26f766f161d4b9c97b473e78952be..0d6c1d12170d24b391785ef244b43fa754aa5a4b 100644 (file)
@@ -1,11 +1,9 @@
-//=====================================================
-// CopyRight (C) 2007 Qualcomm Inc. All Rights Reserved.
-//
-//
-// This file is part of Express Card USB Driver
-//
-// $Id:
-//====================================================
+/* CopyRight (C) 2007 Qualcomm Inc. All Rights Reserved.
+*
+*
+* This file is part of Express Card USB Driver
+*/
+
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
@@ -27,7 +25,9 @@
 #define HARLEY_READ_OPERATION    0xc1
 #define HARLEY_WRITE_OPERATION   0x41
 
-//#define JDEBUG
+#if 0
+#define JDEBUG
+#endif
 
 static int ft1000_submit_rx_urb(struct ft1000_info *info);
 
@@ -35,32 +35,22 @@ static u8 tempbuffer[1600];
 
 #define MAX_RCV_LOOP   100
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_control
-//
-// Parameters:  ft1000_usb  - device structure
-//              pipe - usb control message pipe
-//              request - control request
-//              requesttype - control message request type
-//              value - value to be written or 0
-//              index - register index
-//              data - data buffer to hold the read/write values
-//              size - data size
-//              timeout - control message time out value
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function sends a control message via USB interface synchronously
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* send a control message via USB interface synchronously
+*  Parameters:  ft1000_usb  - device structure
+*               pipe - usb control message pipe
+*               request - control request
+*               requesttype - control message request type
+*               value - value to be written or 0
+*               index - register index
+*               data - data buffer to hold the read/write values
+*               size - data size
+*               timeout - control message time out value
+*/
 static int ft1000_control(struct ft1000_usb *ft1000dev, unsigned int pipe,
                          u8 request, u8 requesttype, u16 value, u16 index,
                          void *data, u16 size, int timeout)
 {
-       u16 ret;
+       int ret;
 
        if ((ft1000dev == NULL) || (ft1000dev->dev == NULL)) {
                DEBUG("ft1000dev or ft1000dev->dev == NULL, failure\n");
@@ -76,26 +66,11 @@ static int ft1000_control(struct ft1000_usb *ft1000dev, unsigned int pipe,
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_read_register
-//
-// Parameters:  ft1000_usb  - device structure
-//              Data - data buffer to hold the value read
-//              nRegIndex - register index
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function returns the value in a register
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-
-int ft1000_read_register(struct ft1000_usb *ft1000dev, u16* Data,
+/* returns the value in a register */
+int ft1000_read_register(struct ft1000_usb *ft1000dev, u16 *Data,
                         u16 nRegIndx)
 {
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
 
        ret = ft1000_control(ft1000dev,
                             usb_rcvctrlpipe(ft1000dev->dev, 0),
@@ -110,25 +85,11 @@ int ft1000_read_register(struct ft1000_usb *ft1000dev, u16* Data,
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_write_register
-//
-// Parameters:  ft1000_usb  - device structure
-//              value - value to write into a register
-//              nRegIndex - register index
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function writes the value in a register
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* writes the value in a register */
 int ft1000_write_register(struct ft1000_usb *ft1000dev, u16 value,
                          u16 nRegIndx)
 {
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
 
        ret = ft1000_control(ft1000dev,
                             usb_sndctrlpipe(ft1000dev->dev, 0),
@@ -143,27 +104,11 @@ int ft1000_write_register(struct ft1000_usb *ft1000dev, u16 value,
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_read_dpram32
-//
-// Parameters:  ft1000_usb  - device structure
-//              indx - starting address to read
-//              buffer - data buffer to hold the data read
-//              cnt - number of byte read from DPRAM
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function read a number of bytes from DPRAM
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-
+/* read a number of bytes from DPRAM */
 int ft1000_read_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer,
                        u16 cnt)
 {
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
 
        ret = ft1000_control(ft1000dev,
                             usb_rcvctrlpipe(ft1000dev->dev, 0),
@@ -178,26 +123,11 @@ int ft1000_read_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer,
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_write_dpram32
-//
-// Parameters:  ft1000_usb  - device structure
-//              indx - starting address to write the data
-//              buffer - data buffer to write into DPRAM
-//              cnt - number of bytes to write
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function writes into DPRAM a number of bytes
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* writes into DPRAM a number of bytes */
 int ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer,
                         u16 cnt)
 {
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
 
        if (cnt % 4)
                cnt += cnt - (cnt % 4);
@@ -215,26 +145,11 @@ int ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer,
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_read_dpram16
-//
-// Parameters:  ft1000_usb  - device structure
-//              indx - starting address to read
-//              buffer - data buffer to hold the data read
-//              hightlow - high or low 16 bit word
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function read 16 bits from DPRAM
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* read 16 bits from DPRAM */
 int ft1000_read_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer,
                        u8 highlow)
 {
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
        u8 request;
 
        if (highlow == 0)
@@ -255,25 +170,11 @@ int ft1000_read_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer,
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_write_dpram16
-//
-// Parameters:  ft1000_usb  - device structure
-//              indx - starting address to write the data
-//              value - 16bits value to write
-//              hightlow - high or low 16 bit word
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function writes into DPRAM a number of bytes
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-int ft1000_write_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u16 value, u8 highlow)
+/* write into DPRAM a number of bytes */
+int ft1000_write_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u16 value,
+               u8 highlow)
 {
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
        u8 request;
 
        if (highlow == 0)
@@ -294,33 +195,18 @@ int ft1000_write_dpram16(struct ft1000_usb *ft1000dev, u16 indx, u16 value, u8 h
        return ret;
 }
 
-//---------------------------------------------------------------------------
-// Function:    fix_ft1000_read_dpram32
-//
-// Parameters:  ft1000_usb  - device structure
-//              indx - starting address to read
-//              buffer - data buffer to hold the data read
-//
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function read DPRAM 4 words at a time
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* read DPRAM 4 words at a time */
 int fix_ft1000_read_dpram32(struct ft1000_usb *ft1000dev, u16 indx,
                            u8 *buffer)
 {
        u8 buf[16];
        u16 pos;
-       int ret = STATUS_SUCCESS;
+       int ret = 0;
 
        pos = (indx / 4) * 4;
        ret = ft1000_read_dpram32(ft1000dev, pos, buf, 16);
 
-       if (ret == STATUS_SUCCESS) {
+       if (ret == 0) {
                pos = (indx % 4) * 4;
                *buffer++ = buf[pos++];
                *buffer++ = buf[pos++];
@@ -338,22 +224,7 @@ int fix_ft1000_read_dpram32(struct ft1000_usb *ft1000dev, u16 indx,
 }
 
 
-//---------------------------------------------------------------------------
-// Function:    fix_ft1000_write_dpram32
-//
-// Parameters:  ft1000_usb  - device structure
-//              indx - starting address to write
-//              buffer - data buffer to write
-//
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function write to DPRAM 4 words at a time
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* Description: This function write to DPRAM 4 words at a time */
 int fix_ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer)
 {
        u16 pos1;
@@ -362,13 +233,13 @@ int fix_ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer)
        u8 buf[32];
        u8 resultbuffer[32];
        u8 *pdata;
-       int ret  = STATUS_SUCCESS;
+       int ret  = 0;
 
        pos1 = (indx / 4) * 4;
        pdata = buffer;
        ret = ft1000_read_dpram32(ft1000dev, pos1, buf, 16);
 
-       if (ret == STATUS_SUCCESS) {
+       if (ret == 0) {
                pos2 = (indx % 4)*4;
                buf[pos2++] = *buffer++;
                buf[pos2++] = *buffer++;
@@ -382,24 +253,24 @@ int fix_ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer)
 
        ret = ft1000_read_dpram32(ft1000dev, pos1, (u8 *)&resultbuffer[0], 16);
 
-       if (ret == STATUS_SUCCESS) {
+       if (ret == 0) {
                buffer = pdata;
                for (i = 0; i < 16; i++) {
                        if (buf[i] != resultbuffer[i])
-                               ret = STATUS_FAILURE;
+                               ret = -1;
                }
        }
 
-       if (ret == STATUS_FAILURE) {
+       if (ret == -1) {
                ret = ft1000_write_dpram32(ft1000dev, pos1,
                                           (u8 *)&tempbuffer[0], 16);
                ret = ft1000_read_dpram32(ft1000dev, pos1,
                                          (u8 *)&resultbuffer[0], 16);
-               if (ret == STATUS_SUCCESS) {
+               if (ret == 0) {
                        buffer = pdata;
                        for (i = 0; i < 16; i++) {
                                if (tempbuffer[i] != resultbuffer[i]) {
-                                       ret = STATUS_FAILURE;
+                                       ret = -1;
                                        DEBUG("%s Failed to write\n",
                                              __func__);
                                }
@@ -410,20 +281,10 @@ int fix_ft1000_write_dpram32(struct ft1000_usb *ft1000dev, u16 indx, u8 *buffer)
        return ret;
 }
 
-
-//------------------------------------------------------------------------
-//
-//  Function:   card_reset_dsp
-//
-//  Synopsis:   This function is called to reset or activate the DSP
-//
-//  Arguments:  value                  - reset or activate
-//
-//  Returns:    None
-//-----------------------------------------------------------------------
+/* reset or activate the DSP */
 static void card_reset_dsp(struct ft1000_usb *ft1000dev, bool value)
 {
-       u16 status = STATUS_SUCCESS;
+       int status = 0;
        u16 tempword;
 
        status = ft1000_write_register(ft1000dev, HOST_INTF_BE,
@@ -457,21 +318,11 @@ static void card_reset_dsp(struct ft1000_usb *ft1000dev, bool value)
        }
 }
 
-//---------------------------------------------------------------------------
-// Function:    card_send_command
-//
-// Parameters:  ft1000_usb  - device structure
-//              ptempbuffer - command buffer
-//              size - command buffer size
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function sends a command to ASIC
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* send a command to ASIC
+*  Parameters:  ft1000_usb  - device structure
+*               ptempbuffer - command buffer
+*               size - command buffer size
+*/
 void card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer,
                       int size)
 {
@@ -486,7 +337,7 @@ void card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer,
        ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL);
 
        if (temp & 0x0100)
-               msleep(10);
+               usleep_range(900, 1100);
 
        /* check for odd word */
        size = size + 2;
@@ -496,29 +347,21 @@ void card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer,
                size += 4 - (size % 4);
 
        ft1000_write_dpram32(ft1000dev, 0, commandbuf, size);
-       msleep(1);
+       usleep_range(900, 1100);
        ft1000_write_register(ft1000dev, FT1000_DB_DPRAM_TX,
                              FT1000_REG_DOORBELL);
-       msleep(1);
+       usleep_range(900, 1100);
 
        ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL);
 
-       if ((temp & 0x0100) == 0) {
-               //DEBUG("card_send_command: Message sent\n");
-       }
+#if 0
+       if ((temp & 0x0100) == 0)
+               DEBUG("card_send_command: Message sent\n");
+#endif
 
 }
 
-//--------------------------------------------------------------------------
-//
-//  Function:   dsp_reload
-//
-//  Synopsis:   This function is called to load or reload the DSP
-//
-//  Arguments:  ft1000dev - device structure
-//
-//  Returns:    None
-//-----------------------------------------------------------------------
+/* load or reload the DSP */
 int dsp_reload(struct ft1000_usb *ft1000dev)
 {
        int status;
@@ -559,7 +402,7 @@ int dsp_reload(struct ft1000_usb *ft1000dev)
        /* call codeloader */
        status = scram_dnldr(ft1000dev, pFileStart, FileLength);
 
-       if (status != STATUS_SUCCESS)
+       if (status != 0)
                return -EIO;
 
        msleep(1000);
@@ -569,17 +412,7 @@ int dsp_reload(struct ft1000_usb *ft1000dev)
        return 0;
 }
 
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_reset_asic
-// Description: This function will call the Card Service function to reset the
-//             ASIC.
-// Input:
-//     dev    - device structure
-// Output:
-//     none
-//
-//---------------------------------------------------------------------------
+/* call the Card Service function to reset the ASIC. */
 static void ft1000_reset_asic(struct net_device *dev)
 {
        struct ft1000_info *info = netdev_priv(dev);
@@ -607,18 +440,6 @@ static void ft1000_reset_asic(struct net_device *dev)
        DEBUG("ft1000_hw: interrupt status register = 0x%x\n", tempword);
 }
 
-
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_reset_card
-// Description: This function will reset the card
-// Input:
-//     dev    - device structure
-// Output:
-//     status - FALSE (card reset fail)
-//              TRUE  (card reset successful)
-//
-//---------------------------------------------------------------------------
 static int ft1000_reset_card(struct net_device *dev)
 {
        struct ft1000_info *info = netdev_priv(dev);
@@ -666,19 +487,7 @@ static int ft1000_reset_card(struct net_device *dev)
        return TRUE;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_usb_transmit_complete
-//
-// Parameters:  urb  - transmitted usb urb
-//
-//
-// Returns:     none
-//
-// Description: This is the callback function when a urb is transmitted
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* callback function when a urb is transmitted */
 static void ft1000_usb_transmit_complete(struct urb *urb)
 {
 
@@ -690,22 +499,10 @@ static void ft1000_usb_transmit_complete(struct urb *urb)
        netif_wake_queue(ft1000dev->net);
 }
 
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_copy_down_pkt
-// Description: This function will take an ethernet packet and convert it to
-//             a Flarion packet prior to sending it to the ASIC Downlink
-//             FIFO.
-// Input:
-//     dev    - device structure
-//     packet - address of ethernet packet
-//     len    - length of IP packet
-// Output:
-//     status - FAILURE
-//              SUCCESS
-//
-//---------------------------------------------------------------------------
-static int ft1000_copy_down_pkt(struct net_device *netdev, u8 * packet, u16 len)
+/* take an ethernet packet and convert it to a Flarion
+*  packet prior to sending it to the ASIC Downlink FIFO.
+*/
+static int ft1000_copy_down_pkt(struct net_device *netdev, u8 *packet, u16 len)
 {
        struct ft1000_info *pInfo = netdev_priv(netdev);
        struct ft1000_usb *pFt1000Dev = pInfo->priv;
@@ -769,20 +566,10 @@ static int ft1000_copy_down_pkt(struct net_device *netdev, u8 * packet, u16 len)
        return 0;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_start_xmit
-//
-// Parameters:  skb - socket buffer to be sent
-//              dev - network device
-//
-//
-// Returns:     none
-//
-// Description: transmit a ethernet packet
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* transmit an ethernet packet
+*  Parameters:  skb - socket buffer to be sent
+*               dev - network device
+*/
 static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct ft1000_info *pInfo = netdev_priv(dev);
@@ -827,20 +614,7 @@ err:
        return NETDEV_TX_OK;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_open
-//
-// Parameters:
-//              dev - network device
-//
-//
-// Returns:     none
-//
-// Description: open the network driver
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* open the network driver */
 static int ft1000_open(struct net_device *dev)
 {
        struct ft1000_info *pInfo = netdev_priv(dev);
@@ -871,29 +645,14 @@ static struct net_device_stats *ft1000_netdev_stats(struct net_device *dev)
        return &(info->stats);
 }
 
-static const struct net_device_ops ftnet_ops =
-{
+static const struct net_device_ops ftnet_ops = {
        .ndo_open = &ft1000_open,
        .ndo_stop = &ft1000_close,
        .ndo_start_xmit = &ft1000_start_xmit,
        .ndo_get_stats = &ft1000_netdev_stats,
 };
 
-//---------------------------------------------------------------------------
-// Function:    init_ft1000_netdev
-//
-// Parameters:  ft1000dev  - device structure
-//
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function initialize the network device
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
-
+/* initialize the network device */
 static int ft1000_reset(void *dev)
 {
        ft1000_reset_card(dev);
@@ -931,14 +690,14 @@ int init_ft1000_netdev(struct ft1000_usb *ft1000dev)
                card_nr[1] = '\0';
                ret_val = kstrtou8(card_nr, 10, &gCardIndex);
                if (ret_val) {
-                       printk(KERN_ERR "Can't parse netdev\n");
+                       netdev_err(ft1000dev->net, "Can't parse netdev\n");
                        goto err_net;
                }
 
                ft1000dev->CardNumber = gCardIndex;
                DEBUG("card number = %d\n", ft1000dev->CardNumber);
        } else {
-               printk(KERN_ERR "ft1000: Invalid device name\n");
+               netdev_err(ft1000dev->net, "ft1000: Invalid device name\n");
                ret_val = -ENXIO;
                goto err_net;
        }
@@ -1014,20 +773,7 @@ err_net:
        return ret_val;
 }
 
-//---------------------------------------------------------------------------
-// Function:    reg_ft1000_netdev
-//
-// Parameters:  ft1000dev  - device structure
-//
-//
-// Returns:     STATUS_SUCCESS - success
-//              STATUS_FAILURE - failure
-//
-// Description: This function register the network driver
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* register the network driver */
 int reg_ft1000_netdev(struct ft1000_usb *ft1000dev,
                      struct usb_interface *intf)
 {
@@ -1060,19 +806,9 @@ int reg_ft1000_netdev(struct ft1000_usb *ft1000dev,
        return 0;
 }
 
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_copy_up_pkt
-// Description: This function will take a packet from the FIFO up link and
-//             convert it into an ethernet packet and deliver it to the IP stack
-// Input:
-//     urb - the receiving usb urb
-//
-// Output:
-//     status - FAILURE
-//              SUCCESS
-//
-//---------------------------------------------------------------------------
+/* take a packet from the FIFO up link and
+*  convert it into an ethernet packet and deliver it to the IP stack
+*/
 static int ft1000_copy_up_pkt(struct urb *urb)
 {
        struct ft1000_info *info = urb->context;
@@ -1090,9 +826,9 @@ static int ft1000_copy_up_pkt(struct urb *urb)
 
        if (ft1000dev->status & FT1000_STATUS_CLOSING) {
                DEBUG("network driver is closed, return\n");
-               return STATUS_SUCCESS;
+               return 0;
        }
-       // Read length
+       /* Read length */
        len = urb->transfer_buffer_length;
        lena = urb->actual_length;
 
@@ -1105,7 +841,7 @@ static int ft1000_copy_up_pkt(struct urb *urb)
        if (tempword != *chksum) {
                info->stats.rx_errors++;
                ft1000_submit_rx_urb(info);
-               return STATUS_FAILURE;
+               return -1;
        }
 
        skb = dev_alloc_skb(len + 12 + 2);
@@ -1114,7 +850,7 @@ static int ft1000_copy_up_pkt(struct urb *urb)
                DEBUG("ft1000_copy_up_pkt: No Network buffers available\n");
                info->stats.rx_errors++;
                ft1000_submit_rx_urb(info);
-               return STATUS_FAILURE;
+               return -1;
        }
 
        pbuffer = (u8 *) skb_put(skb, len + 12);
@@ -1151,23 +887,11 @@ static int ft1000_copy_up_pkt(struct urb *urb)
 
        ft1000_submit_rx_urb(info);
 
-       return SUCCESS;
+       return 0;
 }
 
 
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_submit_rx_urb
-// Description: the receiving function of the network driver
-//
-// Input:
-//     info - a private structure contains the device information
-//
-// Output:
-//     status - FAILURE
-//              SUCCESS
-//
-//---------------------------------------------------------------------------
+/* the receiving function of the network driver */
 static int ft1000_submit_rx_urb(struct ft1000_info *info)
 {
        int result;
@@ -1196,20 +920,7 @@ static int ft1000_submit_rx_urb(struct ft1000_info *info)
        return 0;
 }
 
-//---------------------------------------------------------------------------
-// Function:    ft1000_close
-//
-// Parameters:
-//              net - network device
-//
-//
-// Returns:     none
-//
-// Description: close the network driver
-//
-// Notes:
-//
-//---------------------------------------------------------------------------
+/* close the network driver */
 int ft1000_close(struct net_device *net)
 {
        struct ft1000_info *pInfo = netdev_priv(net);
@@ -1227,26 +938,14 @@ int ft1000_close(struct net_device *net)
        return 0;
 }
 
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_chkcard
-// Description: This function will check if the device is presently available on
-//             the system.
-// Input:
-//     dev    - device structure
-// Output:
-//     status - FALSE (device is not present)
-//              TRUE  (device is present)
-//
-//---------------------------------------------------------------------------
+/* check if the device is presently available on the system. */
 static int ft1000_chkcard(struct ft1000_usb *dev)
 {
        u16 tempword;
-       u16 status;
+       int status;
 
        if (dev->fCondResetPend) {
-               DEBUG
-                   ("ft1000_hw:ft1000_chkcard:Card is being reset, return FALSE\n");
+               DEBUG("ft1000_hw:ft1000_chkcard:Card is being reset, return FALSE\n");
                return TRUE;
        }
        /* Mask register is used to check for device presence since it is never
@@ -1254,8 +953,7 @@ static int ft1000_chkcard(struct ft1000_usb *dev)
         */
        status = ft1000_read_register(dev, &tempword, FT1000_REG_SUP_IMASK);
        if (tempword == 0) {
-               DEBUG
-                   ("ft1000_hw:ft1000_chkcard: IMASK = 0 Card not detected\n");
+               DEBUG("ft1000_hw:ft1000_chkcard: IMASK = 0 Card not detected\n");
                return FALSE;
        }
        /* The system will return the value of 0xffff for the version register
@@ -1264,30 +962,22 @@ static int ft1000_chkcard(struct ft1000_usb *dev)
        status = ft1000_read_register(dev, &tempword, FT1000_REG_ASIC_ID);
        if (tempword != 0x1b01) {
                dev->status |= FT1000_STATUS_CLOSING;
-               DEBUG
-                   ("ft1000_hw:ft1000_chkcard: Version = 0xffff Card not detected\n");
+               DEBUG("ft1000_hw:ft1000_chkcard: Version = 0xffff Card not detected\n");
                return FALSE;
        }
        return TRUE;
 }
 
-//---------------------------------------------------------------------------
-//
-// Function:   ft1000_receive_cmd
-// Description: This function will read a message from the dpram area.
-// Input:
-//    dev - network device structure
-//    pbuffer - caller supply address to buffer
-//    pnxtph - pointer to next pseudo header
-// Output:
-//   Status = 0 (unsuccessful)
-//          = 1 (successful)
-//
-//---------------------------------------------------------------------------
+/* read a message from the dpram area.
+*  Input:
+*    dev - network device structure
+*    pbuffer - caller supply address to buffer
+*/
 static bool ft1000_receive_cmd(struct ft1000_usb *dev, u16 *pbuffer,
-                              int maxsz, u16 *pnxtph)
+                              int maxsz)
 {
-       u16 size, ret;
+       u16 size;
+       int ret;
        u16 *ppseudohdr;
        int i;
        u16 tempword;
@@ -1359,7 +1049,7 @@ static int ft1000_dsp_prov(void *arg)
        struct prov_record *ptr;
        struct pseudo_hdr *ppseudo_hdr;
        u16 *pmsg;
-       u16 status;
+       int status;
        u16 TempShortBuf[256];
 
        DEBUG("*** DspProv Entered\n");
@@ -1381,7 +1071,7 @@ static int ft1000_dsp_prov(void *arg)
                        i++;
                        if (i == 10) {
                                DEBUG("FT1000:ft1000_dsp_prov:message drop\n");
-                               return STATUS_FAILURE;
+                               return -1;
                        }
                        ft1000_read_register(dev, &tempword,
                                             FT1000_REG_DOORBELL);
@@ -1405,9 +1095,8 @@ static int ft1000_dsp_prov(void *arg)
                        ppseudo_hdr->portsrc = 0;
                        /* Calculate new checksum */
                        ppseudo_hdr->checksum = *pmsg++;
-                       for (i = 1; i < 7; i++) {
+                       for (i = 1; i < 7; i++)
                                ppseudo_hdr->checksum ^= *pmsg++;
-                       }
 
                        TempShortBuf[0] = 0;
                        TempShortBuf[1] = htons(len);
@@ -1425,7 +1114,7 @@ static int ft1000_dsp_prov(void *arg)
                        kfree(ptr->pprov_data);
                        kfree(ptr);
                }
-               msleep(10);
+               usleep_range(9000, 11000);
        }
 
        DEBUG("DSP Provisioning List Entry finished\n");
@@ -1435,7 +1124,7 @@ static int ft1000_dsp_prov(void *arg)
        dev->fProvComplete = true;
        info->CardReady = 1;
 
-       return STATUS_SUCCESS;
+       return 0;
 }
 
 static int ft1000_proc_drvmsg(struct ft1000_usb *dev, u16 size)
@@ -1449,7 +1138,7 @@ static int ft1000_proc_drvmsg(struct ft1000_usb *dev, u16 size)
        u16 i;
        struct pseudo_hdr *ppseudo_hdr;
        u16 *pmsg;
-       u16 status;
+       int status;
        union {
                u8 byte[2];
                u16 wrd;
@@ -1457,7 +1146,7 @@ static int ft1000_proc_drvmsg(struct ft1000_usb *dev, u16 size)
 
        char *cmdbuffer = kmalloc(1600, GFP_KERNEL);
        if (!cmdbuffer)
-               return STATUS_FAILURE;
+               return -1;
 
        status = ft1000_read_dpram32(dev, 0x200, cmdbuffer, size);
 
@@ -1481,154 +1170,179 @@ static int ft1000_proc_drvmsg(struct ft1000_usb *dev, u16 size)
        DEBUG("ft1000_proc_drvmsg:Command message type = 0x%x\n", msgtype);
        switch (msgtype) {
        case MEDIA_STATE:{
-                       DEBUG
-                           ("ft1000_proc_drvmsg:Command message type = MEDIA_STATE");
-
-                       pmediamsg = (struct media_msg *)&cmdbuffer[0];
-                       if (info->ProgConStat != 0xFF) {
-                               if (pmediamsg->state) {
-                                       DEBUG("Media is up\n");
-                                       if (info->mediastate == 0) {
-                                               if (dev->NetDevRegDone) {
-                                                       netif_wake_queue(dev->
-                                                                        net);
-                                               }
-                                               info->mediastate = 1;
-                                       }
-                               } else {
-                                       DEBUG("Media is down\n");
-                                       if (info->mediastate == 1) {
-                                               info->mediastate = 0;
-                                               if (dev->NetDevRegDone) {
-                                               }
-                                               info->ConTm = 0;
-                                       }
+               DEBUG("ft1000_proc_drvmsg:Command message type = MEDIA_STATE");
+               pmediamsg = (struct media_msg *)&cmdbuffer[0];
+               if (info->ProgConStat != 0xFF) {
+                       if (pmediamsg->state) {
+                               DEBUG("Media is up\n");
+                               if (info->mediastate == 0) {
+                                       if (dev->NetDevRegDone)
+                                               netif_wake_queue(dev->net);
+                                       info->mediastate = 1;
                                }
                        } else {
                                DEBUG("Media is down\n");
                                if (info->mediastate == 1) {
                                        info->mediastate = 0;
-                                       info->ConTm = 0;
+                                       if (dev->NetDevRegDone)
+                                               info->ConTm = 0;
                                }
                        }
-                       break;
+               } else {
+                       DEBUG("Media is down\n");
+                       if (info->mediastate == 1) {
+                               info->mediastate = 0;
+                               info->ConTm = 0;
+                       }
                }
+               break;
+       }
        case DSP_INIT_MSG:{
-                       DEBUG
-                           ("ft1000_proc_drvmsg:Command message type = DSP_INIT_MSG");
-
-                       pdspinitmsg = (struct dsp_init_msg *)&cmdbuffer[2];
-                       memcpy(info->DspVer, pdspinitmsg->DspVer, DSPVERSZ);
-                       DEBUG("DSPVER = 0x%2x 0x%2x 0x%2x 0x%2x\n",
-                             info->DspVer[0], info->DspVer[1], info->DspVer[2],
-                             info->DspVer[3]);
-                       memcpy(info->HwSerNum, pdspinitmsg->HwSerNum,
-                              HWSERNUMSZ);
-                       memcpy(info->Sku, pdspinitmsg->Sku, SKUSZ);
-                       memcpy(info->eui64, pdspinitmsg->eui64, EUISZ);
-                       DEBUG("EUI64=%2x.%2x.%2x.%2x.%2x.%2x.%2x.%2x\n",
-                             info->eui64[0], info->eui64[1], info->eui64[2],
-                             info->eui64[3], info->eui64[4], info->eui64[5],
-                             info->eui64[6], info->eui64[7]);
-                       dev->net->dev_addr[0] = info->eui64[0];
-                       dev->net->dev_addr[1] = info->eui64[1];
-                       dev->net->dev_addr[2] = info->eui64[2];
-                       dev->net->dev_addr[3] = info->eui64[5];
-                       dev->net->dev_addr[4] = info->eui64[6];
-                       dev->net->dev_addr[5] = info->eui64[7];
-
-                       if (ntohs(pdspinitmsg->length) ==
-                           (sizeof(struct dsp_init_msg) - 20)) {
-                               memcpy(info->ProductMode,
-                                      pdspinitmsg->ProductMode, MODESZ);
-                               memcpy(info->RfCalVer, pdspinitmsg->RfCalVer,
-                                      CALVERSZ);
-                               memcpy(info->RfCalDate, pdspinitmsg->RfCalDate,
-                                      CALDATESZ);
-                               DEBUG("RFCalVer = 0x%2x 0x%2x\n",
-                                     info->RfCalVer[0], info->RfCalVer[1]);
-                       }
-                       break;
+               DEBUG("ft1000_proc_drvmsg:Command message type = DSP_INIT_MSG");
+               pdspinitmsg = (struct dsp_init_msg *)&cmdbuffer[2];
+               memcpy(info->DspVer, pdspinitmsg->DspVer, DSPVERSZ);
+               DEBUG("DSPVER = 0x%2x 0x%2x 0x%2x 0x%2x\n",
+                     info->DspVer[0], info->DspVer[1], info->DspVer[2],
+                     info->DspVer[3]);
+               memcpy(info->HwSerNum, pdspinitmsg->HwSerNum,
+                      HWSERNUMSZ);
+               memcpy(info->Sku, pdspinitmsg->Sku, SKUSZ);
+               memcpy(info->eui64, pdspinitmsg->eui64, EUISZ);
+               DEBUG("EUI64=%2x.%2x.%2x.%2x.%2x.%2x.%2x.%2x\n",
+                     info->eui64[0], info->eui64[1], info->eui64[2],
+                     info->eui64[3], info->eui64[4], info->eui64[5],
+                     info->eui64[6], info->eui64[7]);
+               dev->net->dev_addr[0] = info->eui64[0];
+               dev->net->dev_addr[1] = info->eui64[1];
+               dev->net->dev_addr[2] = info->eui64[2];
+               dev->net->dev_addr[3] = info->eui64[5];
+               dev->net->dev_addr[4] = info->eui64[6];
+               dev->net->dev_addr[5] = info->eui64[7];
+
+               if (ntohs(pdspinitmsg->length) ==
+                   (sizeof(struct dsp_init_msg) - 20)) {
+                       memcpy(info->ProductMode, pdspinitmsg->ProductMode,
+                                       MODESZ);
+                       memcpy(info->RfCalVer, pdspinitmsg->RfCalVer, CALVERSZ);
+                       memcpy(info->RfCalDate, pdspinitmsg->RfCalDate,
+                              CALDATESZ);
+                       DEBUG("RFCalVer = 0x%2x 0x%2x\n", info->RfCalVer[0],
+                                       info->RfCalVer[1]);
                }
+               break;
+       }
        case DSP_PROVISION:{
-                       DEBUG
-                           ("ft1000_proc_drvmsg:Command message type = DSP_PROVISION\n");
+               DEBUG("ft1000_proc_drvmsg:Command message type = DSP_PROVISION\n");
 
-                       /* kick off dspprov routine to start provisioning
-                        * Send provisioning data to DSP
-                        */
-                       if (list_empty(&info->prov_list) == 0) {
-                               dev->fProvComplete = false;
-                               status = ft1000_dsp_prov(dev);
-                               if (status != STATUS_SUCCESS)
-                                       goto out;
-                       } else {
-                               dev->fProvComplete = true;
-                               status =
-                                   ft1000_write_register(dev, FT1000_DB_HB,
-                                                         FT1000_REG_DOORBELL);
-                               DEBUG
-                                   ("FT1000:drivermsg:No more DSP provisioning data in dsp image\n");
-                       }
-                       DEBUG("ft1000_proc_drvmsg:DSP PROVISION is done\n");
-                       break;
+               /* kick off dspprov routine to start provisioning
+                * Send provisioning data to DSP
+                */
+               if (list_empty(&info->prov_list) == 0) {
+                       dev->fProvComplete = false;
+                       status = ft1000_dsp_prov(dev);
+                       if (status != 0)
+                               goto out;
+               } else {
+                       dev->fProvComplete = true;
+                       status = ft1000_write_register(dev, FT1000_DB_HB,
+                                       FT1000_REG_DOORBELL);
+                       DEBUG("FT1000:drivermsg:No more DSP provisioning data in dsp image\n");
                }
+               DEBUG("ft1000_proc_drvmsg:DSP PROVISION is done\n");
+               break;
+       }
        case DSP_STORE_INFO:{
-                       DEBUG
-                           ("ft1000_proc_drvmsg:Command message type = DSP_STORE_INFO");
-
-                       DEBUG("FT1000:drivermsg:Got DSP_STORE_INFO\n");
-                       tempword = ntohs(pdrvmsg->length);
-                       info->DSPInfoBlklen = tempword;
-                       if (tempword < (MAX_DSP_SESS_REC - 4)) {
-                               pmsg = (u16 *) &pdrvmsg->data[0];
-                               for (i = 0; i < ((tempword + 1) / 2); i++) {
-                                       DEBUG
-                                           ("FT1000:drivermsg:dsp info data = 0x%x\n",
-                                            *pmsg);
-                                       info->DSPInfoBlk[i + 10] = *pmsg++;
-                               }
-                       } else {
-                               info->DSPInfoBlklen = 0;
+               DEBUG("ft1000_proc_drvmsg:Command message type = DSP_STORE_INFO");
+               DEBUG("FT1000:drivermsg:Got DSP_STORE_INFO\n");
+               tempword = ntohs(pdrvmsg->length);
+               info->DSPInfoBlklen = tempword;
+               if (tempword < (MAX_DSP_SESS_REC - 4)) {
+                       pmsg = (u16 *) &pdrvmsg->data[0];
+                       for (i = 0; i < ((tempword + 1) / 2); i++) {
+                               DEBUG("FT1000:drivermsg:dsp info data = 0x%x\n", *pmsg);
+                               info->DSPInfoBlk[i + 10] = *pmsg++;
                        }
-                       break;
+               } else {
+                       info->DSPInfoBlklen = 0;
                }
+               break;
+       }
        case DSP_GET_INFO:{
-                       DEBUG("FT1000:drivermsg:Got DSP_GET_INFO\n");
-                       /* copy dsp info block to dsp */
-                       dev->DrvMsgPend = 1;
-                       /* allow any outstanding ioctl to finish */
+               DEBUG("FT1000:drivermsg:Got DSP_GET_INFO\n");
+               /* copy dsp info block to dsp */
+               dev->DrvMsgPend = 1;
+               /* allow any outstanding ioctl to finish */
+               mdelay(10);
+               status = ft1000_read_register(dev, &tempword,
+                               FT1000_REG_DOORBELL);
+               if (tempword & FT1000_DB_DPRAM_TX) {
                        mdelay(10);
-                       status =
-                           ft1000_read_register(dev, &tempword,
-                                                FT1000_REG_DOORBELL);
+                       status = ft1000_read_register(dev, &tempword,
+                                       FT1000_REG_DOORBELL);
                        if (tempword & FT1000_DB_DPRAM_TX) {
                                mdelay(10);
-                               status =
-                                   ft1000_read_register(dev, &tempword,
-                                                        FT1000_REG_DOORBELL);
-                               if (tempword & FT1000_DB_DPRAM_TX) {
-                                       mdelay(10);
-                                       status =
-                                           ft1000_read_register(dev, &tempword,
-                                                                FT1000_REG_DOORBELL);
-                                       if (tempword & FT1000_DB_DPRAM_TX)
-                                               break;
-                               }
+                               status = ft1000_read_register(dev, &tempword,
+                                               FT1000_REG_DOORBELL);
+                               if (tempword & FT1000_DB_DPRAM_TX)
+                                       break;
                        }
-                       /* Put message into Slow Queue
-                        * Form Pseudo header
-                        */
-                       pmsg = (u16 *) info->DSPInfoBlk;
-                       *pmsg++ = 0;
-                       *pmsg++ =
-                           htons(info->DSPInfoBlklen + 20 +
-                                 info->DSPInfoBlklen);
-                       ppseudo_hdr =
-                           (struct pseudo_hdr *)(u16 *) &info->DSPInfoBlk[2];
-                       ppseudo_hdr->length =
-                           htons(info->DSPInfoBlklen + 4 +
-                                 info->DSPInfoBlklen);
+               }
+               /* Put message into Slow Queue Form Pseudo header */
+               pmsg = (u16 *) info->DSPInfoBlk;
+               *pmsg++ = 0;
+               *pmsg++ = htons(info->DSPInfoBlklen + 20 + info->DSPInfoBlklen);
+               ppseudo_hdr =
+                   (struct pseudo_hdr *)(u16 *) &info->DSPInfoBlk[2];
+               ppseudo_hdr->length = htons(info->DSPInfoBlklen + 4
+                               + info->DSPInfoBlklen);
+               ppseudo_hdr->source = 0x10;
+               ppseudo_hdr->destination = 0x20;
+               ppseudo_hdr->portdest = 0;
+               ppseudo_hdr->portsrc = 0;
+               ppseudo_hdr->sh_str_id = 0;
+               ppseudo_hdr->control = 0;
+               ppseudo_hdr->rsvd1 = 0;
+               ppseudo_hdr->rsvd2 = 0;
+               ppseudo_hdr->qos_class = 0;
+               /* Insert slow queue sequence number */
+               ppseudo_hdr->seq_num = info->squeseqnum++;
+               /* Insert application id */
+               ppseudo_hdr->portsrc = 0;
+               /* Calculate new checksum */
+               ppseudo_hdr->checksum = *pmsg++;
+               for (i = 1; i < 7; i++)
+                       ppseudo_hdr->checksum ^= *pmsg++;
+
+               info->DSPInfoBlk[10] = 0x7200;
+               info->DSPInfoBlk[11] = htons(info->DSPInfoBlklen);
+               status = ft1000_write_dpram32(dev, 0,
+                               (u8 *)&info->DSPInfoBlk[0],
+                               (unsigned short)(info->DSPInfoBlklen + 22));
+               status = ft1000_write_register(dev, FT1000_DB_DPRAM_TX,
+                               FT1000_REG_DOORBELL);
+               dev->DrvMsgPend = 0;
+               break;
+       }
+       case GET_DRV_ERR_RPT_MSG:{
+               DEBUG("FT1000:drivermsg:Got GET_DRV_ERR_RPT_MSG\n");
+               /* copy driver error message to dsp */
+               dev->DrvMsgPend = 1;
+               /* allow any outstanding ioctl to finish */
+               mdelay(10);
+               status = ft1000_read_register(dev, &tempword,
+                               FT1000_REG_DOORBELL);
+               if (tempword & FT1000_DB_DPRAM_TX) {
+                       mdelay(10);
+                       status = ft1000_read_register(dev, &tempword,
+                                       FT1000_REG_DOORBELL);
+                       if (tempword & FT1000_DB_DPRAM_TX)
+                               mdelay(10);
+               }
+               if ((tempword & FT1000_DB_DPRAM_TX) == 0) {
+                       /* Put message into Slow Queue Form Pseudo header */
+                       pmsg = (u16 *) &tempbuffer[0];
+                       ppseudo_hdr = (struct pseudo_hdr *)pmsg;
+                       ppseudo_hdr->length = htons(0x0012);
                        ppseudo_hdr->source = 0x10;
                        ppseudo_hdr->destination = 0x20;
                        ppseudo_hdr->portdest = 0;
@@ -1647,293 +1361,245 @@ static int ft1000_proc_drvmsg(struct ft1000_usb *dev, u16 size)
                        for (i = 1; i < 7; i++)
                                ppseudo_hdr->checksum ^= *pmsg++;
 
-                       info->DSPInfoBlk[10] = 0x7200;
-                       info->DSPInfoBlk[11] = htons(info->DSPInfoBlklen);
-                       status =
-                           ft1000_write_dpram32(dev, 0,
-                                                (u8 *) &info->DSPInfoBlk[0],
-                                                (unsigned short)(info->
-                                                                 DSPInfoBlklen
-                                                                 + 22));
-                       status =
-                           ft1000_write_register(dev, FT1000_DB_DPRAM_TX,
-                                                 FT1000_REG_DOORBELL);
-                       dev->DrvMsgPend = 0;
-
-                       break;
+                       pmsg = (u16 *) &tempbuffer[16];
+                       *pmsg++ = htons(RSP_DRV_ERR_RPT_MSG);
+                       *pmsg++ = htons(0x000e);
+                       *pmsg++ = htons(info->DSP_TIME[0]);
+                       *pmsg++ = htons(info->DSP_TIME[1]);
+                       *pmsg++ = htons(info->DSP_TIME[2]);
+                       *pmsg++ = htons(info->DSP_TIME[3]);
+                       convert.byte[0] = info->DspVer[0];
+                       convert.byte[1] = info->DspVer[1];
+                       *pmsg++ = convert.wrd;
+                       convert.byte[0] = info->DspVer[2];
+                       convert.byte[1] = info->DspVer[3];
+                       *pmsg++ = convert.wrd;
+                       *pmsg++ = htons(info->DrvErrNum);
+
+                       card_send_command(dev, (unsigned char *)&tempbuffer[0],
+                                       (u16)(0x0012 + PSEUDOSZ));
+                       info->DrvErrNum = 0;
                }
-
-       case GET_DRV_ERR_RPT_MSG:{
-                       DEBUG("FT1000:drivermsg:Got GET_DRV_ERR_RPT_MSG\n");
-                       /* copy driver error message to dsp */
-                       dev->DrvMsgPend = 1;
-                       /* allow any outstanding ioctl to finish */
-                       mdelay(10);
-                       status =
-                           ft1000_read_register(dev, &tempword,
-                                                FT1000_REG_DOORBELL);
-                       if (tempword & FT1000_DB_DPRAM_TX) {
-                               mdelay(10);
-                               status =
-                                   ft1000_read_register(dev, &tempword,
-                                                        FT1000_REG_DOORBELL);
-                               if (tempword & FT1000_DB_DPRAM_TX)
-                                       mdelay(10);
-                       }
-
-                       if ((tempword & FT1000_DB_DPRAM_TX) == 0) {
-                               /* Put message into Slow Queue
-                                * Form Pseudo header
-                                */
-                               pmsg = (u16 *) &tempbuffer[0];
-                               ppseudo_hdr = (struct pseudo_hdr *)pmsg;
-                               ppseudo_hdr->length = htons(0x0012);
-                               ppseudo_hdr->source = 0x10;
-                               ppseudo_hdr->destination = 0x20;
-                               ppseudo_hdr->portdest = 0;
-                               ppseudo_hdr->portsrc = 0;
-                               ppseudo_hdr->sh_str_id = 0;
-                               ppseudo_hdr->control = 0;
-                               ppseudo_hdr->rsvd1 = 0;
-                               ppseudo_hdr->rsvd2 = 0;
-                               ppseudo_hdr->qos_class = 0;
-                               /* Insert slow queue sequence number */
-                               ppseudo_hdr->seq_num = info->squeseqnum++;
-                               /* Insert application id */
-                               ppseudo_hdr->portsrc = 0;
-                               /* Calculate new checksum */
-                               ppseudo_hdr->checksum = *pmsg++;
-                               for (i = 1; i < 7; i++)
-                                       ppseudo_hdr->checksum ^= *pmsg++;
-
-                               pmsg = (u16 *) &tempbuffer[16];
-                               *pmsg++ = htons(RSP_DRV_ERR_RPT_MSG);
-                               *pmsg++ = htons(0x000e);
-                               *pmsg++ = htons(info->DSP_TIME[0]);
-                               *pmsg++ = htons(info->DSP_TIME[1]);
-                               *pmsg++ = htons(info->DSP_TIME[2]);
-                               *pmsg++ = htons(info->DSP_TIME[3]);
-                               convert.byte[0] = info->DspVer[0];
-                               convert.byte[1] = info->DspVer[1];
-                               *pmsg++ = convert.wrd;
-                               convert.byte[0] = info->DspVer[2];
-                               convert.byte[1] = info->DspVer[3];
-                               *pmsg++ = convert.wrd;
-                               *pmsg++ = htons(info->DrvErrNum);
-
-                               card_send_command(dev,
-                                                (unsigned char *)&tempbuffer[0],
-                                                (u16) (0x0012 + PSEUDOSZ));
-                               info->DrvErrNum = 0;
-                       }
-                       dev->DrvMsgPend = 0;
-
-                       break;
-               }
-
+               dev->DrvMsgPend = 0;
+               break;
+       }
        default:
                break;
        }
 
-       status = STATUS_SUCCESS;
+       status = 0;
 out:
        kfree(cmdbuffer);
        DEBUG("return from ft1000_proc_drvmsg\n");
        return status;
 }
 
-int ft1000_poll(void* dev_id)
+/* Check which application has registered for dsp broadcast messages */
+static int dsp_broadcast_msg_id(struct ft1000_usb *dev)
 {
-    struct ft1000_usb *dev = (struct ft1000_usb *)dev_id;
-       struct ft1000_info *info = netdev_priv(dev->net);
+       struct dpram_blk *pdpram_blk;
+       unsigned long flags;
+       int i;
 
-    u16 tempword;
-    u16 status;
-    u16 size;
-    int i;
-    u16 data;
-    u16 modulo;
-    u16 portid;
-    u16 nxtph;
+       for (i = 0; i < MAX_NUM_APP; i++) {
+               if ((dev->app_info[i].DspBCMsgFlag)
+                               && (dev->app_info[i].fileobject)
+                               && (dev->app_info[i].NumOfMsg
+                                       < MAX_MSG_LIMIT)) {
+                       pdpram_blk = ft1000_get_buffer(&freercvpool);
+                       if (pdpram_blk == NULL) {
+                               DEBUG("Out of memory in free receive command pool\n");
+                               dev->app_info[i].nRxMsgMiss++;
+                               return -1;
+                       }
+                       if (ft1000_receive_cmd(dev, pdpram_blk->pbuffer,
+                                               MAX_CMD_SQSIZE)) {
+                               /* Put message into the
+                                * appropriate application block
+                                */
+                               dev->app_info[i].nRxMsg++;
+                               spin_lock_irqsave(&free_buff_lock, flags);
+                               list_add_tail(&pdpram_blk->list,
+                                               &dev->app_info[i] .app_sqlist);
+                               dev->app_info[i].NumOfMsg++;
+                               spin_unlock_irqrestore(&free_buff_lock, flags);
+                               wake_up_interruptible(&dev->app_info[i]
+                                               .wait_dpram_msg);
+                       } else {
+                               dev->app_info[i].nRxMsgMiss++;
+                               ft1000_free_buffer(pdpram_blk, &freercvpool);
+                               DEBUG("pdpram_blk::ft1000_get_buffer NULL\n");
+                               return -1;
+                       }
+               }
+       }
+       return 0;
+}
+
+static int handle_misc_portid(struct ft1000_usb *dev)
+{
        struct dpram_blk *pdpram_blk;
-       struct pseudo_hdr *ppseudo_hdr;
-    unsigned long flags;
-
-    if (ft1000_chkcard(dev) == FALSE) {
-        DEBUG("ft1000_poll::ft1000_chkcard: failed\n");
-        return STATUS_FAILURE;
-    }
-
-    status = ft1000_read_register (dev, &tempword, FT1000_REG_DOORBELL);
-
-    if ( !status )
-    {
-
-        if (tempword & FT1000_DB_DPRAM_RX) {
-
-            status = ft1000_read_dpram16(dev, 0x200, (u8 *)&data, 0);
-            size = ntohs(data) + 16 + 2;
-            if (size % 4) {
-                modulo = 4 - (size % 4);
-                size = size + modulo;
-            }
-            status = ft1000_read_dpram16(dev, 0x201, (u8 *)&portid, 1);
-            portid &= 0xff;
-
-            if (size < MAX_CMD_SQSIZE) {
-                switch (portid)
-                {
-                    case DRIVERID:
-                        DEBUG("ft1000_poll: FT1000_REG_DOORBELL message type: FT1000_DB_DPRAM_RX : portid DRIVERID\n");
-
-                        status = ft1000_proc_drvmsg (dev, size);
-                        if (status != STATUS_SUCCESS )
-                            return status;
-                        break;
-                    case DSPBCMSGID:
-                        // This is a dsp broadcast message
-                        // Check which application has registered for dsp broadcast messages
-
-                       for (i=0; i<MAX_NUM_APP; i++) {
-                          if ( (dev->app_info[i].DspBCMsgFlag) && (dev->app_info[i].fileobject) &&
-                                         (dev->app_info[i].NumOfMsg < MAX_MSG_LIMIT)  )
-                          {
-                              nxtph = FT1000_DPRAM_RX_BASE + 2;
-                              pdpram_blk = ft1000_get_buffer (&freercvpool);
-                              if (pdpram_blk != NULL) {
-                                  if ( ft1000_receive_cmd(dev, pdpram_blk->pbuffer, MAX_CMD_SQSIZE, &nxtph) ) {
-                                       ppseudo_hdr = (struct pseudo_hdr *)pdpram_blk->pbuffer;
-                                      // Put message into the appropriate application block
-                                      dev->app_info[i].nRxMsg++;
-                                      spin_lock_irqsave(&free_buff_lock, flags);
-                                      list_add_tail(&pdpram_blk->list, &dev->app_info[i].app_sqlist);
-                                      dev->app_info[i].NumOfMsg++;
-                                      spin_unlock_irqrestore(&free_buff_lock, flags);
-                                      wake_up_interruptible(&dev->app_info[i].wait_dpram_msg);
-                                   }
-                                   else {
-                                      dev->app_info[i].nRxMsgMiss++;
-                                      // Put memory back to free pool
-                                      ft1000_free_buffer(pdpram_blk, &freercvpool);
-                                      DEBUG("pdpram_blk::ft1000_get_buffer NULL\n");
-                                   }
-                               }
-                               else {
-                                   DEBUG("Out of memory in free receive command pool\n");
-                                   dev->app_info[i].nRxMsgMiss++;
-                               }
-                           }
-                       }
-                        break;
-                    default:
-                        pdpram_blk = ft1000_get_buffer (&freercvpool);
-
-                        if (pdpram_blk != NULL) {
-                           if ( ft1000_receive_cmd(dev, pdpram_blk->pbuffer, MAX_CMD_SQSIZE, &nxtph) ) {
-                               ppseudo_hdr = (struct pseudo_hdr *)pdpram_blk->pbuffer;
-                               // Search for correct application block
-                               for (i=0; i<MAX_NUM_APP; i++) {
-                                   if (dev->app_info[i].app_id == ppseudo_hdr->portdest) {
-                                       break;
-                                   }
-                               }
-
-                               if (i == MAX_NUM_APP) {
-                                   DEBUG("FT1000:ft1000_parse_dpram_msg: No application matching id = %d\n", ppseudo_hdr->portdest);
-                                   // Put memory back to free pool
-                                   ft1000_free_buffer(pdpram_blk, &freercvpool);
-                               }
-                               else {
-                                   if (dev->app_info[i].NumOfMsg > MAX_MSG_LIMIT) {
-                                      // Put memory back to free pool
-                                      ft1000_free_buffer(pdpram_blk, &freercvpool);
-                                   }
-                                   else {
-                                       dev->app_info[i].nRxMsg++;
-                                       // Put message into the appropriate application block
-                                       list_add_tail(&pdpram_blk->list, &dev->app_info[i].app_sqlist);
-                                      dev->app_info[i].NumOfMsg++;
-                                   }
-                               }
-                           }
-                           else {
-                               // Put memory back to free pool
-                               ft1000_free_buffer(pdpram_blk, &freercvpool);
-                           }
-                        }
-                        else {
-                            DEBUG("Out of memory in free receive command pool\n");
-                        }
-                        break;
-                }
-            }
-            else {
-                DEBUG("FT1000:dpc:Invalid total length for SlowQ = %d\n", size);
-            }
-            status = ft1000_write_register (dev, FT1000_DB_DPRAM_RX, FT1000_REG_DOORBELL);
-        }
-        else if (tempword & FT1000_DSP_ASIC_RESET) {
-
-            // Let's reset the ASIC from the Host side as well
-            status = ft1000_write_register (dev, ASIC_RESET_BIT, FT1000_REG_RESET);
-            status = ft1000_read_register (dev, &tempword, FT1000_REG_RESET);
-            i = 0;
-            while (tempword & ASIC_RESET_BIT) {
-                status = ft1000_read_register (dev, &tempword, FT1000_REG_RESET);
-                msleep(10);
-                i++;
-                if (i==100)
-                    break;
-            }
-            if (i==100) {
-                DEBUG("Unable to reset ASIC\n");
-                return STATUS_SUCCESS;
-            }
-            msleep(10);
-            // Program WMARK register
-            status = ft1000_write_register (dev, 0x600, FT1000_REG_MAG_WATERMARK);
-            // clear ASIC reset doorbell
-            status = ft1000_write_register (dev, FT1000_DSP_ASIC_RESET, FT1000_REG_DOORBELL);
-            msleep(10);
-        }
-        else if (tempword & FT1000_ASIC_RESET_REQ) {
-            DEBUG("ft1000_poll: FT1000_REG_DOORBELL message type:  FT1000_ASIC_RESET_REQ\n");
-
-            // clear ASIC reset request from DSP
-            status = ft1000_write_register (dev, FT1000_ASIC_RESET_REQ, FT1000_REG_DOORBELL);
-            status = ft1000_write_register (dev, HOST_INTF_BE, FT1000_REG_SUP_CTRL);
-            // copy dsp session record from Adapter block
-            status = ft1000_write_dpram32 (dev, 0, (u8 *)&info->DSPSess.Rec[0], 1024);
-            // Program WMARK register
-            status = ft1000_write_register (dev, 0x600, FT1000_REG_MAG_WATERMARK);
-            // ring doorbell to tell DSP that ASIC is out of reset
-            status = ft1000_write_register (dev, FT1000_ASIC_RESET_DSP, FT1000_REG_DOORBELL);
-        }
-        else if (tempword & FT1000_DB_COND_RESET) {
-            DEBUG("ft1000_poll: FT1000_REG_DOORBELL message type:  FT1000_DB_COND_RESET\n");
-
-           if (!dev->fAppMsgPend) {
-               // Reset ASIC and DSP
-
-                status    = ft1000_read_dpram16(dev, FT1000_MAG_DSP_TIMER0, (u8 *)&(info->DSP_TIME[0]), FT1000_MAG_DSP_TIMER0_INDX);
-                status    = ft1000_read_dpram16(dev, FT1000_MAG_DSP_TIMER1, (u8 *)&(info->DSP_TIME[1]), FT1000_MAG_DSP_TIMER1_INDX);
-                status    = ft1000_read_dpram16(dev, FT1000_MAG_DSP_TIMER2, (u8 *)&(info->DSP_TIME[2]), FT1000_MAG_DSP_TIMER2_INDX);
-                status    = ft1000_read_dpram16(dev, FT1000_MAG_DSP_TIMER3, (u8 *)&(info->DSP_TIME[3]), FT1000_MAG_DSP_TIMER3_INDX);
-                info->CardReady = 0;
-                info->DrvErrNum = DSP_CONDRESET_INFO;
-                DEBUG("ft1000_hw:DSP conditional reset requested\n");
-                info->ft1000_reset(dev->net);
-            }
-            else {
-                dev->fProvComplete = false;
-                dev->fCondResetPend = true;
-            }
-
-            ft1000_write_register(dev, FT1000_DB_COND_RESET, FT1000_REG_DOORBELL);
-        }
-
-    }
-
-    return STATUS_SUCCESS;
+       int i;
+
+       pdpram_blk = ft1000_get_buffer(&freercvpool);
+       if (pdpram_blk == NULL) {
+               DEBUG("Out of memory in free receive command pool\n");
+               return -1;
+       }
+       if (!ft1000_receive_cmd(dev, pdpram_blk->pbuffer, MAX_CMD_SQSIZE))
+               goto exit_failure;
 
+       /* Search for correct application block */
+       for (i = 0; i < MAX_NUM_APP; i++) {
+               if (dev->app_info[i].app_id == ((struct pseudo_hdr *)
+                                       pdpram_blk->pbuffer)->portdest)
+                       break;
+       }
+       if (i == MAX_NUM_APP) {
+               DEBUG("FT1000:ft1000_parse_dpram_msg: No application matching id = %d\n", ((struct pseudo_hdr *)pdpram_blk->pbuffer)->portdest);
+               goto exit_failure;
+       } else if (dev->app_info[i].NumOfMsg > MAX_MSG_LIMIT) {
+               goto exit_failure;
+       } else {
+               dev->app_info[i].nRxMsg++;
+               /* Put message into the appropriate application block */
+               list_add_tail(&pdpram_blk->list, &dev->app_info[i].app_sqlist);
+               dev->app_info[i].NumOfMsg++;
+       }
+       return 0;
+
+exit_failure:
+       ft1000_free_buffer(pdpram_blk, &freercvpool);
+       return -1;
+}
+
+int ft1000_poll(void *dev_id)
+{
+       struct ft1000_usb *dev = (struct ft1000_usb *)dev_id;
+       struct ft1000_info *info = netdev_priv(dev->net);
+       u16 tempword;
+       int status;
+       u16 size;
+       int i;
+       u16 data;
+       u16 modulo;
+       u16 portid;
+
+       if (ft1000_chkcard(dev) == FALSE) {
+               DEBUG("ft1000_poll::ft1000_chkcard: failed\n");
+               return -1;
+       }
+       status = ft1000_read_register(dev, &tempword, FT1000_REG_DOORBELL);
+       if (!status) {
+               if (tempword & FT1000_DB_DPRAM_RX) {
+                       status = ft1000_read_dpram16(dev,
+                                       0x200, (u8 *)&data, 0);
+                       size = ntohs(data) + 16 + 2;
+                       if (size % 4) {
+                               modulo = 4 - (size % 4);
+                               size = size + modulo;
+                       }
+                       status = ft1000_read_dpram16(dev, 0x201,
+                                       (u8 *)&portid, 1);
+                       portid &= 0xff;
+                       if (size < MAX_CMD_SQSIZE) {
+                               switch (portid) {
+                               case DRIVERID:
+                                       DEBUG("ft1000_poll: FT1000_REG_DOORBELL message type: FT1000_DB_DPRAM_RX : portid DRIVERID\n");
+                                       status = ft1000_proc_drvmsg(dev, size);
+                                       if (status != 0)
+                                               return status;
+                                       break;
+                               case DSPBCMSGID:
+                                       status = dsp_broadcast_msg_id(dev);
+                                       break;
+                               default:
+                                       status = handle_misc_portid(dev);
+                                       break;
+                               }
+                       } else
+                               DEBUG("FT1000:dpc:Invalid total length for SlowQ = %d\n", size);
+                       status = ft1000_write_register(dev,
+                                       FT1000_DB_DPRAM_RX,
+                                       FT1000_REG_DOORBELL);
+               } else if (tempword & FT1000_DSP_ASIC_RESET) {
+                       /* Let's reset the ASIC from the Host side as well */
+                       status = ft1000_write_register(dev, ASIC_RESET_BIT,
+                                       FT1000_REG_RESET);
+                       status = ft1000_read_register(dev, &tempword,
+                                       FT1000_REG_RESET);
+                       i = 0;
+                       while (tempword & ASIC_RESET_BIT) {
+                               status = ft1000_read_register(dev, &tempword,
+                                               FT1000_REG_RESET);
+                               usleep_range(9000, 11000);
+                               i++;
+                               if (i == 100)
+                                       break;
+                       }
+                       if (i == 100) {
+                               DEBUG("Unable to reset ASIC\n");
+                               return 0;
+                       }
+                       usleep_range(9000, 11000);
+                       /* Program WMARK register */
+                       status = ft1000_write_register(dev, 0x600,
+                                       FT1000_REG_MAG_WATERMARK);
+                       /* clear ASIC reset doorbell */
+                       status = ft1000_write_register(dev,
+                                       FT1000_DSP_ASIC_RESET,
+                                       FT1000_REG_DOORBELL);
+                       usleep_range(9000, 11000);
+               } else if (tempword & FT1000_ASIC_RESET_REQ) {
+                       DEBUG("ft1000_poll: FT1000_REG_DOORBELL message type:  FT1000_ASIC_RESET_REQ\n");
+                       /* clear ASIC reset request from DSP */
+                       status = ft1000_write_register(dev,
+                                       FT1000_ASIC_RESET_REQ,
+                                       FT1000_REG_DOORBELL);
+                       status = ft1000_write_register(dev, HOST_INTF_BE,
+                                       FT1000_REG_SUP_CTRL);
+                       /* copy dsp session record from Adapter block */
+                       status = ft1000_write_dpram32(dev, 0,
+                                       (u8 *)&info->DSPSess.Rec[0], 1024);
+                       status = ft1000_write_register(dev, 0x600,
+                                       FT1000_REG_MAG_WATERMARK);
+                       /* ring doorbell to tell DSP that
+                        * ASIC is out of reset
+                        * */
+                       status = ft1000_write_register(dev,
+                                       FT1000_ASIC_RESET_DSP,
+                                       FT1000_REG_DOORBELL);
+               } else if (tempword & FT1000_DB_COND_RESET) {
+                       DEBUG("ft1000_poll: FT1000_REG_DOORBELL message type:  FT1000_DB_COND_RESET\n");
+                       if (!dev->fAppMsgPend) {
+                               /* Reset ASIC and DSP */
+                               status = ft1000_read_dpram16(dev,
+                                               FT1000_MAG_DSP_TIMER0,
+                                               (u8 *)&(info->DSP_TIME[0]),
+                                               FT1000_MAG_DSP_TIMER0_INDX);
+                               status = ft1000_read_dpram16(dev,
+                                               FT1000_MAG_DSP_TIMER1,
+                                               (u8 *)&(info->DSP_TIME[1]),
+                                               FT1000_MAG_DSP_TIMER1_INDX);
+                               status = ft1000_read_dpram16(dev,
+                                               FT1000_MAG_DSP_TIMER2,
+                                               (u8 *)&(info->DSP_TIME[2]),
+                                               FT1000_MAG_DSP_TIMER2_INDX);
+                               status = ft1000_read_dpram16(dev,
+                                               FT1000_MAG_DSP_TIMER3,
+                                               (u8 *)&(info->DSP_TIME[3]),
+                                               FT1000_MAG_DSP_TIMER3_INDX);
+                               info->CardReady = 0;
+                               info->DrvErrNum = DSP_CONDRESET_INFO;
+                               DEBUG("ft1000_hw:DSP conditional reset requested\n");
+                               info->ft1000_reset(dev->net);
+                       } else {
+                               dev->fProvComplete = false;
+                               dev->fCondResetPend = true;
+                       }
+                       ft1000_write_register(dev, FT1000_DB_COND_RESET,
+                                       FT1000_REG_DOORBELL);
+               }
+       }
+       return 0;
 }
index 5ead942be680c38962c251349033e44faec9c807..2575d0d6bff3b124f18020785a10771e0e958f69 100644 (file)
 
 #define seq_putx(m, message, size, var) \
        seq_printf(m, message); \
-       for(i = 0; i < (size - 1); i++) \
+       for (i = 0; i < (size - 1); i++) \
                seq_printf(m, "%02x:", var[i]); \
        seq_printf(m, "%02x\n", var[i])
 
 #define seq_putd(m, message, size, var) \
        seq_printf(m, message); \
-       for(i = 0; i < (size - 1); i++) \
+       for (i = 0; i < (size - 1); i++) \
                seq_printf(m, "%d.", var[i]); \
        seq_printf(m, "%d\n", var[i])
 
 #define FTNET_PROC init_net.proc_net
 
 
-int ft1000_read_dpram16 (struct ft1000_usb *ft1000dev, u16 indx,
+int ft1000_read_dpram16(struct ft1000_usb *ft1000dev, u16 indx,
                         u8 *buffer, u8 highlow);
 
 
 static int ft1000ReadProc(struct seq_file *m, void *v)
 {
-       static const char *status[] = { 
-               "Idle (Disconnect)", 
+       static const char *status[] = {
+               "Idle (Disconnect)",
                "Searching",
                "Active (Connected)",
                "Waiting for L2",
@@ -127,10 +127,10 @@ static int ft1000ReadProc(struct seq_file *m, void *v)
        }
 
        seq_printf(m, "Connection Time: %02ld:%02ld:%02ld\n",
-               ((delta / 3600) % 24), ((delta / 60) % 60), (delta % 60));
+               ((delta / 3600) % 24), ((delta / 60) % 60), (delta % 60));
        seq_printf(m, "Connection Time[s]: %ld\n", delta);
        seq_printf(m, "Asic ID: %s\n",
-       (info->AsicID) == ELECTRABUZZ_ID ? "ELECTRABUZZ ASIC" : "MAGNEMITE ASIC");
+       (info->AsicID) == ELECTRABUZZ_ID ? "ELECTRABUZZ ASIC" : "MAGNEMITE ASIC");
        seq_putx(m, "SKU: ", SKUSZ, info->Sku);
        seq_putx(m, "EUI64: ", EUISZ, info->eui64);
        seq_putd(m, "DSP version number: ", DSPVERSZ, info->DspVer);
index a8dd1e54878cb7a3a3914c097896bd6377216b8f..da6cc370c535ea316a917b184f7a4bfcdab8c59d 100644 (file)
@@ -45,13 +45,13 @@ static int ft1000_poll_thread(void *arg)
                msleep(10);
                if (!gPollingfailed) {
                        ret = ft1000_poll(arg);
-                       if (ret != STATUS_SUCCESS) {
+                       if (ret != 0) {
                                DEBUG("ft1000_poll_thread: polling failed\n");
                                gPollingfailed = true;
                        }
                }
        }
-       return STATUS_SUCCESS;
+       return 0;
 }
 
 static int ft1000_probe(struct usb_interface *interface,
index e8d00a930dc64bb08e5b7b34d42896dc3cd5b6c4..a6fdd524ee6f10024bb94c9e79a491c301942c08 100644 (file)
@@ -11,8 +11,6 @@
 
 #define PSEUDOSZ                16
 
-#define  SUCCESS             0x00
-
 struct app_info_block {
        u32 nTxMsg;                    /* DPRAM msg sent to DSP with app_id */
        u32 nRxMsg;                    /* DPRAM msg rcv from dsp with app_id */
@@ -31,9 +29,6 @@ struct app_info_block {
 #define FALSE           0
 #define TRUE            1
 
-#define STATUS_SUCCESS  0
-#define STATUS_FAILURE   0x1001
-
 #define FT1000_STATUS_CLOSING  0x01
 
 #define DSPBCMSGID              0x10
index c57a6ba5d010e84464632590c20e48e805d8681e..74a03608b2ddc9ff679a1cd6621f0a7122b27613 100644 (file)
  */
 #define DEFAULT_MTU_SIZE 1500
 
-#define gdm_dev_endian(n) (\
-       n->phy_dev->get_endian(n->phy_dev->priv_dev))
-
-#define gdm_lte_hci_send(n, d, l) (\
-       n->phy_dev->send_hci_func(n->phy_dev->priv_dev, d, l, NULL, NULL))
-
-#define gdm_lte_sdu_send(n, d, l, c, b, i, t) (\
-       n->phy_dev->send_sdu_func(n->phy_dev->priv_dev, d, l, n->pdn_table.dft_eps_id, 0, c, b, i, t))
-
-#define gdm_lte_rcv_with_cb(n, c, b, e) (\
-       n->rcv_func(n->priv_dev, c, b, e))
-
 #define IP_VERSION_4   4
 #define IP_VERSION_6   6
 
@@ -458,13 +446,11 @@ static int gdm_lte_tx(struct sk_buff *skb, struct net_device *dev)
 
        sscanf(dev->name, "lte%d", &idx);
 
-       ret = gdm_lte_sdu_send(nic,
-                              data_buf,
-                              data_len,
-                              tx_complete,
-                              nic,
-                              idx,
-                              nic_type);
+       ret = nic->phy_dev->send_sdu_func(nic->phy_dev->priv_dev,
+                                         data_buf, data_len,
+                                         nic->pdn_table.dft_eps_id, 0,
+                                         tx_complete, nic, idx,
+                                         nic_type);
 
        if (ret == TX_NO_BUFFER || ret == TX_NO_SPC) {
                netif_stop_queue(dev);
@@ -503,14 +489,18 @@ static int gdm_lte_event_send(struct net_device *dev, char *buf, int len)
        sscanf(dev->name, "lte%d", &idx);
 
        return netlink_send(lte_event.sock, idx, 0, buf,
-                           gdm_dev16_to_cpu(gdm_dev_endian(nic), hci->len) + HCI_HEADER_SIZE);
+                           gdm_dev16_to_cpu(
+                                   nic->phy_dev->get_endian(
+                                           nic->phy_dev->priv_dev), hci->len)
+                           + HCI_HEADER_SIZE);
 }
 
 static void gdm_lte_event_rcv(struct net_device *dev, u16 type, void *msg, int len)
 {
        struct nic *nic = netdev_priv(dev);
 
-       gdm_lte_hci_send(nic, msg, len);
+       nic->phy_dev->send_hci_func(nic->phy_dev->priv_dev, msg, len, NULL,
+                                   NULL);
 }
 
 int gdm_lte_event_init(void)
@@ -688,8 +678,14 @@ static void gdm_lte_pdn_table(struct net_device *dev, char *buf, int len)
 
        if (pdn_table->activate) {
                nic->pdn_table.activate = pdn_table->activate;
-               nic->pdn_table.dft_eps_id = gdm_dev32_to_cpu(gdm_dev_endian(nic), pdn_table->dft_eps_id);
-               nic->pdn_table.nic_type = gdm_dev32_to_cpu(gdm_dev_endian(nic), pdn_table->nic_type);
+               nic->pdn_table.dft_eps_id = gdm_dev32_to_cpu(
+                                               nic->phy_dev->get_endian(
+                                                       nic->phy_dev->priv_dev),
+                                               pdn_table->dft_eps_id);
+               nic->pdn_table.nic_type = gdm_dev32_to_cpu(
+                                               nic->phy_dev->get_endian(
+                                                       nic->phy_dev->priv_dev),
+                                               pdn_table->nic_type);
 
                netdev_info(dev, "pdn activated, nic_type=0x%x\n",
                            nic->pdn_table.nic_type);
@@ -762,7 +758,7 @@ void start_rx_proc(struct phy_dev *phy_dev)
        int i;
 
        for (i = 0; i < MAX_RX_SUBMIT_COUNT; i++)
-               gdm_lte_rcv_with_cb(phy_dev, rx_complete, phy_dev, USB_COMPLETE);
+               phy_dev->rcv_func(phy_dev->priv_dev, rx_complete, phy_dev, USB_COMPLETE);
 }
 
 static struct net_device_ops gdm_netdev_ops = {
index 62163673976c309e93f004ba5082b80f2a8f240d..2fa3a5a6580fa5531dfa20b9d144929948440898 100644 (file)
@@ -158,7 +158,6 @@ static int up_to_host(struct mux_rx *r)
        unsigned int start_flag;
        unsigned int payload_size;
        unsigned short packet_type;
-       int remain;
        int dummy_cnt;
        u32 packet_size_sum = r->offset;
        int index;
@@ -176,8 +175,7 @@ static int up_to_host(struct mux_rx *r)
                        break;
                }
 
-               remain = (MUX_HEADER_SIZE + payload_size) % 4;
-               dummy_cnt = remain ? (4-remain) : 0;
+               dummy_cnt = ALIGN(MUX_HEADER_SIZE + payload_size, 4);
 
                if (len - packet_size_sum <
                        MUX_HEADER_SIZE + payload_size + dummy_cnt) {
@@ -361,7 +359,6 @@ static int gdm_mux_send(void *priv_dev, void *data, int len, int tty_index,
        struct mux_pkt_header *mux_header;
        struct mux_tx *t = NULL;
        static u32 seq_num = 1;
-       int remain;
        int dummy_cnt;
        int total_len;
        int ret;
@@ -375,8 +372,7 @@ static int gdm_mux_send(void *priv_dev, void *data, int len, int tty_index,
 
        spin_lock_irqsave(&mux_dev->write_lock, flags);
 
-       remain = (MUX_HEADER_SIZE + len) % 4;
-       dummy_cnt = remain ? (4 - remain) : 0;
+       dummy_cnt = ALIGN(MUX_HEADER_SIZE + len, 4);
 
        total_len = len + MUX_HEADER_SIZE + dummy_cnt;
 
index 51aa9772f959520db89a91e2be69a8c20bb9774c..dfd8a79032dd04cbf433682770832e4276c3bc84 100644 (file)
@@ -443,6 +443,8 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags)
        if (!imx_drm_device_get())
                ret = -EINVAL;
 
+       platform_set_drvdata(drm->platformdev, drm);
+
        ret = 0;
 
 err_init:
@@ -828,7 +830,7 @@ static int imx_drm_platform_probe(struct platform_device *pdev)
 
 static int imx_drm_platform_remove(struct platform_device *pdev)
 {
-       drm_platform_exit(&imx_drm_driver, pdev);
+       drm_put_dev(platform_get_drvdata(pdev));
 
        return 0;
 }
index 654bf03e05ff8b34450674ce3142f5942b924420..7e593296ac47287f4929b91270ff79d34752fd56 100644 (file)
@@ -167,9 +167,8 @@ static void imx_ldb_set_clock(struct imx_ldb *ldb, int mux, int chno,
 
        /* set display clock mux to LDB input clock */
        ret = clk_set_parent(ldb->clk_sel[mux], ldb->clk[chno]);
-       if (ret) {
+       if (ret)
                dev_err(ldb->dev, "unable to set di%d parent clock to ldb_di%d\n", mux, chno);
-       }
 }
 
 static void imx_ldb_encoder_prepare(struct drm_encoder *encoder)
@@ -414,7 +413,7 @@ enum {
        LVDS_BIT_MAP_JEIDA
 };
 
-static const char *imx_ldb_bit_mappings[] = {
+static const char * const imx_ldb_bit_mappings[] = {
        [LVDS_BIT_MAP_SPWG]  = "spwg",
        [LVDS_BIT_MAP_JEIDA] = "jeida",
 };
index 1538d7bd600f10d7202d9b2bd9efe8441f526672..fff6c9e6164a08b55d6e5a71af583c057377d027 100644 (file)
@@ -189,12 +189,6 @@ struct keucr_media_area {
        WORD PhyBlock;  /* Physical Block Number on Zone 0 */
 };
 
-
-extern BYTE IsSSFDCCompliance;
-extern BYTE IsXDCompliance;
-
-extern DWORD   ErrXDCode;
-extern DWORD   ErrCode;
 extern WORD    ReadBlock;
 extern WORD    WriteBlock;
 extern DWORD   MediaChange;
index 2786808fde9f017ff680084c8bd70a9dd6ab06cc..9434cda885ca73ace4b84936f7d872185725cd6e 100644 (file)
@@ -4,49 +4,28 @@
 #include "smcommon.h"
 #include "smil.h"
 
-int         Check_D_LogCHS(WORD *, BYTE *, BYTE *);
-void        Initialize_D_Media(void);
-void        PowerOff_D_Media(void);
-int         Check_D_MediaPower(void);
-int         Check_D_MediaExist(void);
-int         Check_D_MediaWP(void);
-int         Check_D_MediaFmt(struct us_data *);
-int         Check_D_MediaFmtForEraseAll(struct us_data *);
-int         Conv_D_MediaAddr(struct us_data *, DWORD);
-int         Inc_D_MediaAddr(struct us_data *);
-int         Check_D_FirstSect(void);
-int         Check_D_LastSect(void);
-int         Media_D_ReadOneSect(struct us_data *, WORD, BYTE *);
-int         Media_D_WriteOneSect(struct us_data *, WORD, BYTE *);
-int         Media_D_CopyBlockHead(struct us_data *);
-int         Media_D_CopyBlockTail(struct us_data *);
-int         Media_D_EraseOneBlock(void);
-int         Media_D_EraseAllBlock(void);
-
-int  Copy_D_BlockAll(struct us_data *, DWORD);
-int  Copy_D_BlockHead(struct us_data *);
-int  Copy_D_BlockTail(struct us_data *);
-int  Reassign_D_BlockHead(struct us_data *);
-
-int  Assign_D_WriteBlock(void);
-int  Release_D_ReadBlock(struct us_data *);
-int  Release_D_WriteBlock(struct us_data *);
-int  Release_D_CopySector(struct us_data *);
-
-int  Copy_D_PhyOneSect(struct us_data *);
-int  Read_D_PhyOneSect(struct us_data *, WORD, BYTE *);
-int  Write_D_PhyOneSect(struct us_data *, WORD, BYTE *);
-int  Erase_D_PhyOneBlock(struct us_data *);
-
-int  Set_D_PhyFmtValue(struct us_data *);
-int  Search_D_CIS(struct us_data *);
-int  Make_D_LogTable(struct us_data *);
-void Check_D_BlockIsFull(void);
-
-int  MarkFail_D_PhyOneBlock(struct us_data *);
-
-DWORD ErrXDCode;
-DWORD ErrCode;
+static int         Conv_D_MediaAddr(struct us_data *, DWORD);
+static int         Inc_D_MediaAddr(struct us_data *);
+static int         Media_D_ReadOneSect(struct us_data *, WORD, BYTE *);
+
+static int  Copy_D_BlockAll(struct us_data *, DWORD);
+
+static int  Assign_D_WriteBlock(void);
+static int  Release_D_ReadBlock(struct us_data *);
+static int  Release_D_WriteBlock(struct us_data *);
+static int  Release_D_CopySector(struct us_data *);
+
+static int  Copy_D_PhyOneSect(struct us_data *);
+static int  Read_D_PhyOneSect(struct us_data *, WORD, BYTE *);
+static int  Erase_D_PhyOneBlock(struct us_data *);
+
+static int  Set_D_PhyFmtValue(struct us_data *);
+static int  Search_D_CIS(struct us_data *);
+static int  Make_D_LogTable(struct us_data *);
+
+static int  MarkFail_D_PhyOneBlock(struct us_data *);
+
+static DWORD ErrCode;
 static BYTE  WorkBuf[SECTSIZE];
 static BYTE  Redundant[REDTSIZE];
 static BYTE  WorkRedund[REDTSIZE];
@@ -65,10 +44,6 @@ static BYTE BitData[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
 #define Clr_D_Bit(a, b)    (a[(BYTE)((b) / 8)] &= ~BitData[(b) % 8])
 #define Chk_D_Bit(a, b)    (a[(BYTE)((b) / 8)] & BitData[(b) % 8])
 
-BYTE     IsSSFDCCompliance;
-BYTE     IsXDCompliance;
-
-
 /* ----- SM_FreeMem() ------------------------------------------------- */
 int SM_FreeMem(void)
 {
@@ -167,7 +142,7 @@ int Media_D_CopySector(struct us_data *us, DWORD start, WORD count, BYTE *buf)
 }
 
 /* ----- Release_D_CopySector() ------------------------------------------ */
-int Release_D_CopySector(struct us_data *us)
+static int Release_D_CopySector(struct us_data *us)
 {
        Log2Phy[Media.Zone][Media.LogBlock] = WriteBlock;
        Media.PhyBlock = ReadBlock;
@@ -211,7 +186,7 @@ int Check_D_MediaFmt(struct us_data *us)
 
 /* SmartMedia Physical Address Control Subroutine */
 /* ----- Conv_D_MediaAddr() --------------------------------------------- */
-int Conv_D_MediaAddr(struct us_data *us, DWORD addr)
+static int Conv_D_MediaAddr(struct us_data *us, DWORD addr)
 {
        DWORD temp;
 
@@ -240,7 +215,7 @@ int Conv_D_MediaAddr(struct us_data *us, DWORD addr)
 }
 
 /* ----- Inc_D_MediaAddr() ---------------------------------------------- */
-int Inc_D_MediaAddr(struct us_data *us)
+static int Inc_D_MediaAddr(struct us_data *us)
 {
        WORD        LogBlock = Media.LogBlock;
 
@@ -290,7 +265,7 @@ int Inc_D_MediaAddr(struct us_data *us)
 
 /* SmartMedia Read/Write Subroutine with Retry */
 /* ----- Media_D_ReadOneSect() ------------------------------------------ */
-int Media_D_ReadOneSect(struct us_data *us, WORD count, BYTE *buf)
+static int Media_D_ReadOneSect(struct us_data *us, WORD count, BYTE *buf)
 {
        DWORD err, retry;
 
@@ -334,7 +309,7 @@ int Media_D_ReadOneSect(struct us_data *us, WORD count, BYTE *buf)
 
 /* SmartMedia Physical Sector Data Copy Subroutine */
 /* ----- Copy_D_BlockAll() ---------------------------------------------- */
-int Copy_D_BlockAll(struct us_data *us, DWORD mode)
+static int Copy_D_BlockAll(struct us_data *us, DWORD mode)
 {
        BYTE sect;
 
@@ -371,7 +346,7 @@ int Copy_D_BlockAll(struct us_data *us, DWORD mode)
 
 /* SmartMedia Physical Block Assign/Release Subroutine */
 /* ----- Assign_D_WriteBlock() ------------------------------------------ */
-int Assign_D_WriteBlock(void)
+static int Assign_D_WriteBlock(void)
 {
        ReadBlock = Media.PhyBlock;
 
@@ -404,7 +379,7 @@ int Assign_D_WriteBlock(void)
 }
 
 /* ----- Release_D_ReadBlock() ------------------------------------------ */
-int Release_D_ReadBlock(struct us_data *us)
+static int Release_D_ReadBlock(struct us_data *us)
 {
        DWORD mode;
 
@@ -438,7 +413,7 @@ int Release_D_ReadBlock(struct us_data *us)
 }
 
 /* ----- Release_D_WriteBlock() ----------------------------------------- */
-int Release_D_WriteBlock(struct us_data *us)
+static int Release_D_WriteBlock(struct us_data *us)
 {
        SectCopyMode = COMPLETED;
        Media.PhyBlock = WriteBlock;
@@ -452,7 +427,7 @@ int Release_D_WriteBlock(struct us_data *us)
 
 /* SmartMedia Physical Sector Data Copy Subroutine */
 /* ----- Copy_D_PhyOneSect() -------------------------------------------- */
-int Copy_D_PhyOneSect(struct us_data *us)
+static int Copy_D_PhyOneSect(struct us_data *us)
 {
        int           i;
        DWORD  err, retry;
@@ -529,7 +504,7 @@ int Copy_D_PhyOneSect(struct us_data *us)
 
 /* SmartMedia Physical Sector Read/Write/Erase Subroutine */
 /* ----- Read_D_PhyOneSect() -------------------------------------------- */
-int Read_D_PhyOneSect(struct us_data *us, WORD count, BYTE *buf)
+static int Read_D_PhyOneSect(struct us_data *us, WORD count, BYTE *buf)
 {
        int           i;
        DWORD  retry;
@@ -580,7 +555,7 @@ int Read_D_PhyOneSect(struct us_data *us, WORD count, BYTE *buf)
 }
 
 /* ----- Erase_D_PhyOneBlock() ------------------------------------------ */
-int Erase_D_PhyOneBlock(struct us_data *us)
+static int Erase_D_PhyOneBlock(struct us_data *us)
 {
        if (Ssfdc_D_EraseBlock(us)) {
                ErrCode = ERR_HwError;
@@ -597,7 +572,7 @@ int Erase_D_PhyOneBlock(struct us_data *us)
 
 /* SmartMedia Physical Format Check Local Subroutine */
 /* ----- Set_D_PhyFmtValue() -------------------------------------------- */
-int Set_D_PhyFmtValue(struct us_data *us)
+static int Set_D_PhyFmtValue(struct us_data *us)
 {
        if (Set_D_SsfdcModel(us->SM_DeviceID))
                return ERROR;
@@ -606,7 +581,7 @@ int Set_D_PhyFmtValue(struct us_data *us)
 }
 
 /* ----- Search_D_CIS() ------------------------------------------------- */
-int Search_D_CIS(struct us_data *us)
+static int Search_D_CIS(struct us_data *us)
 {
        Media.Zone = 0;
        Media.Sector = 0;
@@ -660,7 +635,7 @@ int Search_D_CIS(struct us_data *us)
 }
 
 /* ----- Make_D_LogTable() ---------------------------------------------- */
-int Make_D_LogTable(struct us_data *us)
+static int Make_D_LogTable(struct us_data *us)
 {
        WORD  phyblock, logblock;
 
@@ -761,7 +736,7 @@ int Make_D_LogTable(struct us_data *us)
 }
 
 /* ----- MarkFail_D_PhyOneBlock() --------------------------------------- */
-int MarkFail_D_PhyOneBlock(struct us_data *us)
+static int MarkFail_D_PhyOneBlock(struct us_data *us)
 {
        BYTE sect;
 
index 346c5702f41116ad549dcf5bf3c9caf7fb5920e8..16da9a9b4033faf3e2b3cc975f3fbcde724f5a75 100644 (file)
@@ -6,45 +6,16 @@
 #include "smcommon.h"
 #include "smil.h"
 
-void   _Set_D_SsfdcRdCmd(BYTE);
-void   _Set_D_SsfdcRdAddr(BYTE);
-void   _Set_D_SsfdcRdChip(void);
-void   _Set_D_SsfdcRdStandby(void);
-void   _Start_D_SsfdcRdHwECC(void);
-void   _Stop_D_SsfdcRdHwECC(void);
-void   _Load_D_SsfdcRdHwECC(BYTE);
-void   _Set_D_SsfdcWrCmd(BYTE);
-void   _Set_D_SsfdcWrAddr(BYTE);
-void   _Set_D_SsfdcWrBlock(void);
-void   _Set_D_SsfdcWrStandby(void);
-void   _Start_D_SsfdcWrHwECC(void);
-void   _Load_D_SsfdcWrHwECC(BYTE);
-int    _Check_D_SsfdcBusy(WORD);
-int    _Check_D_SsfdcStatus(void);
-void   _Reset_D_SsfdcErr(void);
-void   _Read_D_SsfdcBuf(BYTE *);
-void   _Write_D_SsfdcBuf(BYTE *);
-void   _Read_D_SsfdcByte(BYTE *);
-void   _ReadRedt_D_SsfdcBuf(BYTE *);
-void   _WriteRedt_D_SsfdcBuf(BYTE *);
-BYTE   _Check_D_DevCode(BYTE);
-
-void   _Set_D_ECCdata(BYTE, BYTE *);
-void   _Calc_D_ECCdata(BYTE *);
-
+static BYTE   _Check_D_DevCode(BYTE);
+static DWORD   ErrXDCode;
+static BYTE    IsSSFDCCompliance;
+static BYTE    IsXDCompliance;
 
 struct keucr_media_info         Ssfdc;
 struct keucr_media_address      Media;
 struct keucr_media_area         CisArea;
 
 static BYTE                            EccBuf[6];
-extern PBYTE                    SMHostAddr;
-extern DWORD                    ErrXDCode;
-
-extern WORD  ReadBlock;
-extern WORD  WriteBlock;
-
-
 
 #define EVEN                    0             /* Even Page for 256byte/page */
 #define ODD                     1             /* Odd Page for 256byte/page */
index 572d6489b66b0e618df083e874fb5f0f5e14faf5..5c03eca4dba8b38e5148dc9de20eb3387be7b512 100644 (file)
 #include "transport.h"
 #include "smil.h"
 
-int SM_SCSI_Test_Unit_Ready(struct us_data *us, struct scsi_cmnd *srb);
-int SM_SCSI_Inquiry(struct us_data *us, struct scsi_cmnd *srb);
-int SM_SCSI_Mode_Sense(struct us_data *us, struct scsi_cmnd *srb);
-int SM_SCSI_Start_Stop(struct us_data *us, struct scsi_cmnd *srb);
-int SM_SCSI_Read_Capacity(struct us_data *us, struct scsi_cmnd *srb);
-int SM_SCSI_Read(struct us_data *us, struct scsi_cmnd *srb);
-int SM_SCSI_Write(struct us_data *us, struct scsi_cmnd *srb);
-
-extern PBYTE                SMHostAddr;
-extern DWORD                ErrXDCode;
+static int SM_SCSI_Test_Unit_Ready(struct us_data *us, struct scsi_cmnd *srb);
+static int SM_SCSI_Inquiry(struct us_data *us, struct scsi_cmnd *srb);
+static int SM_SCSI_Mode_Sense(struct us_data *us, struct scsi_cmnd *srb);
+static int SM_SCSI_Read_Capacity(struct us_data *us, struct scsi_cmnd *srb);
+static int SM_SCSI_Read(struct us_data *us, struct scsi_cmnd *srb);
+static int SM_SCSI_Write(struct us_data *us, struct scsi_cmnd *srb);
 
 /* ----- SM_SCSIIrp() -------------------------------------------------- */
 int SM_SCSIIrp(struct us_data *us, struct scsi_cmnd *srb)
@@ -57,7 +53,7 @@ int SM_SCSIIrp(struct us_data *us, struct scsi_cmnd *srb)
 }
 
 /* ----- SM_SCSI_Test_Unit_Ready() ------------------------------------- */
-int SM_SCSI_Test_Unit_Ready(struct us_data *us, struct scsi_cmnd *srb)
+static int SM_SCSI_Test_Unit_Ready(struct us_data *us, struct scsi_cmnd *srb)
 {
        if (us->SM_Status.Insert && us->SM_Status.Ready)
                return USB_STOR_TRANSPORT_GOOD;
@@ -70,7 +66,7 @@ int SM_SCSI_Test_Unit_Ready(struct us_data *us, struct scsi_cmnd *srb)
 }
 
 /* ----- SM_SCSI_Inquiry() --------------------------------------------- */
-int SM_SCSI_Inquiry(struct us_data *us, struct scsi_cmnd *srb)
+static int SM_SCSI_Inquiry(struct us_data *us, struct scsi_cmnd *srb)
 {
        BYTE data_ptr[36] = {0x00, 0x80, 0x02, 0x00, 0x1F, 0x00, 0x00, 0x00,
                                 0x55, 0x53, 0x42, 0x32, 0x2E, 0x30, 0x20,
@@ -84,7 +80,7 @@ int SM_SCSI_Inquiry(struct us_data *us, struct scsi_cmnd *srb)
 
 
 /* ----- SM_SCSI_Mode_Sense() ------------------------------------------ */
-int SM_SCSI_Mode_Sense(struct us_data *us, struct scsi_cmnd *srb)
+static int SM_SCSI_Mode_Sense(struct us_data *us, struct scsi_cmnd *srb)
 {
        BYTE    mediaNoWP[12] = {0x0b, 0x00, 0x00, 0x08, 0x00, 0x00,
                                0x71, 0xc0, 0x00, 0x00, 0x02, 0x00};
@@ -101,7 +97,7 @@ int SM_SCSI_Mode_Sense(struct us_data *us, struct scsi_cmnd *srb)
 }
 
 /* ----- SM_SCSI_Read_Capacity() --------------------------------------- */
-int SM_SCSI_Read_Capacity(struct us_data *us, struct scsi_cmnd *srb)
+static int SM_SCSI_Read_Capacity(struct us_data *us, struct scsi_cmnd *srb)
 {
        unsigned int offset = 0;
        struct scatterlist *sg = NULL;
@@ -133,7 +129,7 @@ int SM_SCSI_Read_Capacity(struct us_data *us, struct scsi_cmnd *srb)
 }
 
 /* ----- SM_SCSI_Read() -------------------------------------------------- */
-int SM_SCSI_Read(struct us_data *us, struct scsi_cmnd *srb)
+static int SM_SCSI_Read(struct us_data *us, struct scsi_cmnd *srb)
 {
        int result = 0;
        PBYTE   Cdb = srb->cmnd;
@@ -165,7 +161,7 @@ int SM_SCSI_Read(struct us_data *us, struct scsi_cmnd *srb)
 }
 
 /* ----- SM_SCSI_Write() -------------------------------------------------- */
-int SM_SCSI_Write(struct us_data *us, struct scsi_cmnd *srb)
+static int SM_SCSI_Write(struct us_data *us, struct scsi_cmnd *srb)
 {
        int result = 0;
        PBYTE   Cdb = srb->cmnd;
index de8e35b796ab475b9bbe79f3ba91c2ec3ba41d4f..507d16b9213c4b5445ca6b9ba91b2c2e0d385a3a 100644 (file)
@@ -61,7 +61,6 @@ int    cfs_curproc_groups_nr(void);
  */
 
 /* check if task is running in compat mode.*/
-int current_is_32bit(void);
 #define current_pid()          (current->pid)
 #define current_comm()         (current->comm)
 int cfs_get_environ(const char *key, char *value, int *val_len);
index 5be367973508660e5110e58611fa381fe5be19bd..315743ec92e3cc7e1c8b0e604d236adda6879d6c 100644 (file)
@@ -110,41 +110,41 @@ struct libcfs_ioctl_handler {
 #define IOC_LIBCFS_TYPE                   'e'
 #define IOC_LIBCFS_MIN_NR               30
 /* libcfs ioctls */
-#define IOC_LIBCFS_PANIC                  _IOWR('e', 30, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_CLEAR_DEBUG      _IOWR('e', 31, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_MARK_DEBUG        _IOWR('e', 32, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_LWT_CONTROL      _IOWR('e', 33, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_LWT_SNAPSHOT            _IOWR('e', 34, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_LWT_LOOKUP_STRING       _IOWR('e', 35, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_MEMHOG                _IOWR('e', 36, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_PING_TEST          _IOWR('e', 37, IOCTL_LIBCFS_TYPE)
+#define IOC_LIBCFS_PANIC                  _IOWR('e', 30, long)
+#define IOC_LIBCFS_CLEAR_DEBUG      _IOWR('e', 31, long)
+#define IOC_LIBCFS_MARK_DEBUG        _IOWR('e', 32, long)
+#define IOC_LIBCFS_LWT_CONTROL      _IOWR('e', 33, long)
+#define IOC_LIBCFS_LWT_SNAPSHOT            _IOWR('e', 34, long)
+#define IOC_LIBCFS_LWT_LOOKUP_STRING       _IOWR('e', 35, long)
+#define IOC_LIBCFS_MEMHOG                _IOWR('e', 36, long)
+#define IOC_LIBCFS_PING_TEST          _IOWR('e', 37, long)
 /* lnet ioctls */
-#define IOC_LIBCFS_GET_NI                _IOWR('e', 50, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_FAIL_NID            _IOWR('e', 51, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_ADD_ROUTE          _IOWR('e', 52, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_DEL_ROUTE          _IOWR('e', 53, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_GET_ROUTE          _IOWR('e', 54, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_NOTIFY_ROUTER          _IOWR('e', 55, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_UNCONFIGURE      _IOWR('e', 56, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_PORTALS_COMPATIBILITY   _IOWR('e', 57, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_LNET_DIST          _IOWR('e', 58, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_CONFIGURE          _IOWR('e', 59, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_TESTPROTOCOMPAT      _IOWR('e', 60, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_PING                    _IOWR('e', 61, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_DEBUG_PEER        _IOWR('e', 62, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_LNETST                _IOWR('e', 63, IOCTL_LIBCFS_TYPE)
+#define IOC_LIBCFS_GET_NI                _IOWR('e', 50, long)
+#define IOC_LIBCFS_FAIL_NID            _IOWR('e', 51, long)
+#define IOC_LIBCFS_ADD_ROUTE          _IOWR('e', 52, long)
+#define IOC_LIBCFS_DEL_ROUTE          _IOWR('e', 53, long)
+#define IOC_LIBCFS_GET_ROUTE          _IOWR('e', 54, long)
+#define IOC_LIBCFS_NOTIFY_ROUTER          _IOWR('e', 55, long)
+#define IOC_LIBCFS_UNCONFIGURE      _IOWR('e', 56, long)
+#define IOC_LIBCFS_PORTALS_COMPATIBILITY   _IOWR('e', 57, long)
+#define IOC_LIBCFS_LNET_DIST          _IOWR('e', 58, long)
+#define IOC_LIBCFS_CONFIGURE          _IOWR('e', 59, long)
+#define IOC_LIBCFS_TESTPROTOCOMPAT      _IOWR('e', 60, long)
+#define IOC_LIBCFS_PING                    _IOWR('e', 61, long)
+#define IOC_LIBCFS_DEBUG_PEER        _IOWR('e', 62, long)
+#define IOC_LIBCFS_LNETST                _IOWR('e', 63, long)
 /* lnd ioctls */
-#define IOC_LIBCFS_REGISTER_MYNID        _IOWR('e', 70, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_CLOSE_CONNECTION    _IOWR('e', 71, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_PUSH_CONNECTION      _IOWR('e', 72, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_GET_CONN            _IOWR('e', 73, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_DEL_PEER            _IOWR('e', 74, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_ADD_PEER            _IOWR('e', 75, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_GET_PEER            _IOWR('e', 76, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_GET_TXDESC        _IOWR('e', 77, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_ADD_INTERFACE          _IOWR('e', 78, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_DEL_INTERFACE          _IOWR('e', 79, IOCTL_LIBCFS_TYPE)
-#define IOC_LIBCFS_GET_INTERFACE          _IOWR('e', 80, IOCTL_LIBCFS_TYPE)
+#define IOC_LIBCFS_REGISTER_MYNID        _IOWR('e', 70, long)
+#define IOC_LIBCFS_CLOSE_CONNECTION    _IOWR('e', 71, long)
+#define IOC_LIBCFS_PUSH_CONNECTION      _IOWR('e', 72, long)
+#define IOC_LIBCFS_GET_CONN            _IOWR('e', 73, long)
+#define IOC_LIBCFS_DEL_PEER            _IOWR('e', 74, long)
+#define IOC_LIBCFS_ADD_PEER            _IOWR('e', 75, long)
+#define IOC_LIBCFS_GET_PEER            _IOWR('e', 76, long)
+#define IOC_LIBCFS_GET_TXDESC        _IOWR('e', 77, long)
+#define IOC_LIBCFS_ADD_INTERFACE          _IOWR('e', 78, long)
+#define IOC_LIBCFS_DEL_INTERFACE          _IOWR('e', 79, long)
+#define IOC_LIBCFS_GET_INTERFACE          _IOWR('e', 80, long)
 
 #define IOC_LIBCFS_MAX_NR                           80
 
index c204b677796fd9375996bba03a0096013013636d..3a883f82e64fcaff503d988035880a7a7ceec333 100644 (file)
@@ -63,9 +63,7 @@
 #include <linux/smp.h>
 #include <linux/ctype.h>
 #include <linux/compiler.h>
-#ifdef HAVE_MM_INLINE
-# include <linux/mm_inline.h>
-#endif
+#include <linux/mm_inline.h>
 #include <linux/kallsyms.h>
 #include <linux/moduleparam.h>
 #include <linux/scatterlist.h>
@@ -79,8 +77,6 @@
        module_param(name, type, perm);\
        MODULE_PARM_DESC(name, desc)
 
-#define CFS_SYSFS_MODULE_PARM  1 /* module parameters accessible via sysfs */
-
 /******************************************************************************/
 /* Light-weight trace
  * Support for temporary event tracing with minimal Heisenberg effect. */
@@ -179,14 +175,6 @@ extern int  lwt_snapshot (cfs_cycles_t *now, int *ncpu, int *total_size,
 
 /* ------------------------------------------------------------------ */
 
-#define IOCTL_LIBCFS_TYPE long
-
-#ifdef __CYGWIN__
-# ifndef BITS_PER_LONG
-#   define BITS_PER_LONG 64
-# endif
-#endif
-
 # define LI_POISON 0x5a5a5a5a
 #if BITS_PER_LONG > 32
 # define LL_POISON 0x5a5a5a5a5a5a5a5aL
@@ -197,8 +185,6 @@ extern int  lwt_snapshot (cfs_cycles_t *now, int *ncpu, int *total_size,
 
 /* this is a bit chunky */
 
-#define _LWORDSIZE BITS_PER_LONG
-
 # define LPU64 "%llu"
 # define LPD64 "%lld"
 # define LPX64 "%#llx"
@@ -218,24 +204,4 @@ extern int  lwt_snapshot (cfs_cycles_t *now, int *ncpu, int *total_size,
  */
 # define LPPID "%d"
 
-
-#undef _LWORDSIZE
-
-/* compat macroses */
-
-
-#ifndef get_cpu
-# ifdef CONFIG_PREEMPT
-#  define get_cpu()  ({ preempt_disable(); smp_processor_id(); })
-#  define put_cpu()  preempt_enable()
-# else
-#  define get_cpu()  smp_processor_id()
-#  define put_cpu()
-# endif
-#else
-#endif /* get_cpu & put_cpu */
-
-#define INIT_CTL_NAME(a)
-#define INIT_STRATEGY(a)
-
 #endif
index 4f63b7acb9d79956437c5760c906a0576535f8d2..c833ce8544d3cb3a92df25e3040954c1cce07ce1 100644 (file)
@@ -383,14 +383,6 @@ typedef enum {
 typedef unsigned LNET_SEQ_BASETYPE lnet_seq_t;
 #define LNET_SEQ_GT(a,b)       (((signed LNET_SEQ_BASETYPE)((a) - (b))) > 0)
 
-/* XXX
- * cygwin need the pragma line, not clear if it's needed in other places.
- * checking!!!
- */
-#ifdef __CYGWIN__
-#pragma pack(push, 4)
-#endif
-
 /**
  * Information about an event on a MD.
  */
@@ -462,9 +454,6 @@ typedef struct {
         */
        volatile lnet_seq_t sequence;
 } lnet_event_t;
-#ifdef __CYGWIN__
-#pragma pop
-#endif
 
 /**
  * Event queue handler function type.
index 86397f96b0331e217b38061aa434a6cfb0143518..644a0000130a469cee58b18b760020dc823d3d8d 100644 (file)
@@ -3230,7 +3230,6 @@ void __exit
 kiblnd_module_fini (void)
 {
        lnet_unregister_lnd(&the_o2iblnd);
-       kiblnd_tunables_fini();
 }
 
 int __init
index 938df0cf8c64c4a18f1fa60b02d16fdb3487005a..3f83ce4871cf118a841e4c8d8782213ee1654ebd 100644 (file)
@@ -106,9 +106,6 @@ typedef struct
        int           *kib_fmr_pool_size;    /* # FMRs in pool */
        int           *kib_fmr_flush_trigger; /* When to trigger FMR flush */
        int           *kib_fmr_cache;   /* enable FMR pool cache? */
-#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
-       ctl_table_header_t *kib_sysctl;  /* sysctl interface */
-#endif
        int           *kib_require_priv_port;/* accept only privileged ports */
        int           *kib_use_priv_port;    /* use privileged port for active connect */
        /* # threads on each CPT */
index 92dc5672e2ddf893f0304f10be53f466c266605f..cc291d00dba0dd5d49419c1e93d93165d8ec8d62 100644 (file)
@@ -176,261 +176,6 @@ kib_tunables_t kiblnd_tunables = {
        .kib_nscheds                = &nscheds
 };
 
-#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
-
-static char ipif_basename_space[32];
-
-
-enum {
-       O2IBLND_SERVICE  = 1,
-       O2IBLND_CKSUM,
-       O2IBLND_TIMEOUT,
-       O2IBLND_NTX,
-       O2IBLND_CREDITS,
-       O2IBLND_PEER_TXCREDITS,
-       O2IBLND_PEER_CREDITS_HIW,
-       O2IBLND_PEER_RTRCREDITS,
-       O2IBLND_PEER_TIMEOUT,
-       O2IBLND_IPIF_BASENAME,
-       O2IBLND_RETRY_COUNT,
-       O2IBLND_RNR_RETRY_COUNT,
-       O2IBLND_KEEPALIVE,
-       O2IBLND_CONCURRENT_SENDS,
-       O2IBLND_IB_MTU,
-       O2IBLND_MAP_ON_DEMAND,
-       O2IBLND_FMR_POOL_SIZE,
-       O2IBLND_FMR_FLUSH_TRIGGER,
-       O2IBLND_FMR_CACHE,
-       O2IBLND_PMR_POOL_SIZE,
-       O2IBLND_DEV_FAILOVER
-};
-
-static ctl_table_t kiblnd_ctl_table[] = {
-       {
-               .ctl_name = O2IBLND_SERVICE,
-               .procname = "service",
-               .data     = &service,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_CKSUM,
-               .procname = "cksum",
-               .data     = &cksum,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_TIMEOUT,
-               .procname = "timeout",
-               .data     = &timeout,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_NTX,
-               .procname = "ntx",
-               .data     = &ntx,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_CREDITS,
-               .procname = "credits",
-               .data     = &credits,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_PEER_TXCREDITS,
-               .procname = "peer_credits",
-               .data     = &peer_credits,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_PEER_CREDITS_HIW,
-               .procname = "peer_credits_hiw",
-               .data     = &peer_credits_hiw,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_PEER_RTRCREDITS,
-               .procname = "peer_buffer_credits",
-               .data     = &peer_buffer_credits,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_PEER_TIMEOUT,
-               .procname = "peer_timeout",
-               .data     = &peer_timeout,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_IPIF_BASENAME,
-               .procname = "ipif_name",
-               .data     = ipif_basename_space,
-               .maxlen   = sizeof(ipif_basename_space),
-               .mode     = 0444,
-               .proc_handler = &proc_dostring
-       },
-       {
-               .ctl_name = O2IBLND_RETRY_COUNT,
-               .procname = "retry_count",
-               .data     = &retry_count,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_RNR_RETRY_COUNT,
-               .procname = "rnr_retry_count",
-               .data     = &rnr_retry_count,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_KEEPALIVE,
-               .procname = "keepalive",
-               .data     = &keepalive,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_CONCURRENT_SENDS,
-               .procname = "concurrent_sends",
-               .data     = &concurrent_sends,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_IB_MTU,
-               .procname = "ib_mtu",
-               .data     = &ib_mtu,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_MAP_ON_DEMAND,
-               .procname = "map_on_demand",
-               .data     = &map_on_demand,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-
-       {
-               .ctl_name = O2IBLND_FMR_POOL_SIZE,
-               .procname = "fmr_pool_size",
-               .data     = &fmr_pool_size,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_FMR_FLUSH_TRIGGER,
-               .procname = "fmr_flush_trigger",
-               .data     = &fmr_flush_trigger,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_FMR_CACHE,
-               .procname = "fmr_cache",
-               .data     = &fmr_cache,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_PMR_POOL_SIZE,
-               .procname = "pmr_pool_size",
-               .data     = &pmr_pool_size,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {
-               .ctl_name = O2IBLND_DEV_FAILOVER,
-               .procname = "dev_failover",
-               .data     = &dev_failover,
-               .maxlen   = sizeof(int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-       },
-       {0}
-};
-
-static ctl_table_t kiblnd_top_ctl_table[] = {
-       {
-               .ctl_name = CTL_O2IBLND,
-               .procname = "o2iblnd",
-               .data     = NULL,
-               .maxlen   = 0,
-               .mode     = 0555,
-               .child    = kiblnd_ctl_table
-       },
-       {0}
-};
-
-void
-kiblnd_initstrtunable(char *space, char *str, int size)
-{
-       strncpy(space, str, size);
-       space[size-1] = 0;
-}
-
-void
-kiblnd_sysctl_init (void)
-{
-       kiblnd_initstrtunable(ipif_basename_space, ipif_name,
-                             sizeof(ipif_basename_space));
-
-       kiblnd_tunables.kib_sysctl =
-               register_sysctl_table(kiblnd_top_ctl_table);
-
-       if (kiblnd_tunables.kib_sysctl == NULL)
-               CWARN("Can't setup /proc tunables\n");
-}
-
-void
-kiblnd_sysctl_fini (void)
-{
-       if (kiblnd_tunables.kib_sysctl != NULL)
-               unregister_sysctl_table(kiblnd_tunables.kib_sysctl);
-}
-
-#else
-
-void
-kiblnd_sysctl_init (void)
-{
-}
-
-void
-kiblnd_sysctl_fini (void)
-{
-}
-
-#endif
-
 int
 kiblnd_tunables_init (void)
 {
@@ -482,12 +227,5 @@ kiblnd_tunables_init (void)
                      *kiblnd_tunables.kib_concurrent_sends, *kiblnd_tunables.kib_peertxcredits);
        }
 
-       kiblnd_sysctl_init();
        return 0;
 }
-
-void
-kiblnd_tunables_fini (void)
-{
-       kiblnd_sysctl_fini();
-}
index 2ddc3aadb8d6a19c1b40f91c57d52fa091972dfb..8f74d0be32f10a12b2c78fb1bce45792d7d9dd6b 100644 (file)
@@ -2866,7 +2866,6 @@ void __exit
 ksocknal_module_fini (void)
 {
        lnet_unregister_lnd(&the_ksocklnd);
-       ksocknal_tunables_fini();
 }
 
 int __init
index b483e0c3a69a2ef0245f64e9468b1409a6cb2216..df2be7a7f46eb6a7b77f8040976dbd00e8ab22e9 100644 (file)
@@ -124,9 +124,6 @@ typedef struct
        unsigned int     *ksnd_zc_min_payload;  /* minimum zero copy payload size */
        int           *ksnd_zc_recv;     /* enable ZC receive (for Chelsio TOE) */
        int           *ksnd_zc_recv_min_nfrags; /* minimum # of fragments to enable ZC receive */
-#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
-       ctl_table_header_t *ksnd_sysctl;   /* sysctl interface */
-#endif
 } ksock_tunables_t;
 
 typedef struct
@@ -592,9 +589,6 @@ extern int ksocknal_lib_get_conn_tunables (ksock_conn_t *conn, int *txmem,
                                           int *rxmem, int *nagle);
 
 extern int ksocknal_tunables_init(void);
-extern void ksocknal_tunables_fini(void);
-extern int ksocknal_lib_tunables_init(void);
-extern void ksocknal_lib_tunables_fini(void);
 
 extern void ksocknal_lib_csum_tx(ksock_tx_t *tx);
 
index a1c6a519bf5b76d35a7095cf31b3b66dace85a58..80141aa32c21dad0c14e90e392e4e886b4df27b7 100644 (file)
 
 #include "socklnd.h"
 
-# if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
-
-
-enum {
-       SOCKLND_TIMEOUT = 1,
-       SOCKLND_CREDITS,
-       SOCKLND_PEER_TXCREDITS,
-       SOCKLND_PEER_RTRCREDITS,
-       SOCKLND_PEER_TIMEOUT,
-       SOCKLND_NCONNDS,
-       SOCKLND_RECONNECTS_MIN,
-       SOCKLND_RECONNECTS_MAX,
-       SOCKLND_EAGER_ACK,
-       SOCKLND_ZERO_COPY,
-       SOCKLND_TYPED,
-       SOCKLND_BULK_MIN,
-       SOCKLND_RX_BUFFER_SIZE,
-       SOCKLND_TX_BUFFER_SIZE,
-       SOCKLND_NAGLE,
-       SOCKLND_IRQ_AFFINITY,
-       SOCKLND_ROUND_ROBIN,
-       SOCKLND_KEEPALIVE,
-       SOCKLND_KEEPALIVE_IDLE,
-       SOCKLND_KEEPALIVE_COUNT,
-       SOCKLND_KEEPALIVE_INTVL,
-       SOCKLND_BACKOFF_INIT,
-       SOCKLND_BACKOFF_MAX,
-       SOCKLND_PROTOCOL,
-       SOCKLND_ZERO_COPY_RECV,
-       SOCKLND_ZERO_COPY_RECV_MIN_NFRAGS
-};
-
-static ctl_table_t ksocknal_ctl_table[] = {
-       {
-               .ctl_name = SOCKLND_TIMEOUT,
-               .procname = "timeout",
-               .data     = &ksocknal_tunables.ksnd_timeout,
-               .maxlen   = sizeof (int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_CREDITS,
-               .procname = "credits",
-               .data     = &ksocknal_tunables.ksnd_credits,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-        {
-               .ctl_name = SOCKLND_PEER_TXCREDITS,
-               .procname = "peer_credits",
-               .data     = &ksocknal_tunables.ksnd_peertxcredits,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-        {
-               .ctl_name = SOCKLND_PEER_RTRCREDITS,
-               .procname = "peer_buffer_credits",
-               .data     = &ksocknal_tunables.ksnd_peerrtrcredits,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_PEER_TIMEOUT,
-               .procname = "peer_timeout",
-               .data     = &ksocknal_tunables.ksnd_peertimeout,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_NCONNDS,
-               .procname = "nconnds",
-               .data     = &ksocknal_tunables.ksnd_nconnds,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_RECONNECTS_MIN,
-               .procname = "min_reconnectms",
-               .data     = &ksocknal_tunables.ksnd_min_reconnectms,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_RECONNECTS_MAX,
-               .procname = "max_reconnectms",
-               .data     = &ksocknal_tunables.ksnd_max_reconnectms,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_EAGER_ACK,
-               .procname = "eager_ack",
-               .data     = &ksocknal_tunables.ksnd_eager_ack,
-               .maxlen   = sizeof (int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_ZERO_COPY,
-               .procname = "zero_copy",
-               .data     = &ksocknal_tunables.ksnd_zc_min_payload,
-               .maxlen   = sizeof (int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_ZERO_COPY_RECV,
-               .procname = "zero_copy_recv",
-               .data     = &ksocknal_tunables.ksnd_zc_recv,
-               .maxlen   = sizeof (int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-
-       {
-               .ctl_name = SOCKLND_ZERO_COPY_RECV_MIN_NFRAGS,
-               .procname = "zero_copy_recv",
-               .data     = &ksocknal_tunables.ksnd_zc_recv_min_nfrags,
-               .maxlen   = sizeof (int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_TYPED,
-               .procname = "typed",
-               .data     = &ksocknal_tunables.ksnd_typed_conns,
-               .maxlen   = sizeof (int),
-               .mode     = 0444,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_BULK_MIN,
-               .procname = "min_bulk",
-               .data     = &ksocknal_tunables.ksnd_min_bulk,
-               .maxlen   = sizeof (int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_RX_BUFFER_SIZE,
-               .procname = "rx_buffer_size",
-               .data     = &ksocknal_tunables.ksnd_rx_buffer_size,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_TX_BUFFER_SIZE,
-               .procname = "tx_buffer_size",
-               .data     = &ksocknal_tunables.ksnd_tx_buffer_size,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_NAGLE,
-               .procname = "nagle",
-               .data     = &ksocknal_tunables.ksnd_nagle,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_ROUND_ROBIN,
-               .procname = "round_robin",
-               .data     = &ksocknal_tunables.ksnd_round_robin,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_KEEPALIVE,
-               .procname = "keepalive",
-               .data     = &ksocknal_tunables.ksnd_keepalive,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_KEEPALIVE_IDLE,
-               .procname = "keepalive_idle",
-               .data     = &ksocknal_tunables.ksnd_keepalive_idle,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_KEEPALIVE_COUNT,
-               .procname = "keepalive_count",
-               .data     = &ksocknal_tunables.ksnd_keepalive_count,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-       {
-               .ctl_name = SOCKLND_KEEPALIVE_INTVL,
-               .procname = "keepalive_intvl",
-               .data     = &ksocknal_tunables.ksnd_keepalive_intvl,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-#if SOCKNAL_VERSION_DEBUG
-       {
-               .ctl_name = SOCKLND_PROTOCOL,
-               .procname = "protocol",
-               .data     = &ksocknal_tunables.ksnd_protocol,
-               .maxlen   = sizeof(int),
-               .mode     = 0644,
-               .proc_handler = &proc_dointvec,
-               .strategy = &sysctl_intvec,
-       },
-#endif
-       {0}
-};
-
-
-ctl_table_t ksocknal_top_ctl_table[] = {
-       {
-               .ctl_name = CTL_SOCKLND,
-               .procname = "socknal",
-               .data     = NULL,
-               .maxlen   = 0,
-               .mode     = 0555,
-               .child    = ksocknal_ctl_table
-       },
-       { 0 }
-};
-
-int
-ksocknal_lib_tunables_init ()
-{
-       if (!*ksocknal_tunables.ksnd_typed_conns) {
-               int rc = -EINVAL;
-#if SOCKNAL_VERSION_DEBUG
-               if (*ksocknal_tunables.ksnd_protocol < 3)
-                       rc = 0;
-#endif
-               if (rc != 0) {
-                       CERROR("Protocol V3.x MUST have typed connections\n");
-                       return rc;
-               }
-       }
-
-       if (*ksocknal_tunables.ksnd_zc_recv_min_nfrags < 2)
-               *ksocknal_tunables.ksnd_zc_recv_min_nfrags = 2;
-       if (*ksocknal_tunables.ksnd_zc_recv_min_nfrags > LNET_MAX_IOV)
-               *ksocknal_tunables.ksnd_zc_recv_min_nfrags = LNET_MAX_IOV;
-
-       ksocknal_tunables.ksnd_sysctl =
-               register_sysctl_table(ksocknal_top_ctl_table);
-
-       if (ksocknal_tunables.ksnd_sysctl == NULL)
-               CWARN("Can't setup /proc tunables\n");
-
-       return 0;
-}
-
-void
-ksocknal_lib_tunables_fini(void)
-{
-       if (ksocknal_tunables.ksnd_sysctl != NULL)
-               unregister_sysctl_table(ksocknal_tunables.ksnd_sysctl);
-}
-#else
-int
-ksocknal_lib_tunables_init(void)
-{
-       return 0;
-}
-
-void
-ksocknal_lib_tunables_fini(void)
-{
-}
-#endif /* # if CONFIG_SYSCTL && !CFS_SYSFS_MODULE_PARM */
-
 int
 ksocknal_lib_get_conn_addrs (ksock_conn_t *conn)
 {
index 8a474f64abbe116565bd7f206719b48e85428db0..9f4c64e51b0b470dbd3f523d4d50f17f7305dc6a 100644 (file)
@@ -181,18 +181,8 @@ int ksocknal_tunables_init(void)
        ksocknal_tunables.ksnd_protocol    = &protocol;
 #endif
 
-#if defined(CONFIG_SYSCTL) && !CFS_SYSFS_MODULE_PARM
-       ksocknal_tunables.ksnd_sysctl        =  NULL;
-#endif
-
        if (*ksocknal_tunables.ksnd_zc_min_payload < (2 << 10))
                *ksocknal_tunables.ksnd_zc_min_payload = (2 << 10);
 
-       /* initialize platform-sepcific tunables */
-       return ksocknal_lib_tunables_init();
+       return 0;
 };
-
-void ksocknal_tunables_fini(void)
-{
-       ksocknal_lib_tunables_fini();
-}
index 5e47de36c184526cf09d8293782d135842c77a44..daaa043ad11813abec781cad2aa4a6cda8b83110 100644 (file)
@@ -855,55 +855,46 @@ static ctl_table_t lnet_table[] = {
         * to go via /proc for portability.
         */
        {
-               INIT_CTL_NAME(PSDEV_LNET_STATS)
                .procname = "stats",
                .mode     = 0644,
                .proc_handler = &proc_lnet_stats,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_ROUTES)
                .procname = "routes",
                .mode     = 0444,
                .proc_handler = &proc_lnet_routes,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_ROUTERS)
                .procname = "routers",
                .mode     = 0444,
                .proc_handler = &proc_lnet_routers,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_PEERS)
                .procname = "peers",
                .mode     = 0444,
                .proc_handler = &proc_lnet_peers,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_PEERS)
                .procname = "buffers",
                .mode     = 0444,
                .proc_handler = &proc_lnet_buffers,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_NIS)
                .procname = "nis",
                .mode     = 0444,
                .proc_handler = &proc_lnet_nis,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_PTL_ROTOR)
                .procname = "portal_rotor",
                .mode     = 0644,
                .proc_handler = &proc_lnet_portal_rotor,
        },
        {
-               INIT_CTL_NAME(0)
        }
 };
 
 static ctl_table_t top_table[] = {
        {
-               INIT_CTL_NAME(CTL_LNET)
                .procname = "lnet",
                .mode     = 0555,
                .data     = NULL,
@@ -911,7 +902,6 @@ static ctl_table_t top_table[] = {
                .child    = lnet_table,
        },
        {
-               INIT_CTL_NAME(0)
        }
 };
 
index bce3d3bde6b2187bbebb9fa2b1930961d019ea71..cbc416de7008a09306d69296a6785464b254a4fc 100644 (file)
@@ -723,12 +723,12 @@ lst_stat_query_ioctl(lstio_stat_args_t *args)
 
 int lst_test_add_ioctl(lstio_test_args_t *args)
 {
-       char       *name;
-       char       *srcgrp = NULL;
-       char       *dstgrp = NULL;
-       void       *param = NULL;
-       int          ret = 0;
-       int          rc = -ENOMEM;
+       char            *batch_name;
+       char            *src_name = NULL;
+       char            *dst_name = NULL;
+       void            *param = NULL;
+       int             ret = 0;
+       int             rc = -ENOMEM;
 
        if (args->lstio_tes_resultp == NULL ||
            args->lstio_tes_retp == NULL ||
@@ -755,16 +755,16 @@ int lst_test_add_ioctl(lstio_test_args_t *args)
             args->lstio_tes_param_len > PAGE_CACHE_SIZE - sizeof(lstcon_test_t)))
                return -EINVAL;
 
-       LIBCFS_ALLOC(name, args->lstio_tes_bat_nmlen + 1);
-       if (name == NULL)
+       LIBCFS_ALLOC(batch_name, args->lstio_tes_bat_nmlen + 1);
+       if (batch_name == NULL)
                return rc;
 
-       LIBCFS_ALLOC(srcgrp, args->lstio_tes_sgrp_nmlen + 1);
-       if (srcgrp == NULL)
+       LIBCFS_ALLOC(src_name, args->lstio_tes_sgrp_nmlen + 1);
+       if (src_name == NULL)
                goto out;
 
-       LIBCFS_ALLOC(dstgrp, args->lstio_tes_dgrp_nmlen + 1);
-        if (dstgrp == NULL)
+       LIBCFS_ALLOC(dst_name, args->lstio_tes_dgrp_nmlen + 1);
+        if (dst_name == NULL)
                goto out;
 
        if (args->lstio_tes_param != NULL) {
@@ -774,39 +774,37 @@ int lst_test_add_ioctl(lstio_test_args_t *args)
        }
 
        rc = -EFAULT;
-       if (copy_from_user(name,
-                             args->lstio_tes_bat_name,
-                             args->lstio_tes_bat_nmlen) ||
-           copy_from_user(srcgrp,
-                             args->lstio_tes_sgrp_name,
-                             args->lstio_tes_sgrp_nmlen) ||
-           copy_from_user(dstgrp,
-                             args->lstio_tes_dgrp_name,
-                             args->lstio_tes_dgrp_nmlen) ||
+       if (copy_from_user(batch_name, args->lstio_tes_bat_name,
+                          args->lstio_tes_bat_nmlen) ||
+           copy_from_user(src_name, args->lstio_tes_sgrp_name,
+                          args->lstio_tes_sgrp_nmlen) ||
+           copy_from_user(dst_name, args->lstio_tes_dgrp_name,
+                          args->lstio_tes_dgrp_nmlen) ||
            copy_from_user(param, args->lstio_tes_param,
                              args->lstio_tes_param_len))
                goto out;
 
-       rc = lstcon_test_add(name,
+       rc = lstcon_test_add(batch_name,
                            args->lstio_tes_type,
                            args->lstio_tes_loop,
                            args->lstio_tes_concur,
                            args->lstio_tes_dist, args->lstio_tes_span,
-                           srcgrp, dstgrp, param, args->lstio_tes_param_len,
+                           src_name, dst_name, param,
+                           args->lstio_tes_param_len,
                            &ret, args->lstio_tes_resultp);
 
        if (ret != 0)
                rc = (copy_to_user(args->lstio_tes_retp, &ret,
                                       sizeof(ret))) ? -EFAULT : 0;
 out:
-       if (name != NULL)
-               LIBCFS_FREE(name, args->lstio_tes_bat_nmlen + 1);
+       if (batch_name != NULL)
+               LIBCFS_FREE(batch_name, args->lstio_tes_bat_nmlen + 1);
 
-       if (srcgrp != NULL)
-               LIBCFS_FREE(srcgrp, args->lstio_tes_sgrp_nmlen + 1);
+       if (src_name != NULL)
+               LIBCFS_FREE(src_name, args->lstio_tes_sgrp_nmlen + 1);
 
-       if (dstgrp != NULL)
-               LIBCFS_FREE(dstgrp, args->lstio_tes_dgrp_nmlen + 1);
+       if (dst_name != NULL)
+               LIBCFS_FREE(dst_name, args->lstio_tes_dgrp_nmlen + 1);
 
        if (param != NULL)
                LIBCFS_FREE(param, args->lstio_tes_param_len);
index 9a52f25b72e90931053c7bf642789797ca522325..53d58924737ba13b7bbc8de4ccbb614f0a7f2b1e 100644 (file)
@@ -311,7 +311,7 @@ lstcon_rpc_trans_abort(lstcon_rpc_trans_t *trans, int error)
 
                sfw_abort_rpc(rpc);
 
-               if  (error != ETIMEDOUT)
+               if (error != ETIMEDOUT)
                        continue;
 
                nd = crpc->crp_node;
index f1152e4fbcc41972fd115517348344d2122b9aa2..9556bc0412d617cdbc69e18ba25203a9aceebfe0 100644 (file)
@@ -265,7 +265,7 @@ lstcon_group_decref(lstcon_group_t *grp)
 }
 
 static int
-lstcon_group_find(char *name, lstcon_group_t **grpp)
+lstcon_group_find(const char *name, lstcon_group_t **grpp)
 {
        lstcon_group_t   *grp;
 
@@ -831,7 +831,7 @@ lstcon_group_info(char *name, lstcon_ndlist_ent_t *gents_p,
 }
 
 int
-lstcon_batch_find(char *name, lstcon_batch_t **batpp)
+lstcon_batch_find(const char *name, lstcon_batch_t **batpp)
 {
        lstcon_batch_t   *bat;
 
@@ -1237,41 +1237,77 @@ again:
        goto again;
 }
 
-int
-lstcon_test_add(char *name, int type, int loop, int concur,
-               int dist, int span, char *src_name, char * dst_name,
-               void *param, int paramlen, int *retp,
-               struct list_head *result_up)
+static int
+lstcon_verify_batch(const char *name, lstcon_batch_t **batch)
 {
-       lstcon_group_t  *src_grp = NULL;
-       lstcon_group_t  *dst_grp = NULL;
-       lstcon_test_t   *test    = NULL;
-       lstcon_batch_t  *batch;
-       int           rc;
+       int rc;
 
-       rc = lstcon_batch_find(name, &batch);
+       rc = lstcon_batch_find(name, batch);
        if (rc != 0) {
                CDEBUG(D_NET, "Can't find batch %s\n", name);
                return rc;
        }
 
-       if (batch->bat_state != LST_BATCH_IDLE) {
+       if ((*batch)->bat_state != LST_BATCH_IDLE) {
                CDEBUG(D_NET, "Can't change running batch %s\n", name);
-               return rc;
+               return -EINVAL;
        }
 
-       rc = lstcon_group_find(src_name, &src_grp);
+       return 0;
+}
+
+static int
+lstcon_verify_group(const char *name, lstcon_group_t **grp)
+{
+       int                     rc;
+       lstcon_ndlink_t         *ndl;
+
+       rc = lstcon_group_find(name, grp);
        if (rc != 0) {
-               CDEBUG(D_NET, "Can't find group %s\n", src_name);
-               goto out;
+               CDEBUG(D_NET, "can't find group %s\n", name);
+               return rc;
        }
 
-       rc = lstcon_group_find(dst_name, &dst_grp);
-       if (rc != 0) {
-               CDEBUG(D_NET, "Can't find group %s\n", dst_name);
-               goto out;
+       list_for_each_entry(ndl, &(*grp)->grp_ndl_list, ndl_link) {
+               if (ndl->ndl_node->nd_state == LST_NODE_ACTIVE)
+                       return 0;
        }
 
+       CDEBUG(D_NET, "Group %s has no ACTIVE nodes\n", name);
+
+       return -EINVAL;
+}
+
+int
+lstcon_test_add(char *batch_name, int type, int loop,
+               int concur, int dist, int span,
+               char *src_name, char *dst_name,
+               void *param, int paramlen, int *retp,
+               struct list_head *result_up)
+{
+       lstcon_test_t    *test   = NULL;
+       int              rc;
+       lstcon_group_t   *src_grp = NULL;
+       lstcon_group_t   *dst_grp = NULL;
+       lstcon_batch_t   *batch = NULL;
+
+       /*
+        * verify that a batch of the given name exists, and the groups
+        * that will be part of the batch exist and have at least one
+        * active node
+        */
+       rc = lstcon_verify_batch(batch_name, &batch);
+       if (rc != 0)
+               goto out;
+
+       rc = lstcon_verify_group(src_name, &src_grp);
+       if (rc != 0)
+               goto out;
+
+       rc = lstcon_verify_group(dst_name, &dst_grp);
+       if (rc != 0)
+               goto out;
+
        if (dst_grp->grp_userland)
                *retp = 1;
 
@@ -1284,18 +1320,18 @@ lstcon_test_add(char *name, int type, int loop, int concur,
        }
 
        memset(test, 0, offsetof(lstcon_test_t, tes_param[paramlen]));
-       test->tes_hdr.tsb_id    = batch->bat_hdr.tsb_id;
-       test->tes_batch  = batch;
-       test->tes_type    = type;
-       test->tes_oneside       = 0; /* TODO */
-       test->tes_loop    = loop;
+       test->tes_hdr.tsb_id    = batch->bat_hdr.tsb_id;
+       test->tes_batch         = batch;
+       test->tes_type          = type;
+       test->tes_oneside       = 0; /* TODO */
+       test->tes_loop          = loop;
        test->tes_concur        = concur;
-       test->tes_stop_onerr    = 1; /* TODO */
-       test->tes_span    = span;
-       test->tes_dist    = dist;
+       test->tes_stop_onerr    = 1; /* TODO */
+       test->tes_span          = span;
+       test->tes_dist          = dist;
        test->tes_cliidx        = 0; /* just used for creating RPC */
-       test->tes_src_grp       = src_grp;
-       test->tes_dst_grp       = dst_grp;
+       test->tes_src_grp       = src_grp;
+       test->tes_dst_grp       = dst_grp;
        INIT_LIST_HEAD(&test->tes_trans_list);
 
        if (param != NULL) {
@@ -1310,7 +1346,8 @@ lstcon_test_add(char *name, int type, int loop, int concur,
 
        if (lstcon_trans_stat()->trs_rpc_errno != 0 ||
            lstcon_trans_stat()->trs_fwk_errno != 0)
-               CDEBUG(D_NET, "Failed to add test %d to batch %s\n", type, name);
+               CDEBUG(D_NET, "Failed to add test %d to batch %s\n", type,
+                      batch_name);
 
        /* add to test list anyway, so user can check what's going on */
        list_add_tail(&test->tes_link, &batch->bat_test_list);
index e61b26687dbb5793a42fea40f4b9fe106ffbf186..b57dbd80478a7a3e84cf70e67fb66607ba250506 100644 (file)
@@ -224,9 +224,9 @@ extern int lstcon_group_stat(char *grp_name, int timeout,
                             struct list_head *result_up);
 extern int lstcon_nodes_stat(int count, lnet_process_id_t *ids_up,
                             int timeout, struct list_head *result_up);
-extern int lstcon_test_add(char *name, int type, int loop, int concur,
-                          int dist, int span, char *src_name, char * dst_name,
+extern int lstcon_test_add(char *batch_name, int type, int loop,
+                          int concur, int dist, int span,
+                          char *src_name, char *dst_name,
                           void *param, int paramlen, int *retp,
                           struct list_head *result_up);
-
 #endif
index e47fd50b2a2ed53c1fa87226eb170e3a2d92c686..3191a398675d1d69bda59580ff85031e9cedd9a5 100644 (file)
@@ -504,10 +504,7 @@ static int __init fld_mod_init(void)
        fld_type_proc_dir = lprocfs_register(LUSTRE_FLD_NAME,
                                             proc_lustre_root,
                                             NULL, NULL);
-       if (IS_ERR(fld_type_proc_dir))
-               return PTR_ERR(fld_type_proc_dir);
-
-       return 0;
+       return PTR_ERR_OR_ZERO(fld_type_proc_dir);
 }
 
 static void __exit fld_mod_exit(void)
index c485206fc6c2207f1933a1cc4b19598c35a281bf..4d692dcd96cfb76b296e23c7c34f4f2f4c6b71c6 100644 (file)
@@ -2388,7 +2388,11 @@ struct cl_io {
         * Right now, only two opertaions need to verify layout: glimpse
         * and setattr.
         */
-                            ci_verify_layout:1;
+                            ci_verify_layout:1,
+       /**
+        * file is released, restore has to to be triggered by vvp layer
+        */
+                            ci_restore_needed:1;
        /**
         * Number of pages owned by this IO. For invariant checking.
         */
index b10ddfa7df29465cdb84613cf790d3b047623387..c491d52d86a238c0f7e0145f95728bc5893735d3 100644 (file)
@@ -52,8 +52,8 @@ struct lustre_intent_data {
 
 struct lookup_intent {
        int     it_op;
-       int     it_flags;
        int     it_create_mode;
+       __u64   it_flags;
        union {
                struct lustre_intent_data lustre;
        } d;
diff --git a/drivers/staging/lustre/lustre/include/lu_target.h b/drivers/staging/lustre/lustre/include/lu_target.h
deleted file mode 100644 (file)
index 8d48cf4..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * GPL HEADER START
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 only,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- * GPL HEADER END
- */
-/*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
- * Use is subject to license terms.
- *
- * Copyright (c) 2011, 2012, Intel Corporation.
- */
-/*
- * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
- */
-
-#ifndef _LUSTRE_LU_TARGET_H
-#define _LUSTRE_LU_TARGET_H
-
-#include <dt_object.h>
-#include <lustre_disk.h>
-
-struct lu_target {
-       struct obd_device       *lut_obd;
-       struct dt_device        *lut_bottom;
-       /** last_rcvd file */
-       struct dt_object        *lut_last_rcvd;
-       /* transaction callbacks */
-       struct dt_txn_callback   lut_txn_cb;
-       /** server data in last_rcvd file */
-       struct lr_server_data    lut_lsd;
-       /** Server last transaction number */
-       __u64               lut_last_transno;
-       /** Lock protecting last transaction number */
-       spinlock_t               lut_translock;
-       /** Lock protecting client bitmap */
-       spinlock_t               lut_client_bitmap_lock;
-       /** Bitmap of known clients */
-       unsigned long      *lut_client_bitmap;
-};
-
-typedef void (*tgt_cb_t)(struct lu_target *lut, __u64 transno,
-                        void *data, int err);
-struct tgt_commit_cb {
-       tgt_cb_t  tgt_cb_func;
-       void     *tgt_cb_data;
-};
-
-void tgt_boot_epoch_update(struct lu_target *lut);
-int tgt_last_commit_cb_add(struct thandle *th, struct lu_target *lut,
-                          struct obd_export *exp, __u64 transno);
-int tgt_new_client_cb_add(struct thandle *th, struct obd_export *exp);
-int tgt_init(const struct lu_env *env, struct lu_target *lut,
-            struct obd_device *obd, struct dt_device *dt);
-void tgt_fini(const struct lu_env *env, struct lu_target *lut);
-int tgt_client_alloc(struct obd_export *exp);
-void tgt_client_free(struct obd_export *exp);
-int tgt_client_del(const struct lu_env *env, struct obd_export *exp);
-int tgt_client_add(const struct lu_env *env, struct obd_export *exp, int);
-int tgt_client_new(const struct lu_env *env, struct obd_export *exp);
-int tgt_client_data_read(const struct lu_env *env, struct lu_target *tg,
-                        struct lsd_client_data *lcd, loff_t *off, int index);
-int tgt_client_data_write(const struct lu_env *env, struct lu_target *tg,
-                         struct lsd_client_data *lcd, loff_t *off, struct thandle *th);
-int tgt_server_data_read(const struct lu_env *env, struct lu_target *tg);
-int tgt_server_data_write(const struct lu_env *env, struct lu_target *tg,
-                         struct thandle *th);
-int tgt_server_data_update(const struct lu_env *env, struct lu_target *tg, int sync);
-int tgt_truncate_last_rcvd(const struct lu_env *env, struct lu_target *tg, loff_t off);
-
-#endif /* __LUSTRE_LU_TARGET_H */
diff --git a/drivers/staging/lustre/lustre/include/lustre/liblustreapi.h b/drivers/staging/lustre/lustre/include/lustre/liblustreapi.h
deleted file mode 100644 (file)
index 707eb74..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * GPL HEADER START
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 only,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- * GPL HEADER END
- */
-/*
- * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
- */
-
-/*
- * NOTE: This file is DEPRECATED!  Please include lustreapi.h directly
- * instead of this file.  This file will be removed from a future version
- * of lustre!
- */
-
-#ifndef _LIBLUSTREAPI_H_
-#define _LIBLUSTREAPI_H_
-
-#include <lustre/lustreapi.h>
-#warning "Including liblustreapi.h is deprecated. Include lustreapi.h directly."
-
-#endif
index 5ca18d01601429e5452bee9b1a839d7ce1df4bd3..4d8d8c34cd672a2985b943616a99cd261a762977 100644 (file)
@@ -1725,10 +1725,7 @@ static inline __u32 lov_mds_md_size(__u16 stripes, __u32 lmm_magic)
 #define OBD_MD_MDS      (0x0000000100000000ULL) /* where an inode lives on */
 #define OBD_MD_REINT       (0x0000000200000000ULL) /* reintegrate oa */
 #define OBD_MD_MEA      (0x0000000400000000ULL) /* CMD split EA  */
-
-/* OBD_MD_MDTIDX is used to get MDT index, but it is never been used overwire,
- * and it is already obsolete since 2.3 */
-/* #define OBD_MD_MDTIDX      (0x0000000800000000ULL) */
+#define OBD_MD_TSTATE      (0x0000000800000000ULL) /* transient state field */
 
 #define OBD_MD_FLXATTR       (0x0000001000000000ULL) /* xattr */
 #define OBD_MD_FLXATTRLS     (0x0000002000000000ULL) /* xattr list */
@@ -2120,6 +2117,7 @@ extern void lustre_swab_generic_32s (__u32 *val);
 #define DISP_ENQ_OPEN_REF    0x00800000
 #define DISP_ENQ_CREATE_REF  0x01000000
 #define DISP_OPEN_LOCK       0x02000000
+#define DISP_OPEN_LEASE      0x04000000
 
 /* INODE LOCK PARTS */
 #define MDS_INODELOCK_LOOKUP 0x000001       /* dentry, mode, owner, group */
@@ -2207,6 +2205,11 @@ static inline int ll_inode_to_ext_flags(int iflags)
                ((iflags & S_IMMUTABLE) ? LUSTRE_IMMUTABLE_FL : 0));
 }
 
+/* 64 possible states */
+enum md_transient_state {
+       MS_RESTORE      = (1 << 0),     /* restore is running */
+};
+
 struct mdt_body {
        struct lu_fid  fid1;
        struct lu_fid  fid2;
@@ -2218,7 +2221,9 @@ struct mdt_body {
        obd_time        ctime;
        __u64     blocks; /* XID, in the case of MDS_READPAGE */
        __u64     ioepoch;
-       __u64          unused1; /* was "ino" until 2.4.0 */
+       __u64          t_state; /* transient file state defined in
+                                * enum md_transient_state
+                                * was "ino" until 2.4.0 */
        __u32     fsuid;
        __u32     fsgid;
        __u32     capability;
@@ -2373,6 +2378,10 @@ extern void lustre_swab_mdt_rec_setattr (struct mdt_rec_setattr *sa);
                                              * hsm restore) */
 #define MDS_OPEN_VOLATILE   0400000000000ULL /* File is volatile = created
                                                unlinked */
+#define MDS_OPEN_LEASE    01000000000000ULL /* Open the file and grant lease
+                                             * delegation, succeed if it's not
+                                             * being opened with conflict mode.
+                                             */
 
 /* permission for create non-directory file */
 #define MAY_CREATE      (1 << 7)
index c7bd4473a1d0fab2e38591d814cbb6e34dfaa6fe..9fd1d3ba2a63a82c33a5377a9042affbd9cde137 100644 (file)
@@ -245,6 +245,9 @@ struct ost_id {
 #define LL_IOC_LMV_GETSTRIPE       _IOWR('f', 241, struct lmv_user_md)
 #define LL_IOC_REMOVE_ENTRY        _IOWR('f', 242, __u64)
 
+#define LL_IOC_SET_LEASE               _IOWR('f', 243, long)
+#define LL_IOC_GET_LEASE               _IO('f', 244)
+
 #define LL_STATFS_LMV     1
 #define LL_STATFS_LOV     2
 #define LL_STATFS_NODELAY      4
diff --git a/drivers/staging/lustre/lustre/include/lustre/lustreapi.h b/drivers/staging/lustre/lustre/include/lustre/lustreapi.h
deleted file mode 100644 (file)
index 63da665..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * GPL HEADER START
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 only,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- * GPL HEADER END
- */
-/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
- * Use is subject to license terms.
- *
- * Copyright (c) 2011, 2012, Whamcloud, Inc.
- */
-/*
- * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
- */
-
-#ifndef _LUSTREAPI_H_
-#define _LUSTREAPI_H_
-
-/** \defgroup llapi llapi
- *
- * @{
- */
-
-#include <lustre/lustre_user.h>
-
-typedef void (*llapi_cb_t)(char *obd_type_name, char *obd_name, char *obd_uuid, void *args);
-
-/* lustreapi message severity level */
-enum llapi_message_level {
-       LLAPI_MSG_OFF    = 0,
-       LLAPI_MSG_FATAL  = 1,
-       LLAPI_MSG_ERROR  = 2,
-       LLAPI_MSG_WARN   = 3,
-       LLAPI_MSG_NORMAL = 4,
-       LLAPI_MSG_INFO   = 5,
-       LLAPI_MSG_DEBUG  = 6,
-       LLAPI_MSG_MAX
-};
-
-/* the bottom three bits reserved for llapi_message_level */
-#define LLAPI_MSG_MASK   0x00000007
-#define LLAPI_MSG_NO_ERRNO      0x00000010
-
-extern void llapi_msg_set_level(int level);
-extern void llapi_error(int level, int rc, char *fmt, ...);
-#define llapi_err_noerrno(level, fmt, a...)                         \
-       llapi_error((level) | LLAPI_MSG_NO_ERRNO, 0, fmt, ## a)
-extern void llapi_printf(int level, char *fmt, ...);
-extern int llapi_file_create(const char *name, unsigned long long stripe_size,
-                            int stripe_offset, int stripe_count,
-                            int stripe_pattern);
-extern int llapi_file_open(const char *name, int flags, int mode,
-                          unsigned long long stripe_size, int stripe_offset,
-                          int stripe_count, int stripe_pattern);
-extern int llapi_file_create_pool(const char *name,
-                                 unsigned long long stripe_size,
-                                 int stripe_offset, int stripe_count,
-                                 int stripe_pattern, char *pool_name);
-extern int llapi_file_open_pool(const char *name, int flags, int mode,
-                               unsigned long long stripe_size,
-                               int stripe_offset, int stripe_count,
-                               int stripe_pattern, char *pool_name);
-extern int llapi_poollist(const char *name);
-extern int llapi_get_poollist(const char *name, char **poollist, int list_size,
-                             char *buffer, int buffer_size);
-extern int llapi_get_poolmembers(const char *poolname, char **members,
-                                int list_size, char *buffer, int buffer_size);
-extern int llapi_file_get_stripe(const char *path, struct lov_user_md *lum);
-#define HAVE_LLAPI_FILE_LOOKUP
-extern int llapi_file_lookup(int dirfd, const char *name);
-
-#define VERBOSE_COUNT      0x1
-#define VERBOSE_SIZE       0x2
-#define VERBOSE_OFFSET     0x4
-#define VERBOSE_POOL       0x8
-#define VERBOSE_DETAIL     0x10
-#define VERBOSE_OBJID      0x20
-#define VERBOSE_GENERATION 0x40
-#define VERBOSE_MDTINDEX   0x80
-#define VERBOSE_ALL    (VERBOSE_COUNT | VERBOSE_SIZE | VERBOSE_OFFSET | \
-                           VERBOSE_POOL | VERBOSE_OBJID | VERBOSE_GENERATION)
-
-struct find_param {
-       unsigned int maxdepth;
-       time_t  atime;
-       time_t  mtime;
-       time_t  ctime;
-       int     asign;  /* cannot be bitfields due to using pointers to */
-       int     csign;  /* access them during argument parsing. */
-       int     msign;
-       int     type;
-       int          size_sign:2,       /* these need to be signed values */
-                       stripesize_sign:2,
-                       stripecount_sign:2;
-       unsigned long long size;
-       unsigned long long size_units;
-       uid_t uid;
-       gid_t gid;
-
-       unsigned long   zeroend:1,
-                       recursive:1,
-                       exclude_pattern:1,
-                       exclude_type:1,
-                       exclude_obd:1,
-                       exclude_mdt:1,
-                       exclude_gid:1,
-                       exclude_uid:1,
-                       check_gid:1,        /* group ID */
-                       check_uid:1,        /* user ID */
-                       check_pool:1,      /* LOV pool name */
-                       check_size:1,      /* file size */
-                       exclude_pool:1,
-                       exclude_size:1,
-                       exclude_atime:1,
-                       exclude_mtime:1,
-                       exclude_ctime:1,
-                       get_lmv:1,            /* get MDT list from LMV */
-                       raw:1,            /* do not fill in defaults */
-                       check_stripesize:1,     /* LOV stripe size */
-                       exclude_stripesize:1,
-                       check_stripecount:1,    /* LOV stripe count */
-                       exclude_stripecount:1;
-
-       int     verbose;
-       int     quiet;
-
-       /* regular expression */
-       char   *pattern;
-
-       char   *print_fmt;
-
-       struct  obd_uuid       *obduuid;
-       int                  num_obds;
-       int                  num_alloc_obds;
-       int                  obdindex;
-       int                 *obdindexes;
-
-       struct  obd_uuid       *mdtuuid;
-       int                  num_mdts;
-       int                  num_alloc_mdts;
-       int                  mdtindex;
-       int                 *mdtindexes;
-       int                  file_mdtindex;
-
-       int     lumlen;
-       struct  lov_user_mds_data *lmd;
-
-       char poolname[LOV_MAXPOOLNAME + 1];
-
-       int                     fp_lmv_count;
-       struct lmv_user_md      *fp_lmv_md;
-
-       unsigned long long stripesize;
-       unsigned long long stripesize_units;
-       unsigned long long stripecount;
-
-       /* In-process parameters. */
-       unsigned long   got_uuids:1,
-                       obds_printed:1,
-                       have_fileinfo:1;        /* file attrs and LOV xattr */
-       unsigned int    depth;
-       dev_t      st_dev;
-};
-
-extern int llapi_ostlist(char *path, struct find_param *param);
-extern int llapi_uuid_match(char *real_uuid, char *search_uuid);
-extern int llapi_getstripe(char *path, struct find_param *param);
-extern int llapi_find(char *path, struct find_param *param);
-
-extern int llapi_file_fget_mdtidx(int fd, int *mdtidx);
-extern int llapi_dir_create_pool(const char *name, int flags, int stripe_offset,
-                                int stripe_count, int stripe_pattern,
-                                char *poolname);
-int llapi_direntry_remove(char *dname);
-extern int llapi_obd_statfs(char *path, __u32 type, __u32 index,
-                    struct obd_statfs *stat_buf,
-                    struct obd_uuid *uuid_buf);
-extern int llapi_ping(char *obd_type, char *obd_name);
-extern int llapi_target_check(int num_types, char **obd_types, char *dir);
-extern int llapi_file_get_lov_uuid(const char *path, struct obd_uuid *lov_uuid);
-extern int llapi_file_get_lmv_uuid(const char *path, struct obd_uuid *lmv_uuid);
-extern int llapi_file_fget_lov_uuid(int fd, struct obd_uuid *lov_uuid);
-extern int llapi_lov_get_uuids(int fd, struct obd_uuid *uuidp, int *ost_count);
-extern int llapi_lmv_get_uuids(int fd, struct obd_uuid *uuidp, int *mdt_count);
-extern int llapi_is_lustre_mnttype(const char *type);
-extern int llapi_search_ost(char *fsname, char *poolname, char *ostname);
-extern int llapi_get_obd_count(char *mnt, int *count, int is_mdt);
-extern int parse_size(char *optarg, unsigned long long *size,
-                     unsigned long long *size_units, int bytes_spec);
-extern int llapi_search_mounts(const char *pathname, int index,
-                              char *mntdir, char *fsname);
-extern int llapi_search_fsname(const char *pathname, char *fsname);
-extern int llapi_getname(const char *path, char *buf, size_t size);
-
-extern void llapi_ping_target(char *obd_type, char *obd_name,
-                             char *obd_uuid, void *args);
-
-extern int llapi_search_rootpath(char *pathname, const char *fsname);
-
-struct mntent;
-#define HAVE_LLAPI_IS_LUSTRE_MNT
-extern int llapi_is_lustre_mnt(struct mntent *mnt);
-extern int llapi_quotachown(char *path, int flag);
-extern int llapi_quotacheck(char *mnt, int check_type);
-extern int llapi_poll_quotacheck(char *mnt, struct if_quotacheck *qchk);
-extern int llapi_quotactl(char *mnt, struct if_quotactl *qctl);
-extern int llapi_target_iterate(int type_num, char **obd_type, void *args,
-                               llapi_cb_t cb);
-extern int llapi_get_connect_flags(const char *mnt, __u64 *flags);
-extern int llapi_lsetfacl(int argc, char *argv[]);
-extern int llapi_lgetfacl(int argc, char *argv[]);
-extern int llapi_rsetfacl(int argc, char *argv[]);
-extern int llapi_rgetfacl(int argc, char *argv[]);
-extern int llapi_cp(int argc, char *argv[]);
-extern int llapi_ls(int argc, char *argv[]);
-extern int llapi_fid2path(const char *device, const char *fidstr, char *path,
-                         int pathlen, long long *recno, int *linkno);
-extern int llapi_path2fid(const char *path, lustre_fid *fid);
-extern int llapi_fd2fid(const int fd, lustre_fid *fid);
-
-extern int llapi_get_version(char *buffer, int buffer_size, char **version);
-extern int llapi_get_data_version(int fd, __u64 *data_version, __u64 flags);
-extern int llapi_hsm_state_get(const char *path, struct hsm_user_state *hus);
-extern int llapi_hsm_state_set(const char *path, __u64 setmask, __u64 clearmask,
-                              __u32 archive_id);
-
-extern int llapi_create_volatile_idx(char *directory, int idx, int mode);
-static inline int llapi_create_volatile(char *directory, int mode)
-{
-       return llapi_create_volatile_idx(directory, -1, mode);
-}
-
-
-extern int llapi_fswap_layouts(const int fd1, const int fd2,
-                              __u64 dv1, __u64 dv2, __u64 flags);
-extern int llapi_swap_layouts(const char *path1, const char *path2,
-                             __u64 dv1, __u64 dv2, __u64 flags);
-
-/* Changelog interface.  priv is private state, managed internally
-   by these functions */
-#define CHANGELOG_FLAG_FOLLOW 0x01   /* Not yet implemented */
-#define CHANGELOG_FLAG_BLOCK  0x02   /* Blocking IO makes sense in case of
-   slow user parsing of the records, but it also prevents us from cleaning
-   up if the records are not consumed. */
-
-/* Records received are in extentded format now, though most of them are still
- * written in disk in changelog_rec format (to save space and time), it's
- * converted to extented format in the lustre api to ease changelog analysis. */
-#define HAVE_CHANGELOG_EXTEND_REC 1
-
-extern int llapi_changelog_start(void **priv, int flags, const char *mdtname,
-                                long long startrec);
-extern int llapi_changelog_fini(void **priv);
-extern int llapi_changelog_recv(void *priv, struct changelog_ext_rec **rech);
-extern int llapi_changelog_free(struct changelog_ext_rec **rech);
-/* Allow records up to endrec to be destroyed; requires registered id. */
-extern int llapi_changelog_clear(const char *mdtname, const char *idstr,
-                                long long endrec);
-
-/* HSM copytool interface.
- * priv is private state, managed internally by these functions
- */
-struct hsm_copytool_private;
-extern int llapi_hsm_copytool_start(struct hsm_copytool_private **priv,
-                                   char *fsname, int flags,
-                                   int archive_count, int *archives);
-extern int llapi_hsm_copytool_fini(struct hsm_copytool_private **priv);
-extern int llapi_hsm_copytool_recv(struct hsm_copytool_private *priv,
-                                  struct hsm_action_list **hal, int *msgsize);
-extern int llapi_hsm_copytool_free(struct hsm_action_list **hal);
-extern int llapi_hsm_copy_start(char *mnt, struct hsm_copy *copy,
-                               const struct hsm_action_item *hai);
-extern int llapi_hsm_copy_end(char *mnt, struct hsm_copy *copy,
-                             const struct hsm_progress *hp);
-extern int llapi_hsm_progress(char *mnt, struct hsm_progress *hp);
-extern int llapi_hsm_import(const char *dst, int archive, struct stat *st,
-                           unsigned long long stripe_size, int stripe_offset,
-                           int stripe_count, int stripe_pattern,
-                           char *pool_name, lustre_fid *newfid);
-
-/* HSM user interface */
-extern struct hsm_user_request *llapi_hsm_user_request_alloc(int itemcount,
-                                                            int data_len);
-extern int llapi_hsm_request(char *mnt, struct hsm_user_request *request);
-extern int llapi_hsm_current_action(const char *path,
-                                   struct hsm_current_action *hca);
-/** @} llapi */
-
-#endif
index 8c34d9d4d2587b59d635c1f4bc7604f80f066b91..75716f17f64bedc927f80d6e5225924d58e6cc86 100644 (file)
@@ -35,7 +35,7 @@
 #ifndef LDLM_ALL_FLAGS_MASK
 
 /** l_flags bits marked as "all_flags" bits */
-#define LDLM_FL_ALL_FLAGS_MASK          0x007FFFFFC08F132FULL
+#define LDLM_FL_ALL_FLAGS_MASK          0x00FFFFFFC08F132FULL
 
 /** l_flags bits marked as "ast" bits */
 #define LDLM_FL_AST_MASK                0x0000000080000000ULL
@@ -53,7 +53,7 @@
 #define LDLM_FL_INHERIT_MASK            0x0000000000800000ULL
 
 /** l_flags bits marked as "local_only" bits */
-#define LDLM_FL_LOCAL_ONLY_MASK         0x007FFFFF00000000ULL
+#define LDLM_FL_LOCAL_ONLY_MASK         0x00FFFFFF00000000ULL
 
 /** l_flags bits marked as "on_wire" bits */
 #define LDLM_FL_ON_WIRE_MASK            0x00000000C08F132FULL
 #define ldlm_set_ns_srv(_l)             LDLM_SET_FLAG((  _l), 1ULL << 54)
 #define ldlm_clear_ns_srv(_l)           LDLM_CLEAR_FLAG((_l), 1ULL << 54)
 
+/** Flag whether this lock can be reused. Used by exclusive open. */
+#define LDLM_FL_EXCL                    0x0080000000000000ULL /* bit  55 */
+#define ldlm_is_excl(_l)                LDLM_TEST_FLAG((_l), 1ULL << 55)
+#define ldlm_set_excl(_l)               LDLM_SET_FLAG((_l), 1ULL << 55)
+#define ldlm_clear_excl(_l)             LDLM_CLEAR_FLAG((_l), 1ULL << 55)
+
 /** test for ldlm_lock flag bit set */
 #define LDLM_TEST_FLAG(_l, _b)        (((_l)->l_flags & (_b)) != 0)
 
@@ -414,47 +420,49 @@ static int hf_lustre_ldlm_fl_server_lock         = -1;
 static int hf_lustre_ldlm_fl_res_locked          = -1;
 static int hf_lustre_ldlm_fl_waited              = -1;
 static int hf_lustre_ldlm_fl_ns_srv              = -1;
+static int hf_lustre_ldlm_fl_excl                = -1;
 
 const value_string lustre_ldlm_flags_vals[] = {
-  {LDLM_FL_LOCK_CHANGED,        "LDLM_FL_LOCK_CHANGED"},
-  {LDLM_FL_BLOCK_GRANTED,       "LDLM_FL_BLOCK_GRANTED"},
-  {LDLM_FL_BLOCK_CONV,          "LDLM_FL_BLOCK_CONV"},
-  {LDLM_FL_BLOCK_WAIT,          "LDLM_FL_BLOCK_WAIT"},
-  {LDLM_FL_AST_SENT,            "LDLM_FL_AST_SENT"},
-  {LDLM_FL_REPLAY,              "LDLM_FL_REPLAY"},
-  {LDLM_FL_INTENT_ONLY,         "LDLM_FL_INTENT_ONLY"},
-  {LDLM_FL_HAS_INTENT,          "LDLM_FL_HAS_INTENT"},
-  {LDLM_FL_DISCARD_DATA,        "LDLM_FL_DISCARD_DATA"},
-  {LDLM_FL_NO_TIMEOUT,          "LDLM_FL_NO_TIMEOUT"},
-  {LDLM_FL_BLOCK_NOWAIT,        "LDLM_FL_BLOCK_NOWAIT"},
-  {LDLM_FL_TEST_LOCK,           "LDLM_FL_TEST_LOCK"},
-  {LDLM_FL_CANCEL_ON_BLOCK,     "LDLM_FL_CANCEL_ON_BLOCK"},
-  {LDLM_FL_DENY_ON_CONTENTION,  "LDLM_FL_DENY_ON_CONTENTION"},
-  {LDLM_FL_AST_DISCARD_DATA,    "LDLM_FL_AST_DISCARD_DATA"},
-  {LDLM_FL_FAIL_LOC,            "LDLM_FL_FAIL_LOC"},
-  {LDLM_FL_SKIPPED,             "LDLM_FL_SKIPPED"},
-  {LDLM_FL_CBPENDING,           "LDLM_FL_CBPENDING"},
-  {LDLM_FL_WAIT_NOREPROC,       "LDLM_FL_WAIT_NOREPROC"},
-  {LDLM_FL_CANCEL,              "LDLM_FL_CANCEL"},
-  {LDLM_FL_LOCAL_ONLY,          "LDLM_FL_LOCAL_ONLY"},
-  {LDLM_FL_FAILED,              "LDLM_FL_FAILED"},
-  {LDLM_FL_CANCELING,           "LDLM_FL_CANCELING"},
-  {LDLM_FL_LOCAL,               "LDLM_FL_LOCAL"},
-  {LDLM_FL_LVB_READY,           "LDLM_FL_LVB_READY"},
-  {LDLM_FL_KMS_IGNORE,          "LDLM_FL_KMS_IGNORE"},
-  {LDLM_FL_CP_REQD,             "LDLM_FL_CP_REQD"},
-  {LDLM_FL_CLEANED,             "LDLM_FL_CLEANED"},
-  {LDLM_FL_ATOMIC_CB,           "LDLM_FL_ATOMIC_CB"},
-  {LDLM_FL_BL_AST,              "LDLM_FL_BL_AST"},
-  {LDLM_FL_BL_DONE,             "LDLM_FL_BL_DONE"},
-  {LDLM_FL_NO_LRU,              "LDLM_FL_NO_LRU"},
-  {LDLM_FL_FAIL_NOTIFIED,       "LDLM_FL_FAIL_NOTIFIED"},
-  {LDLM_FL_DESTROYED,           "LDLM_FL_DESTROYED"},
-  {LDLM_FL_SERVER_LOCK,         "LDLM_FL_SERVER_LOCK"},
-  {LDLM_FL_RES_LOCKED,          "LDLM_FL_RES_LOCKED"},
-  {LDLM_FL_WAITED,              "LDLM_FL_WAITED"},
-  {LDLM_FL_NS_SRV,              "LDLM_FL_NS_SRV"},
-  { 0, NULL }
+       {LDLM_FL_LOCK_CHANGED,        "LDLM_FL_LOCK_CHANGED"},
+       {LDLM_FL_BLOCK_GRANTED,       "LDLM_FL_BLOCK_GRANTED"},
+       {LDLM_FL_BLOCK_CONV,          "LDLM_FL_BLOCK_CONV"},
+       {LDLM_FL_BLOCK_WAIT,          "LDLM_FL_BLOCK_WAIT"},
+       {LDLM_FL_AST_SENT,            "LDLM_FL_AST_SENT"},
+       {LDLM_FL_REPLAY,              "LDLM_FL_REPLAY"},
+       {LDLM_FL_INTENT_ONLY,         "LDLM_FL_INTENT_ONLY"},
+       {LDLM_FL_HAS_INTENT,          "LDLM_FL_HAS_INTENT"},
+       {LDLM_FL_DISCARD_DATA,        "LDLM_FL_DISCARD_DATA"},
+       {LDLM_FL_NO_TIMEOUT,          "LDLM_FL_NO_TIMEOUT"},
+       {LDLM_FL_BLOCK_NOWAIT,        "LDLM_FL_BLOCK_NOWAIT"},
+       {LDLM_FL_TEST_LOCK,           "LDLM_FL_TEST_LOCK"},
+       {LDLM_FL_CANCEL_ON_BLOCK,     "LDLM_FL_CANCEL_ON_BLOCK"},
+       {LDLM_FL_DENY_ON_CONTENTION,  "LDLM_FL_DENY_ON_CONTENTION"},
+       {LDLM_FL_AST_DISCARD_DATA,    "LDLM_FL_AST_DISCARD_DATA"},
+       {LDLM_FL_FAIL_LOC,            "LDLM_FL_FAIL_LOC"},
+       {LDLM_FL_SKIPPED,             "LDLM_FL_SKIPPED"},
+       {LDLM_FL_CBPENDING,           "LDLM_FL_CBPENDING"},
+       {LDLM_FL_WAIT_NOREPROC,       "LDLM_FL_WAIT_NOREPROC"},
+       {LDLM_FL_CANCEL,              "LDLM_FL_CANCEL"},
+       {LDLM_FL_LOCAL_ONLY,          "LDLM_FL_LOCAL_ONLY"},
+       {LDLM_FL_FAILED,              "LDLM_FL_FAILED"},
+       {LDLM_FL_CANCELING,           "LDLM_FL_CANCELING"},
+       {LDLM_FL_LOCAL,               "LDLM_FL_LOCAL"},
+       {LDLM_FL_LVB_READY,           "LDLM_FL_LVB_READY"},
+       {LDLM_FL_KMS_IGNORE,          "LDLM_FL_KMS_IGNORE"},
+       {LDLM_FL_CP_REQD,             "LDLM_FL_CP_REQD"},
+       {LDLM_FL_CLEANED,             "LDLM_FL_CLEANED"},
+       {LDLM_FL_ATOMIC_CB,           "LDLM_FL_ATOMIC_CB"},
+       {LDLM_FL_BL_AST,              "LDLM_FL_BL_AST"},
+       {LDLM_FL_BL_DONE,             "LDLM_FL_BL_DONE"},
+       {LDLM_FL_NO_LRU,              "LDLM_FL_NO_LRU"},
+       {LDLM_FL_FAIL_NOTIFIED,       "LDLM_FL_FAIL_NOTIFIED"},
+       {LDLM_FL_DESTROYED,           "LDLM_FL_DESTROYED"},
+       {LDLM_FL_SERVER_LOCK,         "LDLM_FL_SERVER_LOCK"},
+       {LDLM_FL_RES_LOCKED,          "LDLM_FL_RES_LOCKED"},
+       {LDLM_FL_WAITED,              "LDLM_FL_WAITED"},
+       {LDLM_FL_NS_SRV,              "LDLM_FL_NS_SRV"},
+       {LDLM_FL_EXCL,                "LDLM_FL_EXCL"},
+       { 0, NULL }
 };
 #endif /*  WIRESHARK_COMPILE */
 #endif /* LDLM_ALL_FLAGS_MASK */
index 5e11107d4c66d99816d39faef66b6ef94b105426..609a090484a65a9e9d0b39b90dd598111316e993 100644 (file)
@@ -81,11 +81,12 @@ struct client_obd *client_conn2cli(struct lustre_handle *conn);
 
 struct md_open_data;
 struct obd_client_handle {
-       struct lustre_handle  och_fh;
-       struct lu_fid    och_fid;
-       struct md_open_data  *och_mod;
-       __u32 och_magic;
-       int och_flags;
+       struct lustre_handle     och_fh;
+       struct lu_fid            och_fid;
+       struct md_open_data     *och_mod;
+       struct lustre_handle     och_lease_handle; /* open lock for lease */
+       __u32                    och_magic;
+       fmode_t                  och_flags;
 };
 #define OBD_CLIENT_HANDLE_MAGIC 0xd15ea5ed
 
index 72edf01b58a21e3b0c36b99f8399d1ba1f7ca26d..91f28e363be2922399743b5758581d6b5f8dd26e 100644 (file)
@@ -3470,15 +3470,6 @@ static inline void ptlrpc_lprocfs_brw(struct ptlrpc_request *req, int bytes) {}
 #endif
 /** @} */
 
-/* ptlrpc/llog_server.c */
-int llog_origin_handle_open(struct ptlrpc_request *req);
-int llog_origin_handle_destroy(struct ptlrpc_request *req);
-int llog_origin_handle_prev_block(struct ptlrpc_request *req);
-int llog_origin_handle_next_block(struct ptlrpc_request *req);
-int llog_origin_handle_read_header(struct ptlrpc_request *req);
-int llog_origin_handle_close(struct ptlrpc_request *req);
-int llog_origin_handle_cancel(struct ptlrpc_request *req);
-
 /* ptlrpc/llog_client.c */
 extern struct llog_operations llog_client_ops;
 
index e60c04d5393abaf6bf51ac3834adaf274d432d45..1c628e32575025c0c19f3a35c4a3be356628bc6a 100644 (file)
@@ -1006,6 +1006,12 @@ again:
        cl_io_fini(env, io);
        if (unlikely(io->ci_need_restart))
                goto again;
+       /* HSM import case: file is released, cannot be restored
+        * no need to fail except if restore registration failed
+        * with -ENODATA */
+       if (result == -ENODATA && io->ci_restore_needed &&
+           io->ci_result != -ENODATA)
+               result = 0;
        cl_env_put(env, &refcheck);
        return result;
 }
index 3900a69742fc5bc84b4b1ba99949a88ac2c99cc3..ef826e90df03b6e0391e8bf4cb9366b7fba2c39c 100644 (file)
@@ -1129,6 +1129,11 @@ static struct ldlm_lock *search_queue(struct list_head *queue,
                if (lock == old_lock)
                        break;
 
+               /* Check if this lock can be matched.
+                * Used by LU-2919(exclusive open) for open lease lock */
+               if (ldlm_is_excl(lock))
+                       continue;
+
                /* llite sometimes wants to match locks that will be
                 * canceled when their users drop, but we allow it to match
                 * if it passes in CBPENDING and the lock still has users.
index fde9bcd1d48dfbe73c35cb1cfb21445412ea2c79..40c58b7ae2ffafa8eadc421f675a9e98ed762d1f 100644 (file)
@@ -597,45 +597,6 @@ static int ldlm_callback_handler(struct ptlrpc_request *req)
                rc = ldlm_handle_setinfo(req);
                ldlm_callback_reply(req, rc);
                return 0;
-       case OBD_LOG_CANCEL: /* remove this eventually - for 1.4.0 compat */
-               CERROR("shouldn't be handling OBD_LOG_CANCEL on DLM thread\n");
-               req_capsule_set(&req->rq_pill, &RQF_LOG_CANCEL);
-               if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LOG_CANCEL_NET))
-                       return 0;
-               rc = llog_origin_handle_cancel(req);
-               if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LOG_CANCEL_REP))
-                       return 0;
-               ldlm_callback_reply(req, rc);
-               return 0;
-       case LLOG_ORIGIN_HANDLE_CREATE:
-               req_capsule_set(&req->rq_pill, &RQF_LLOG_ORIGIN_HANDLE_CREATE);
-               if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LOGD_NET))
-                       return 0;
-               rc = llog_origin_handle_open(req);
-               ldlm_callback_reply(req, rc);
-               return 0;
-       case LLOG_ORIGIN_HANDLE_NEXT_BLOCK:
-               req_capsule_set(&req->rq_pill,
-                               &RQF_LLOG_ORIGIN_HANDLE_NEXT_BLOCK);
-               if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LOGD_NET))
-                       return 0;
-               rc = llog_origin_handle_next_block(req);
-               ldlm_callback_reply(req, rc);
-               return 0;
-       case LLOG_ORIGIN_HANDLE_READ_HEADER:
-               req_capsule_set(&req->rq_pill,
-                               &RQF_LLOG_ORIGIN_HANDLE_READ_HEADER);
-               if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LOGD_NET))
-                       return 0;
-               rc = llog_origin_handle_read_header(req);
-               ldlm_callback_reply(req, rc);
-               return 0;
-       case LLOG_ORIGIN_HANDLE_CLOSE:
-               if (OBD_FAIL_CHECK(OBD_FAIL_OBD_LOGD_NET))
-                       return 0;
-               rc = llog_origin_handle_close(req);
-               ldlm_callback_reply(req, rc);
-               return 0;
        case OBD_QC_CALLBACK:
                req_capsule_set(&req->rq_pill, &RQF_QC_CALLBACK);
                if (OBD_FAIL_CHECK(OBD_FAIL_OBD_QC_CALLBACK_NET))
index dcc2784031367c0cd5187c2e3891f05be79957cd..1ddcca34bb797cb18aefd8a186ed0e02be3a024f 100644 (file)
@@ -610,18 +610,12 @@ int ldlm_cli_enqueue_fini(struct obd_export *exp, struct ptlrpc_request *req,
                        lock->l_req_mode = newmode;
                }
 
-               if (memcmp(reply->lock_desc.l_resource.lr_name.name,
-                         lock->l_resource->lr_name.name,
-                         sizeof(struct ldlm_res_id))) {
-                       CDEBUG(D_INFO, "remote intent success, locking "
-                                       "(%ld,%ld,%ld) instead of "
-                                       "(%ld,%ld,%ld)\n",
-                             (long)reply->lock_desc.l_resource.lr_name.name[0],
-                             (long)reply->lock_desc.l_resource.lr_name.name[1],
-                             (long)reply->lock_desc.l_resource.lr_name.name[2],
-                             (long)lock->l_resource->lr_name.name[0],
-                             (long)lock->l_resource->lr_name.name[1],
-                             (long)lock->l_resource->lr_name.name[2]);
+               if (!ldlm_res_eq(&reply->lock_desc.l_resource.lr_name,
+                                &lock->l_resource->lr_name)) {
+                       CDEBUG(D_INFO, "remote intent success, locking "DLDLMRES
+                                      " instead of "DLDLMRES"\n",
+                              PLDLMRES(&reply->lock_desc.l_resource),
+                              PLDLMRES(lock->l_resource));
 
                        rc = ldlm_lock_change_resource(ns, lock,
                                        &reply->lock_desc.l_resource.lr_name);
@@ -910,7 +904,7 @@ int ldlm_cli_enqueue(struct obd_export *exp, struct ptlrpc_request **reqp,
        lock->l_conn_export = exp;
        lock->l_export = NULL;
        lock->l_blocking_ast = einfo->ei_cb_bl;
-       lock->l_flags |= (*flags & LDLM_FL_NO_LRU);
+       lock->l_flags |= (*flags & (LDLM_FL_NO_LRU | LDLM_FL_EXCL));
 
        /* lock not sent to server yet */
 
@@ -1333,7 +1327,7 @@ int ldlm_cli_cancel(struct lustre_handle *lockh,
        }
 
        rc = ldlm_cli_cancel_local(lock);
-       if (rc == LDLM_FL_LOCAL_ONLY) {
+       if (rc == LDLM_FL_LOCAL_ONLY || cancel_flags & LCF_LOCAL) {
                LDLM_LOCK_RELEASE(lock);
                return 0;
        }
@@ -1912,7 +1906,8 @@ int ldlm_cli_cancel_unused_resource(struct ldlm_namespace *ns,
                                           0, flags | LCF_BL_AST, opaque);
        rc = ldlm_cli_cancel_list(&cancels, count, NULL, flags);
        if (rc != ELDLM_OK)
-               CERROR("ldlm_cli_cancel_unused_resource: %d\n", rc);
+               CERROR("canceling unused lock "DLDLMRES": rc = %d\n",
+                      PLDLMRES(res), rc);
 
        LDLM_RESOURCE_DELREF(res);
        ldlm_resource_putref(res);
@@ -1930,15 +1925,10 @@ static int ldlm_cli_hash_cancel_unused(struct cfs_hash *hs, struct cfs_hash_bd *
 {
        struct ldlm_resource       *res = cfs_hash_object(hs, hnode);
        struct ldlm_cli_cancel_arg     *lc = arg;
-       int                          rc;
 
-       rc = ldlm_cli_cancel_unused_resource(ldlm_res_to_ns(res), &res->lr_name,
-                                            NULL, LCK_MINMODE,
-                                            lc->lc_flags, lc->lc_opaque);
-       if (rc != 0) {
-               CERROR("ldlm_cli_cancel_unused ("LPU64"): %d\n",
-                      res->lr_name.name[0], rc);
-       }
+       ldlm_cli_cancel_unused_resource(ldlm_res_to_ns(res), &res->lr_name,
+                                       NULL, LCK_MINMODE,
+                                       lc->lc_flags, lc->lc_opaque);
        /* must return 0 for hash iteration */
        return 0;
 }
index 77e022bf8bcc891d068ccf5518bc03b603c85073..25e14e1b3659b47dd5b7ba4bf718d05b6714e54d 100644 (file)
@@ -762,16 +762,9 @@ static int ldlm_resource_complain(struct cfs_hash *hs, struct cfs_hash_bd *bd,
        struct ldlm_resource  *res = cfs_hash_object(hs, hnode);
 
        lock_res(res);
-       CERROR("Namespace %s resource refcount nonzero "
-              "(%d) after lock cleanup; forcing "
-              "cleanup.\n",
-              ldlm_ns_name(ldlm_res_to_ns(res)),
-              atomic_read(&res->lr_refcount) - 1);
-
-       CERROR("Resource: %p ("LPU64"/"LPU64"/"LPU64"/"
-              LPU64") (rc: %d)\n", res,
-              res->lr_name.name[0], res->lr_name.name[1],
-              res->lr_name.name[2], res->lr_name.name[3],
+       CERROR("%s: namespace resource "DLDLMRES
+              " (%p) refcount nonzero (%d) after lock cleanup; forcing cleanup.\n",
+              ldlm_ns_name(ldlm_res_to_ns(res)), PLDLMRES(res), res,
               atomic_read(&res->lr_refcount) - 1);
 
        ldlm_resource_dump(D_ERROR, res);
@@ -1403,10 +1396,8 @@ void ldlm_resource_dump(int level, struct ldlm_resource *res)
        if (!((libcfs_debug | D_ERROR) & level))
                return;
 
-       CDEBUG(level, "--- Resource: %p ("LPU64"/"LPU64"/"LPU64"/"LPU64
-              ") (rc: %d)\n", res, res->lr_name.name[0], res->lr_name.name[1],
-              res->lr_name.name[2], res->lr_name.name[3],
-              atomic_read(&res->lr_refcount));
+       CDEBUG(level, "--- Resource: "DLDLMRES" (%p) refcount = %d\n",
+              PLDLMRES(res), res, atomic_read(&res->lr_refcount));
 
        if (!list_empty(&res->lr_granted)) {
                CDEBUG(level, "Granted locks (in reverse order):\n");
index 0bf8e5d87f1ad483035a3f0f93813530da56edc6..a2ef64c3403d90bee1833ad4e5ab955e07c12906 100644 (file)
@@ -140,18 +140,6 @@ int cfs_capable(cfs_cap_t cap)
        return capable(cfs_cap_unpack(cap));
 }
 
-/* Check if task is running in 32-bit API mode, for the purpose of
- * userspace binary interfaces.  On 32-bit Linux this is (unfortunately)
- * always true, even if the application is using LARGEFILE64 and 64-bit
- * APIs, because Linux provides no way for the filesystem to know if it
- * is called via 32-bit or 64-bit APIs.  Other clients may vary.  On
- * 64-bit systems, this will only be true if the binary is calling a
- * 32-bit system call. */
-int current_is_32bit(void)
-{
-       return is_compat_task();
-}
-
 static int cfs_access_process_vm(struct task_struct *tsk, unsigned long addr,
                                 void *buf, int len, int write)
 {
@@ -311,7 +299,6 @@ EXPORT_SYMBOL(cfs_cap_raised);
 EXPORT_SYMBOL(cfs_curproc_cap_pack);
 EXPORT_SYMBOL(cfs_curproc_cap_unpack);
 EXPORT_SYMBOL(cfs_capable);
-EXPORT_SYMBOL(current_is_32bit);
 
 /*
  * Local variables:
index fc6c9774948703bc55eef0e4f477303d8ee18eab..ef0ab106496f6e11e3195b58f5fb4d6796269989 100644 (file)
@@ -371,7 +371,6 @@ static ctl_table_t lnet_table[] = {
         * to go via /proc for portability.
         */
        {
-               INIT_CTL_NAME(PSDEV_DEBUG)
                .procname = "debug",
                .data     = &libcfs_debug,
                .maxlen   = sizeof(int),
@@ -379,7 +378,6 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dobitmasks,
        },
        {
-               INIT_CTL_NAME(PSDEV_SUBSYSTEM_DEBUG)
                .procname = "subsystem_debug",
                .data     = &libcfs_subsystem_debug,
                .maxlen   = sizeof(int),
@@ -387,7 +385,6 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dobitmasks,
        },
        {
-               INIT_CTL_NAME(PSDEV_PRINTK)
                .procname = "printk",
                .data     = &libcfs_printk,
                .maxlen   = sizeof(int),
@@ -395,7 +392,6 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dobitmasks,
        },
        {
-               INIT_CTL_NAME(PSDEV_CONSOLE_RATELIMIT)
                .procname = "console_ratelimit",
                .data     = &libcfs_console_ratelimit,
                .maxlen   = sizeof(int),
@@ -403,21 +399,18 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dointvec
        },
        {
-               INIT_CTL_NAME(PSDEV_CONSOLE_MAX_DELAY_CS)
                .procname = "console_max_delay_centisecs",
                .maxlen   = sizeof(int),
                .mode     = 0644,
                .proc_handler = &proc_console_max_delay_cs
        },
        {
-               INIT_CTL_NAME(PSDEV_CONSOLE_MIN_DELAY_CS)
                .procname = "console_min_delay_centisecs",
                .maxlen   = sizeof(int),
                .mode     = 0644,
                .proc_handler = &proc_console_min_delay_cs
        },
        {
-               INIT_CTL_NAME(PSDEV_CONSOLE_BACKOFF)
                .procname = "console_backoff",
                .maxlen   = sizeof(int),
                .mode     = 0644,
@@ -425,7 +418,6 @@ static ctl_table_t lnet_table[] = {
        },
 
        {
-               INIT_CTL_NAME(PSDEV_DEBUG_PATH)
                .procname = "debug_path",
                .data     = libcfs_debug_file_path_arr,
                .maxlen   = sizeof(libcfs_debug_file_path_arr),
@@ -434,7 +426,6 @@ static ctl_table_t lnet_table[] = {
        },
 
        {
-               INIT_CTL_NAME(PSDEV_CPT_TABLE)
                .procname = "cpu_partition_table",
                .maxlen   = 128,
                .mode     = 0444,
@@ -442,7 +433,6 @@ static ctl_table_t lnet_table[] = {
        },
 
        {
-               INIT_CTL_NAME(PSDEV_LNET_UPCALL)
                .procname = "upcall",
                .data     = lnet_upcall,
                .maxlen   = sizeof(lnet_upcall),
@@ -450,7 +440,6 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dostring,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_DEBUG_LOG_UPCALL)
                .procname = "debug_log_upcall",
                .data     = lnet_debug_log_upcall,
                .maxlen   = sizeof(lnet_debug_log_upcall),
@@ -458,54 +447,44 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dostring,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_MEMUSED)
                .procname = "lnet_memused",
                .data     = (int *)&libcfs_kmemory.counter,
                .maxlen   = sizeof(int),
                .mode     = 0444,
                .proc_handler = &proc_dointvec,
-               INIT_STRATEGY(&sysctl_intvec)
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_CATASTROPHE)
                .procname = "catastrophe",
                .data     = &libcfs_catastrophe,
                .maxlen   = sizeof(int),
                .mode     = 0444,
                .proc_handler = &proc_dointvec,
-               INIT_STRATEGY(&sysctl_intvec)
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_PANIC_ON_LBUG)
                .procname = "panic_on_lbug",
                .data     = &libcfs_panic_on_lbug,
                .maxlen   = sizeof(int),
                .mode     = 0644,
                .proc_handler = &proc_dointvec,
-               INIT_STRATEGY(&sysctl_intvec)
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_DUMP_KERNEL)
                .procname = "dump_kernel",
                .maxlen   = 256,
                .mode     = 0200,
                .proc_handler = &proc_dump_kernel,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_DAEMON_FILE)
                .procname = "daemon_file",
                .mode     = 0644,
                .maxlen   = 256,
                .proc_handler = &proc_daemon_file,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_DEBUG_MB)
                .procname = "debug_mb",
                .mode     = 0644,
                .proc_handler = &proc_debug_mb,
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_WATCHDOG_RATELIMIT)
                .procname = "watchdog_ratelimit",
                .data     = &libcfs_watchdog_ratelimit,
                .maxlen   = sizeof(int),
@@ -514,7 +493,7 @@ static ctl_table_t lnet_table[] = {
                .extra1   = &min_watchdog_ratelimit,
                .extra2   = &max_watchdog_ratelimit,
        },
-       {       INIT_CTL_NAME(PSDEV_LNET_FORCE_LBUG)
+       {
                .procname = "force_lbug",
                .data     = NULL,
                .maxlen   = 0,
@@ -522,7 +501,6 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &libcfs_force_lbug
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_FAIL_LOC)
                .procname = "fail_loc",
                .data     = &cfs_fail_loc,
                .maxlen   = sizeof(cfs_fail_loc),
@@ -530,7 +508,6 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_fail_loc
        },
        {
-               INIT_CTL_NAME(PSDEV_LNET_FAIL_VAL)
                .procname = "fail_val",
                .data     = &cfs_fail_val,
                .maxlen   = sizeof(int),
@@ -538,14 +515,12 @@ static ctl_table_t lnet_table[] = {
                .proc_handler = &proc_dointvec
        },
        {
-               INIT_CTL_NAME(0)
        }
 };
 
 #ifdef CONFIG_SYSCTL
 static ctl_table_t top_table[] = {
        {
-               INIT_CTL_NAME(CTL_LNET)
                .procname = "lnet",
                .mode     = 0555,
                .data     = NULL,
@@ -553,7 +528,6 @@ static ctl_table_t top_table[] = {
                .child    = lnet_table,
        },
        {
-               INIT_CTL_NAME(0)
        }
 };
 #endif
index 99c9e9d2493ffbc67cbbb8d4e13c310487c191a0..732ae5540bf4e163df67c32e0fe1b3d78d45eeeb 100644 (file)
  */
 
 static char      libcfs_nidstrings[LNET_NIDSTR_COUNT][LNET_NIDSTR_SIZE];
-static int       libcfs_nidstring_idx = 0;
+static int       libcfs_nidstring_idx;
 
 static spinlock_t libcfs_nidstring_lock;
 
-void libcfs_init_nidstrings (void)
+void libcfs_init_nidstrings(void)
 {
        spin_lock_init(&libcfs_nidstring_lock);
 }
@@ -69,7 +69,7 @@ void libcfs_init_nidstrings (void)
 # define NIDSTR_UNLOCK(f) spin_unlock_irqrestore(&libcfs_nidstring_lock, f)
 
 static char *
-libcfs_next_nidstring (void)
+libcfs_next_nidstring(void)
 {
        char      *str;
        unsigned long  flags;
@@ -326,6 +326,7 @@ libcfs_isknown_lnd(int type)
 {
        return libcfs_lnd2netstrfns(type) != NULL;
 }
+EXPORT_SYMBOL(libcfs_isknown_lnd);
 
 char *
 libcfs_lnd2modname(int lnd)
@@ -334,6 +335,7 @@ libcfs_lnd2modname(int lnd)
 
        return (nf == NULL) ? NULL : nf->nf_modname;
 }
+EXPORT_SYMBOL(libcfs_lnd2modname);
 
 char *
 libcfs_lnd2str(int lnd)
@@ -348,6 +350,7 @@ libcfs_lnd2str(int lnd)
        snprintf(str, LNET_NIDSTR_SIZE, "?%u?", lnd);
        return str;
 }
+EXPORT_SYMBOL(libcfs_lnd2str);
 
 int
 libcfs_str2lnd(const char *str)
@@ -359,6 +362,7 @@ libcfs_str2lnd(const char *str)
 
        return -1;
 }
+EXPORT_SYMBOL(libcfs_str2lnd);
 
 char *
 libcfs_net2str(__u32 net)
@@ -377,6 +381,7 @@ libcfs_net2str(__u32 net)
 
        return str;
 }
+EXPORT_SYMBOL(libcfs_net2str);
 
 char *
 libcfs_nid2str(lnet_nid_t nid)
@@ -410,6 +415,7 @@ libcfs_nid2str(lnet_nid_t nid)
 
        return str;
 }
+EXPORT_SYMBOL(libcfs_nid2str);
 
 static struct netstrfns *
 libcfs_str2net_internal(const char *str, __u32 *net)
@@ -458,6 +464,7 @@ libcfs_str2net(const char *str)
 
        return LNET_NIDNET(LNET_NID_ANY);
 }
+EXPORT_SYMBOL(libcfs_str2net);
 
 lnet_nid_t
 libcfs_str2nid(const char *str)
@@ -475,7 +482,7 @@ libcfs_str2nid(const char *str)
                sep = str + strlen(str);
                net = LNET_MKNET(SOCKLND, 0);
                nf = libcfs_lnd2netstrfns(SOCKLND);
-               LASSERT (nf != NULL);
+               LASSERT(nf != NULL);
        }
 
        if (!nf->nf_str2addr(str, (int)(sep - str), &addr))
@@ -483,6 +490,7 @@ libcfs_str2nid(const char *str)
 
        return LNET_MKNID(net, addr);
 }
+EXPORT_SYMBOL(libcfs_str2nid);
 
 char *
 libcfs_id2str(lnet_process_id_t id)
@@ -500,6 +508,7 @@ libcfs_id2str(lnet_process_id_t id)
                 (id.pid & ~LNET_PID_USERFLAG), libcfs_nid2str(id.nid));
        return str;
 }
+EXPORT_SYMBOL(libcfs_id2str);
 
 int
 libcfs_str2anynid(lnet_nid_t *nidp, const char *str)
@@ -512,6 +521,7 @@ libcfs_str2anynid(lnet_nid_t *nidp, const char *str)
        *nidp = libcfs_str2nid(str);
        return *nidp != LNET_NID_ANY;
 }
+EXPORT_SYMBOL(libcfs_str2anynid);
 
 /**
  * Nid range list syntax.
@@ -765,6 +775,7 @@ cfs_free_nidlist(struct list_head *list)
                LIBCFS_FREE(nr, sizeof(struct nidrange));
        }
 }
+EXPORT_SYMBOL(cfs_free_nidlist);
 
 /**
  * Parses nid range list.
@@ -803,6 +814,7 @@ cfs_parse_nidlist(char *str, int len, struct list_head *nidlist)
        }
        return 1;
 }
+EXPORT_SYMBOL(cfs_parse_nidlist);
 
 /*
  * Nf_match_addr method for networks using numeric addresses
@@ -848,18 +860,4 @@ int cfs_match_nid(lnet_nid_t nid, struct list_head *nidlist)
        }
        return 0;
 }
-
-
-EXPORT_SYMBOL(libcfs_isknown_lnd);
-EXPORT_SYMBOL(libcfs_lnd2modname);
-EXPORT_SYMBOL(libcfs_lnd2str);
-EXPORT_SYMBOL(libcfs_str2lnd);
-EXPORT_SYMBOL(libcfs_net2str);
-EXPORT_SYMBOL(libcfs_nid2str);
-EXPORT_SYMBOL(libcfs_str2net);
-EXPORT_SYMBOL(libcfs_str2nid);
-EXPORT_SYMBOL(libcfs_id2str);
-EXPORT_SYMBOL(libcfs_str2anynid);
-EXPORT_SYMBOL(cfs_free_nidlist);
-EXPORT_SYMBOL(cfs_parse_nidlist);
 EXPORT_SYMBOL(cfs_match_nid);
index fb85a58db058ec3f34cf80065e4b9cdb5e35c05f..82248e9f6bffcbb70477d42c526cefb3e0dbc464 100644 (file)
@@ -241,6 +241,24 @@ int ll_md_close(struct obd_export *md_exp, struct inode *inode,
        if (unlikely(fd->fd_flags & LL_FILE_GROUP_LOCKED))
                ll_put_grouplock(inode, file, fd->fd_grouplock.cg_gid);
 
+       if (fd->fd_lease_och != NULL) {
+               bool lease_broken;
+
+               /* Usually the lease is not released when the
+                * application crashed, we need to release here. */
+               rc = ll_lease_close(fd->fd_lease_och, inode, &lease_broken);
+               CDEBUG(rc ? D_ERROR : D_INODE, "Clean up lease "DFID" %d/%d\n",
+                       PFID(&lli->lli_fid), rc, lease_broken);
+
+               fd->fd_lease_och = NULL;
+       }
+
+       if (fd->fd_och != NULL) {
+               rc = ll_close_inode_openhandle(md_exp, inode, fd->fd_och);
+               fd->fd_och = NULL;
+               GOTO(out, rc);
+       }
+
        /* Let's see if we have good enough OPEN lock on the file and if
           we can skip talking to MDS */
        if (file->f_dentry->d_inode) { /* Can this ever be false? */
@@ -277,6 +295,7 @@ int ll_md_close(struct obd_export *md_exp, struct inode *inode,
                       file, file->f_dentry, file->f_dentry->d_name.name);
        }
 
+out:
        LUSTRE_FPRIVATE(file) = NULL;
        ll_file_data_put(fd);
        ll_capa_close(inode);
@@ -431,22 +450,18 @@ void ll_ioepoch_open(struct ll_inode_info *lli, __u64 ioepoch)
        }
 }
 
-static int ll_och_fill(struct obd_export *md_exp, struct ll_inode_info *lli,
-                      struct lookup_intent *it, struct obd_client_handle *och)
+static int ll_och_fill(struct obd_export *md_exp, struct lookup_intent *it,
+                      struct obd_client_handle *och)
 {
        struct ptlrpc_request *req = it->d.lustre.it_data;
        struct mdt_body *body;
 
-       LASSERT(och);
-
        body = req_capsule_server_get(&req->rq_pill, &RMF_MDT_BODY);
-       LASSERT(body != NULL);                /* reply already checked out */
-
-       memcpy(&och->och_fh, &body->handle, sizeof(body->handle));
+       och->och_fh = body->handle;
+       och->och_fid = body->fid1;
+       och->och_lease_handle.cookie = it->d.lustre.it_lock_handle;
        och->och_magic = OBD_CLIENT_HANDLE_MAGIC;
-       och->och_fid = lli->lli_fid;
        och->och_flags = it->it_flags;
-       ll_ioepoch_open(lli, body->ioepoch);
 
        return md_set_open_replay_data(md_exp, och, req);
 }
@@ -466,20 +481,17 @@ int ll_local_open(struct file *file, struct lookup_intent *it,
                struct mdt_body *body;
                int rc;
 
-               rc = ll_och_fill(ll_i2sbi(inode)->ll_md_exp, lli, it, och);
-               if (rc)
+               rc = ll_och_fill(ll_i2sbi(inode)->ll_md_exp, it, och);
+               if (rc != 0)
                        return rc;
 
                body = req_capsule_server_get(&req->rq_pill, &RMF_MDT_BODY);
-               if ((it->it_flags & FMODE_WRITE) &&
-                   (body->valid & OBD_MD_FLSIZE))
-                       CDEBUG(D_INODE, "Epoch "LPU64" opened on "DFID"\n",
-                              lli->lli_ioepoch, PFID(&lli->lli_fid));
+               ll_ioepoch_open(lli, body->ioepoch);
        }
 
        LUSTRE_FPRIVATE(file) = fd;
        ll_readahead_init(inode, &fd->fd_ras);
-       fd->fd_omode = it->it_flags;
+       fd->fd_omode = it->it_flags & (FMODE_READ | FMODE_WRITE | FMODE_EXEC);
        return 0;
 }
 
@@ -681,6 +693,196 @@ out_openerr:
        return rc;
 }
 
+static int ll_md_blocking_lease_ast(struct ldlm_lock *lock,
+                       struct ldlm_lock_desc *desc, void *data, int flag)
+{
+       int rc;
+       struct lustre_handle lockh;
+
+       switch (flag) {
+       case LDLM_CB_BLOCKING:
+               ldlm_lock2handle(lock, &lockh);
+               rc = ldlm_cli_cancel(&lockh, LCF_ASYNC);
+               if (rc < 0) {
+                       CDEBUG(D_INODE, "ldlm_cli_cancel: %d\n", rc);
+                       return rc;
+               }
+               break;
+       case LDLM_CB_CANCELING:
+               /* do nothing */
+               break;
+       }
+       return 0;
+}
+
+/**
+ * Acquire a lease and open the file.
+ */
+struct obd_client_handle *ll_lease_open(struct inode *inode, struct file *file,
+                                       fmode_t fmode)
+{
+       struct lookup_intent it = { .it_op = IT_OPEN };
+       struct ll_sb_info *sbi = ll_i2sbi(inode);
+       struct md_op_data *op_data;
+       struct ptlrpc_request *req;
+       struct lustre_handle old_handle = { 0 };
+       struct obd_client_handle *och = NULL;
+       int rc;
+       int rc2;
+
+       if (fmode != FMODE_WRITE && fmode != FMODE_READ)
+               return ERR_PTR(-EINVAL);
+
+       if (file != NULL) {
+               struct ll_inode_info *lli = ll_i2info(inode);
+               struct ll_file_data *fd = LUSTRE_FPRIVATE(file);
+               struct obd_client_handle **och_p;
+               __u64 *och_usecount;
+
+               if (!(fmode & file->f_mode) || (file->f_mode & FMODE_EXEC))
+                       return ERR_PTR(-EPERM);
+
+               /* Get the openhandle of the file */
+               rc = -EBUSY;
+               mutex_lock(&lli->lli_och_mutex);
+               if (fd->fd_lease_och != NULL) {
+                       mutex_unlock(&lli->lli_och_mutex);
+                       return ERR_PTR(rc);
+               }
+
+               if (fd->fd_och == NULL) {
+                       if (file->f_mode & FMODE_WRITE) {
+                               LASSERT(lli->lli_mds_write_och != NULL);
+                               och_p = &lli->lli_mds_write_och;
+                               och_usecount = &lli->lli_open_fd_write_count;
+                       } else {
+                               LASSERT(lli->lli_mds_read_och != NULL);
+                               och_p = &lli->lli_mds_read_och;
+                               och_usecount = &lli->lli_open_fd_read_count;
+                       }
+                       if (*och_usecount == 1) {
+                               fd->fd_och = *och_p;
+                               *och_p = NULL;
+                               *och_usecount = 0;
+                               rc = 0;
+                       }
+               }
+               mutex_unlock(&lli->lli_och_mutex);
+               if (rc < 0) /* more than 1 opener */
+                       return ERR_PTR(rc);
+
+               LASSERT(fd->fd_och != NULL);
+               old_handle = fd->fd_och->och_fh;
+       }
+
+       OBD_ALLOC_PTR(och);
+       if (och == NULL)
+               return ERR_PTR(-ENOMEM);
+
+       op_data = ll_prep_md_op_data(NULL, inode, inode, NULL, 0, 0,
+                                       LUSTRE_OPC_ANY, NULL);
+       if (IS_ERR(op_data))
+               GOTO(out, rc = PTR_ERR(op_data));
+
+       /* To tell the MDT this openhandle is from the same owner */
+       op_data->op_handle = old_handle;
+
+       it.it_flags = fmode | MDS_OPEN_LOCK | MDS_OPEN_BY_FID | MDS_OPEN_LEASE;
+       rc = md_intent_lock(sbi->ll_md_exp, op_data, NULL, 0, &it, 0, &req,
+                               ll_md_blocking_lease_ast,
+       /* LDLM_FL_NO_LRU: To not put the lease lock into LRU list, otherwise
+        * it can be cancelled which may mislead applications that the lease is
+        * broken;
+        * LDLM_FL_EXCL: Set this flag so that it won't be matched by normal
+        * open in ll_md_blocking_ast(). Otherwise as ll_md_blocking_lease_ast
+        * doesn't deal with openhandle, so normal openhandle will be leaked. */
+                               LDLM_FL_NO_LRU | LDLM_FL_EXCL);
+       ll_finish_md_op_data(op_data);
+       if (req != NULL) {
+               ptlrpc_req_finished(req);
+               it_clear_disposition(&it, DISP_ENQ_COMPLETE);
+       }
+       if (rc < 0)
+               GOTO(out_release_it, rc);
+
+       if (it_disposition(&it, DISP_LOOKUP_NEG))
+               GOTO(out_release_it, rc = -ENOENT);
+
+       rc = it_open_error(DISP_OPEN_OPEN, &it);
+       if (rc)
+               GOTO(out_release_it, rc);
+
+       LASSERT(it_disposition(&it, DISP_ENQ_OPEN_REF));
+       ll_och_fill(sbi->ll_md_exp, &it, och);
+
+       if (!it_disposition(&it, DISP_OPEN_LEASE)) /* old server? */
+               GOTO(out_close, rc = -EOPNOTSUPP);
+
+       /* already get lease, handle lease lock */
+       ll_set_lock_data(sbi->ll_md_exp, inode, &it, NULL);
+       if (it.d.lustre.it_lock_mode == 0 ||
+           it.d.lustre.it_lock_bits != MDS_INODELOCK_OPEN) {
+               /* open lock must return for lease */
+               CERROR(DFID "lease granted but no open lock, %d/%llu.\n",
+                       PFID(ll_inode2fid(inode)), it.d.lustre.it_lock_mode,
+                       it.d.lustre.it_lock_bits);
+               GOTO(out_close, rc = -EPROTO);
+       }
+
+       ll_intent_release(&it);
+       return och;
+
+out_close:
+       rc2 = ll_close_inode_openhandle(sbi->ll_md_exp, inode, och);
+       if (rc2)
+               CERROR("Close openhandle returned %d\n", rc2);
+
+       /* cancel open lock */
+       if (it.d.lustre.it_lock_mode != 0) {
+               ldlm_lock_decref_and_cancel(&och->och_lease_handle,
+                                               it.d.lustre.it_lock_mode);
+               it.d.lustre.it_lock_mode = 0;
+       }
+out_release_it:
+       ll_intent_release(&it);
+out:
+       OBD_FREE_PTR(och);
+       return ERR_PTR(rc);
+}
+EXPORT_SYMBOL(ll_lease_open);
+
+/**
+ * Release lease and close the file.
+ * It will check if the lease has ever broken.
+ */
+int ll_lease_close(struct obd_client_handle *och, struct inode *inode,
+                       bool *lease_broken)
+{
+       struct ldlm_lock *lock;
+       bool cancelled = true;
+       int rc;
+
+       lock = ldlm_handle2lock(&och->och_lease_handle);
+       if (lock != NULL) {
+               lock_res_and_lock(lock);
+               cancelled = ldlm_is_cancel(lock);
+               unlock_res_and_lock(lock);
+               ldlm_lock_put(lock);
+       }
+
+       CDEBUG(D_INODE, "lease for "DFID" broken? %d\n",
+               PFID(&ll_i2info(inode)->lli_fid), cancelled);
+
+       if (!cancelled)
+               ldlm_cli_cancel(&och->och_lease_handle, 0);
+       if (lease_broken != NULL)
+               *lease_broken = cancelled;
+
+       rc = ll_close_inode_openhandle(ll_i2sbi(inode)->ll_md_exp, inode, och);
+       return rc;
+}
+EXPORT_SYMBOL(ll_lease_close);
+
 /* Fills the obdo with the attributes for the lsm */
 static int ll_lsm_getattr(struct lov_stripe_md *lsm, struct obd_export *exp,
                          struct obd_capa *capa, struct obdo *obdo,
@@ -905,7 +1107,7 @@ out:
        cl_io_fini(env, io);
        /* If any bit been read/written (result != 0), we just return
         * short read/write instead of restart io. */
-       if (result == 0 && io->ci_need_restart) {
+       if ((result == 0 || result == -ENODATA) && io->ci_need_restart) {
                CDEBUG(D_VFSTRACE, "Restart %s on %s from %lld, count:%zd\n",
                       iot == CIT_READ ? "read" : "write",
                       file->f_dentry->d_name.name, *ppos, count);
@@ -1482,8 +1684,7 @@ int ll_release_openhandle(struct dentry *dentry, struct lookup_intent *it)
        if (!och)
                GOTO(out, rc = -ENOMEM);
 
-       ll_och_fill(ll_i2sbi(inode)->ll_md_exp,
-                   ll_i2info(inode), it, och);
+       ll_och_fill(ll_i2sbi(inode)->ll_md_exp, it, och);
 
        rc = ll_close_inode_openhandle(ll_i2sbi(inode)->ll_md_exp,
                                       inode, och);
@@ -2075,6 +2276,91 @@ long ll_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                OBD_FREE_PTR(hca);
                return rc;
        }
+       case LL_IOC_SET_LEASE: {
+               struct ll_inode_info *lli = ll_i2info(inode);
+               struct obd_client_handle *och = NULL;
+               bool lease_broken;
+               fmode_t mode = 0;
+
+               switch (arg) {
+               case F_WRLCK:
+                       if (!(file->f_mode & FMODE_WRITE))
+                               return -EPERM;
+                       mode = FMODE_WRITE;
+                       break;
+               case F_RDLCK:
+                       if (!(file->f_mode & FMODE_READ))
+                               return -EPERM;
+                       mode = FMODE_READ;
+                       break;
+               case F_UNLCK:
+                       mutex_lock(&lli->lli_och_mutex);
+                       if (fd->fd_lease_och != NULL) {
+                               och = fd->fd_lease_och;
+                               fd->fd_lease_och = NULL;
+                       }
+                       mutex_unlock(&lli->lli_och_mutex);
+
+                       if (och != NULL) {
+                               mode = och->och_flags &
+                                      (FMODE_READ|FMODE_WRITE);
+                               rc = ll_lease_close(och, inode, &lease_broken);
+                               if (rc == 0 && lease_broken)
+                                       mode = 0;
+                       } else {
+                               rc = -ENOLCK;
+                       }
+
+                       /* return the type of lease or error */
+                       return rc < 0 ? rc : (int)mode;
+               default:
+                       return -EINVAL;
+               }
+
+               CDEBUG(D_INODE, "Set lease with mode %d\n", mode);
+
+               /* apply for lease */
+               och = ll_lease_open(inode, file, mode);
+               if (IS_ERR(och))
+                       return PTR_ERR(och);
+
+               rc = 0;
+               mutex_lock(&lli->lli_och_mutex);
+               if (fd->fd_lease_och == NULL) {
+                       fd->fd_lease_och = och;
+                       och = NULL;
+               }
+               mutex_unlock(&lli->lli_och_mutex);
+               if (och != NULL) {
+                       /* impossible now that only excl is supported for now */
+                       ll_lease_close(och, inode, &lease_broken);
+                       rc = -EBUSY;
+               }
+               return rc;
+       }
+       case LL_IOC_GET_LEASE: {
+               struct ll_inode_info *lli = ll_i2info(inode);
+               struct ldlm_lock *lock = NULL;
+
+               rc = 0;
+               mutex_lock(&lli->lli_och_mutex);
+               if (fd->fd_lease_och != NULL) {
+                       struct obd_client_handle *och = fd->fd_lease_och;
+
+                       lock = ldlm_handle2lock(&och->och_lease_handle);
+                       if (lock != NULL) {
+                               lock_res_and_lock(lock);
+                               if (!ldlm_is_cancel(lock))
+                                       rc = och->och_flags &
+                                               (FMODE_READ | FMODE_WRITE);
+                               unlock_res_and_lock(lock);
+                               ldlm_lock_put(lock);
+                       }
+               }
+               mutex_unlock(&lli->lli_och_mutex);
+
+               return rc;
+       }
        default: {
                int err;
 
@@ -2581,7 +2867,15 @@ int ll_inode_revalidate_it(struct dentry *dentry, struct lookup_intent *it,
                LTIME_S(inode->i_mtime) = ll_i2info(inode)->lli_lvb.lvb_mtime;
                LTIME_S(inode->i_ctime) = ll_i2info(inode)->lli_lvb.lvb_ctime;
        } else {
-               rc = ll_glimpse_size(inode);
+               /* In case of restore, the MDT has the right size and has
+                * already send it back without granting the layout lock,
+                * inode is up-to-date so glimpse is useless.
+                * Also to glimpse we need the layout, in case of a running
+                * restore the MDT holds the layout lock so the glimpse will
+                * block up to the end of restore (getattr will block)
+                */
+               if (!(ll_i2info(inode)->lli_flags & LLIF_FILE_RESTORING))
+                       rc = ll_glimpse_size(inode);
        }
        return rc;
 }
@@ -2628,6 +2922,38 @@ int ll_getattr(struct vfsmount *mnt, struct dentry *de, struct kstat *stat)
        return ll_getattr_it(mnt, de, &it, stat);
 }
 
+int ll_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
+               __u64 start, __u64 len)
+{
+       int rc;
+       size_t num_bytes;
+       struct ll_user_fiemap *fiemap;
+       unsigned int extent_count = fieinfo->fi_extents_max;
+
+       num_bytes = sizeof(*fiemap) + (extent_count *
+                                      sizeof(struct ll_fiemap_extent));
+       OBD_ALLOC_LARGE(fiemap, num_bytes);
+
+       if (fiemap == NULL)
+               return -ENOMEM;
+
+       fiemap->fm_flags = fieinfo->fi_flags;
+       fiemap->fm_extent_count = fieinfo->fi_extents_max;
+       fiemap->fm_start = start;
+       fiemap->fm_length = len;
+       memcpy(&fiemap->fm_extents[0], fieinfo->fi_extents_start,
+              sizeof(struct ll_fiemap_extent));
+
+       rc = ll_do_fiemap(inode, fiemap, num_bytes);
+
+       fieinfo->fi_flags = fiemap->fm_flags;
+       fieinfo->fi_extents_mapped = fiemap->fm_mapped_extents;
+       memcpy(fieinfo->fi_extents_start, &fiemap->fm_extents[0],
+              fiemap->fm_mapped_extents * sizeof(struct ll_fiemap_extent));
+
+       OBD_FREE_LARGE(fiemap, num_bytes);
+       return rc;
+}
 
 struct posix_acl * ll_get_acl(struct inode *inode, int type)
 {
@@ -2676,17 +3002,12 @@ int ll_inode_permission(struct inode *inode, int mask)
        return rc;
 }
 
-#define READ_METHOD aio_read
-#define READ_FUNCTION ll_file_aio_read
-#define WRITE_METHOD aio_write
-#define WRITE_FUNCTION ll_file_aio_write
-
 /* -o localflock - only provides locally consistent flock locks */
 struct file_operations ll_file_operations = {
        .read      = ll_file_read,
-       .READ_METHOD    = READ_FUNCTION,
+       .aio_read = ll_file_aio_read,
        .write    = ll_file_write,
-       .WRITE_METHOD   = WRITE_FUNCTION,
+       .aio_write = ll_file_aio_write,
        .unlocked_ioctl = ll_file_ioctl,
        .open      = ll_file_open,
        .release        = ll_file_release,
@@ -2699,9 +3020,9 @@ struct file_operations ll_file_operations = {
 
 struct file_operations ll_file_operations_flock = {
        .read      = ll_file_read,
-       .READ_METHOD    = READ_FUNCTION,
+       .aio_read    = ll_file_aio_read,
        .write    = ll_file_write,
-       .WRITE_METHOD   = WRITE_FUNCTION,
+       .aio_write   = ll_file_aio_write,
        .unlocked_ioctl = ll_file_ioctl,
        .open      = ll_file_open,
        .release        = ll_file_release,
@@ -2717,9 +3038,9 @@ struct file_operations ll_file_operations_flock = {
 /* These are for -o noflock - to return ENOSYS on flock calls */
 struct file_operations ll_file_operations_noflock = {
        .read      = ll_file_read,
-       .READ_METHOD    = READ_FUNCTION,
+       .aio_read    = ll_file_aio_read,
        .write    = ll_file_write,
-       .WRITE_METHOD   = WRITE_FUNCTION,
+       .aio_write   = ll_file_aio_write,
        .unlocked_ioctl = ll_file_ioctl,
        .open      = ll_file_open,
        .release        = ll_file_release,
@@ -2740,6 +3061,7 @@ struct inode_operations ll_file_inode_operations = {
        .getxattr       = ll_getxattr,
        .listxattr      = ll_listxattr,
        .removexattr    = ll_removexattr,
+       .fiemap         = ll_fiemap,
        .get_acl        = ll_get_acl,
 };
 
@@ -3150,3 +3472,30 @@ again:
 
        return rc;
 }
+
+/**
+ *  This function send a restore request to the MDT
+ */
+int ll_layout_restore(struct inode *inode)
+{
+       struct hsm_user_request *hur;
+       int                      len, rc;
+
+       len = sizeof(struct hsm_user_request) +
+             sizeof(struct hsm_user_item);
+       OBD_ALLOC(hur, len);
+       if (hur == NULL)
+               return -ENOMEM;
+
+       hur->hur_request.hr_action = HUA_RESTORE;
+       hur->hur_request.hr_archive_id = 0;
+       hur->hur_request.hr_flags = 0;
+       memcpy(&hur->hur_user_item[0].hui_fid, &ll_i2info(inode)->lli_fid,
+              sizeof(hur->hur_user_item[0].hui_fid));
+       hur->hur_user_item[0].hui_extent.length = -1;
+       hur->hur_request.hr_itemcount = 1;
+       rc = obd_iocontrol(LL_IOC_HSM_REQUEST, cl_i2sbi(inode)->ll_md_exp,
+                          len, hur, NULL);
+       OBD_FREE(hur, len);
+       return rc;
+}
index 47e443d90fe1a56cc955b40e4341a9453e2e6f56..c326ff24410cfe79d9cc1b09d74d6c0789c95846 100644 (file)
@@ -46,6 +46,7 @@
 #include <lclient.h>
 #include <lustre_mdc.h>
 #include <linux/lustre_intent.h>
+#include <linux/compat.h>
 
 #ifndef FMODE_EXEC
 #define FMODE_EXEC 0
@@ -124,6 +125,8 @@ enum lli_flags {
        LLIF_SRVLOCK        = (1 << 5),
        /* File data is modified. */
        LLIF_DATA_MODIFIED      = (1 << 6),
+       /* File is being restored */
+       LLIF_FILE_RESTORING     = (1 << 7),
 };
 
 struct ll_inode_info {
@@ -458,7 +461,7 @@ struct ll_sb_info {
        struct lu_fid        ll_root_fid; /* root object fid */
 
        int                    ll_flags;
-       int                       ll_umounting:1;
+       unsigned int                      ll_umounting:1;
        struct list_head                ll_conn_chain; /* per-conn chain of SBs */
        struct lustre_client_ocd  ll_lco;
 
@@ -607,10 +610,14 @@ extern struct kmem_cache *ll_file_data_slab;
 struct lustre_handle;
 struct ll_file_data {
        struct ll_readahead_state fd_ras;
-       int fd_omode;
        struct ccc_grouplock fd_grouplock;
        __u64 lfd_pos;
        __u32 fd_flags;
+       fmode_t fd_omode;
+       /* openhandle if lease exists for this file.
+        * Borrow lli->lli_och_mutex to protect assignment */
+       struct obd_client_handle *fd_lease_och;
+       struct obd_client_handle *fd_och;
        struct file *fd_file;
        /* Indicate whether need to report failure when close.
         * true: failure is known, not report again.
@@ -643,7 +650,7 @@ static inline int ll_need_32bit_api(struct ll_sb_info *sbi)
 #if BITS_PER_LONG == 32
        return 1;
 #else
-       return unlikely(current_is_32bit() || (sbi->ll_flags & LL_SBI_32BIT_API));
+       return unlikely(is_compat_task() || (sbi->ll_flags & LL_SBI_32BIT_API));
 #endif
 }
 
@@ -776,6 +783,11 @@ int ll_put_grouplock(struct inode *inode, struct file *file, unsigned long arg);
 int ll_fid2path(struct inode *inode, void *arg);
 int ll_data_version(struct inode *inode, __u64 *data_version, int extent_lock);
 
+struct obd_client_handle *ll_lease_open(struct inode *inode, struct file *file,
+                                       fmode_t mode);
+int ll_lease_close(struct obd_client_handle *och, struct inode *inode,
+                  bool *lease_broken);
+
 /* llite/dcache.c */
 
 int ll_dops_init(struct dentry *de, int block, int init_sa);
@@ -1578,5 +1590,6 @@ enum {
 
 int ll_layout_conf(struct inode *inode, const struct cl_object_conf *conf);
 int ll_layout_refresh(struct inode *inode, __u32 *gen);
+int ll_layout_restore(struct inode *inode);
 
 #endif /* LLITE_INTERNAL_H */
index fd584ff7e2df0e22602347199a1ccfe02544ca41..facc391584475adf007fc72ae2aedd1de522938d 100644 (file)
@@ -1353,6 +1353,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr)
        struct ll_inode_info *lli = ll_i2info(inode);
        struct md_op_data *op_data = NULL;
        struct md_open_data *mod = NULL;
+       bool file_is_released = false;
        int rc = 0, rc1 = 0;
 
        CDEBUG(D_VFSTRACE, "%s: setattr inode %p/fid:"DFID" from %llu to %llu, "
@@ -1436,10 +1437,40 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr)
            (attr->ia_valid & (ATTR_SIZE | ATTR_MTIME | ATTR_MTIME_SET)))
                op_data->op_flags = MF_EPOCH_OPEN;
 
+       /* truncate on a released file must failed with -ENODATA,
+        * so size must not be set on MDS for released file
+        * but other attributes must be set
+        */
+       if (S_ISREG(inode->i_mode)) {
+               struct lov_stripe_md *lsm;
+               __u32 gen;
+
+               ll_layout_refresh(inode, &gen);
+               lsm = ccc_inode_lsm_get(inode);
+               if (lsm && lsm->lsm_pattern & LOV_PATTERN_F_RELEASED)
+                       file_is_released = true;
+               ccc_inode_lsm_put(inode, lsm);
+       }
+
+       /* clear size attr for released file
+        * we clear the attribute send to MDT in op_data, not the original
+        * received from caller in attr which is used later to
+        * decide return code */
+       if (file_is_released && (attr->ia_valid & ATTR_SIZE))
+               op_data->op_attr.ia_valid &= ~ATTR_SIZE;
+
        rc = ll_md_setattr(dentry, op_data, &mod);
        if (rc)
                GOTO(out, rc);
 
+       /* truncate failed, others succeed */
+       if (file_is_released) {
+               if (attr->ia_valid & ATTR_SIZE)
+                       GOTO(out, rc = -ENODATA);
+               else
+                       GOTO(out, rc = 0);
+       }
+
        /* RPC to MDT is sent, cancel data modification flag */
        if (rc == 0 && (op_data->op_bias & MDS_DATA_MODIFIED)) {
                spin_lock(&lli->lli_lock);
@@ -1761,6 +1792,11 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md)
                LASSERT(md->oss_capa);
                ll_add_capa(inode, md->oss_capa);
        }
+
+       if (body->valid & OBD_MD_TSTATE) {
+               if (body->t_state & MS_RESTORE)
+                       lli->lli_flags |= LLIF_FILE_RESTORING;
+       }
 }
 
 void ll_read_inode2(struct inode *inode, void *opaque)
index 90bbdae824ac522064d89515acbbc89ef6be4300..804451fabfbf39dce069b3159973b9b47274edae 100644 (file)
@@ -233,12 +233,9 @@ int ll_md_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
                        ll_have_md_lock(inode, &bits, mode);
 
                fid = ll_inode2fid(inode);
-               if (lock->l_resource->lr_name.name[0] != fid_seq(fid) ||
-                   lock->l_resource->lr_name.name[1] != fid_oid(fid) ||
-                   lock->l_resource->lr_name.name[2] != fid_ver(fid)) {
+               if (!fid_res_name_eq(fid, &lock->l_resource->lr_name))
                        LDLM_ERROR(lock, "data mismatch with object "
                                   DFID" (%p)", PFID(fid), inode);
-               }
 
                if (bits & MDS_INODELOCK_OPEN) {
                        int flags = 0;
index 3ff664ce7503b62d22b1094d34178125b4075d26..f69e3aa98022645c7527a69e32acd11a1bb6e6c4 100644 (file)
@@ -121,8 +121,38 @@ static void vvp_io_fini(const struct lu_env *env, const struct cl_io_slice *ios)
 
        CLOBINVRNT(env, obj, ccc_object_invariant(obj));
 
-       CDEBUG(D_VFSTRACE, "ignore/verify layout %d/%d, layout version %d.\n",
-               io->ci_ignore_layout, io->ci_verify_layout, cio->cui_layout_gen);
+       CDEBUG(D_VFSTRACE, DFID
+              " ignore/verify layout %d/%d, layout version %d restore needed %d\n",
+              PFID(lu_object_fid(&obj->co_lu)),
+              io->ci_ignore_layout, io->ci_verify_layout,
+              cio->cui_layout_gen, io->ci_restore_needed);
+
+       if (io->ci_restore_needed == 1) {
+               int     rc;
+
+               /* file was detected release, we need to restore it
+                * before finishing the io
+                */
+               rc = ll_layout_restore(ccc_object_inode(obj));
+               /* if restore registration failed, no restart,
+                * we will return -ENODATA */
+               /* The layout will change after restore, so we need to
+                * block on layout lock hold by the MDT
+                * as MDT will not send new layout in lvb (see LU-3124)
+                * we have to explicitly fetch it, all this will be done
+                * by ll_layout_refresh()
+                */
+               if (rc == 0) {
+                       io->ci_restore_needed = 0;
+                       io->ci_need_restart = 1;
+                       io->ci_verify_layout = 1;
+               } else {
+                       io->ci_restore_needed = 1;
+                       io->ci_need_restart = 0;
+                       io->ci_verify_layout = 0;
+                       io->ci_result = rc;
+               }
+       }
 
        if (!io->ci_ignore_layout && io->ci_verify_layout) {
                __u32 gen = 0;
@@ -130,9 +160,17 @@ static void vvp_io_fini(const struct lu_env *env, const struct cl_io_slice *ios)
                /* check layout version */
                ll_layout_refresh(ccc_object_inode(obj), &gen);
                io->ci_need_restart = cio->cui_layout_gen != gen;
-               if (io->ci_need_restart)
-                       CDEBUG(D_VFSTRACE, "layout changed from %d to %d.\n",
-                               cio->cui_layout_gen, gen);
+               if (io->ci_need_restart) {
+                       CDEBUG(D_VFSTRACE,
+                              DFID" layout changed from %d to %d.\n",
+                              PFID(lu_object_fid(&obj->co_lu)),
+                              cio->cui_layout_gen, gen);
+                       /* today successful restore is the only possible
+                        * case */
+                       /* restore was done, clear restoring state */
+                       ll_i2info(ccc_object_inode(obj))->lli_flags &=
+                               ~LLIF_FILE_RESTORING;
+               }
        }
 }
 
@@ -1111,6 +1149,12 @@ int vvp_io_init(const struct lu_env *env, struct cl_object *obj,
 
        CLOBINVRNT(env, obj, ccc_object_invariant(obj));
 
+       CDEBUG(D_VFSTRACE, DFID
+              " ignore/verify layout %d/%d, layout version %d restore needed %d\n",
+              PFID(lu_object_fid(&obj->co_lu)),
+              io->ci_ignore_layout, io->ci_verify_layout,
+              cio->cui_layout_gen, io->ci_restore_needed);
+
        CL_IO_SLICE_CLEAN(cio, cui_cl);
        cl_io_slice_add(io, &cio->cui_cl, obj, &vvp_io_ops);
        vio->cui_ra_window_set = 0;
index 2792fa5c4be2fb38dff7fc9b3d2082dbb1476a02..5a6ab70ed0a1a3a4126e836a3b144e4d880bf5d2 100644 (file)
@@ -947,14 +947,23 @@ int lov_io_init_released(const struct lu_env *env, struct cl_object *obj,
                LASSERTF(0, "invalid type %d\n", io->ci_type);
        case CIT_MISC:
        case CIT_FSYNC:
-               result = +1;
+               result = 1;
                break;
        case CIT_SETATTR:
+               /* the truncate to 0 is managed by MDT:
+                * - in open, for open O_TRUNC
+                * - in setattr, for truncate
+                */
+               /* the truncate is for size > 0 so triggers a restore */
+               if (cl_io_is_trunc(io))
+                       io->ci_restore_needed = 1;
+               result = -ENODATA;
+               break;
        case CIT_READ:
        case CIT_WRITE:
        case CIT_FAULT:
-               /* TODO: need to restore the file. */
-               result = -EBADF;
+               io->ci_restore_needed = 1;
+               result = -ENODATA;
                break;
        }
        if (result == 0) {
index ec6f6e0572ae906fd43ce7f3530449cd0e1eee62..27ed27e6fa6a1d9eefbf6a6b2e90af1edaea026b 100644 (file)
@@ -105,24 +105,22 @@ void lov_dump_lmm(int level, void *lmm)
 {
        int magic;
 
-       magic = ((struct lov_mds_md_v1 *)(lmm))->lmm_magic;
+       magic = le32_to_cpu(((struct lov_mds_md *)lmm)->lmm_magic);
        switch (magic) {
        case LOV_MAGIC_V1:
-               return lov_dump_lmm_v1(level, (struct lov_mds_md_v1 *)(lmm));
+               lov_dump_lmm_v1(level, (struct lov_mds_md_v1 *)lmm);
+               break;
        case LOV_MAGIC_V3:
-               return lov_dump_lmm_v3(level, (struct lov_mds_md_v3 *)(lmm));
+               lov_dump_lmm_v3(level, (struct lov_mds_md_v3 *)lmm);
+               break;
        default:
-               CERROR("Cannot recognize lmm_magic %x", magic);
+               CDEBUG(level, "unrecognized lmm_magic %x, assuming %x\n",
+                      magic, LOV_MAGIC_V1);
+               lov_dump_lmm_common(level, lmm);
+               break;
        }
-       return;
 }
 
-#define LMM_ASSERT(test)                                               \
-do {                                                               \
-       if (!(test)) lov_dump_lmm(D_ERROR, lmm);                        \
-       LASSERT(test); /* so we know what assertion failed */      \
-} while (0)
-
 /* Pack LOV object metadata for disk storage.  It is packed in LE byte
  * order and is opaque to the networking layer.
  *
index 15744e13a3f2d34e12edaba88c7491c46b2bde86..e6f22e3a3a388ad9501ed4aadfcd7434cb0f13f2 100644 (file)
@@ -260,29 +260,29 @@ LPROC_SEQ_FOPS_RO_TYPE(lov, kbytesfree);
 LPROC_SEQ_FOPS_RO_TYPE(lov, kbytesavail);
 
 struct lprocfs_vars lprocfs_lov_obd_vars[] = {
-       { "uuid",         &lov_uuid_fops,         0, 0 },
-       { "stripesize",   &lov_stripesize_fops,   0 },
-       { "stripeoffset", &lov_stripeoffset_fops, 0 },
-       { "stripecount",  &lov_stripecount_fops,  0 },
-       { "stripetype",   &lov_stripetype_fops,   0 },
-       { "numobd",       &lov_numobd_fops,       0, 0 },
-       { "activeobd",    &lov_activeobd_fops,    0, 0 },
-       { "filestotal",   &lov_filestotal_fops,   0, 0 },
-       { "filesfree",    &lov_filesfree_fops,    0, 0 },
-       /*{ "filegroups", lprocfs_rd_filegroups,  0, 0 },*/
-       { "blocksize",    &lov_blksize_fops,      0, 0 },
-       { "kbytestotal",  &lov_kbytestotal_fops,  0, 0 },
-       { "kbytesfree",   &lov_kbytesfree_fops,   0, 0 },
-       { "kbytesavail",  &lov_kbytesavail_fops,  0, 0 },
-       { "desc_uuid",    &lov_desc_uuid_fops,    0, 0 },
-       { 0 }
+       { "uuid",         &lov_uuid_fops,         NULL, 0 },
+       { "stripesize",   &lov_stripesize_fops,   NULL },
+       { "stripeoffset", &lov_stripeoffset_fops, NULL },
+       { "stripecount",  &lov_stripecount_fops,  NULL },
+       { "stripetype",   &lov_stripetype_fops,   NULL },
+       { "numobd",       &lov_numobd_fops,       NULL, 0 },
+       { "activeobd",    &lov_activeobd_fops,    NULL, 0 },
+       { "filestotal",   &lov_filestotal_fops,   NULL, 0 },
+       { "filesfree",    &lov_filesfree_fops,    NULL, 0 },
+       /*{ "filegroups", lprocfs_rd_filegroups,  NULL, 0 },*/
+       { "blocksize",    &lov_blksize_fops,      NULL, 0 },
+       { "kbytestotal",  &lov_kbytestotal_fops,  NULL, 0 },
+       { "kbytesfree",   &lov_kbytesfree_fops,   NULL, 0 },
+       { "kbytesavail",  &lov_kbytesavail_fops,  NULL, 0 },
+       { "desc_uuid",    &lov_desc_uuid_fops,    NULL, 0 },
+       { NULL }
 };
 
 LPROC_SEQ_FOPS_RO_TYPE(lov, numrefs);
 
 static struct lprocfs_vars lprocfs_lov_module_vars[] = {
-       { "num_refs",     &lov_numrefs_fops,     0, 0 },
-       { 0 }
+       { "num_refs",     &lov_numrefs_fops,     NULL, 0 },
+       { NULL }
 };
 
 void lprocfs_lov_init_vars(struct lprocfs_static_vars *lvars)
diff --git a/drivers/staging/lustre/lustre/lvfs/fsfilt_ext3.c b/drivers/staging/lustre/lustre/lvfs/fsfilt_ext3.c
deleted file mode 100644 (file)
index ee75994..0000000
+++ /dev/null
@@ -1,760 +0,0 @@
-/*
- * GPL HEADER START
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 only,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- * GPL HEADER END
- */
-/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
- * Use is subject to license terms.
- *
- * Copyright (c) 2011, 2012, Intel Corporation.
- */
-/*
- * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
- *
- * lustre/lvfs/fsfilt_ext3.c
- *
- * Author: Andreas Dilger <adilger@clusterfs.com>
- */
-
-#define DEBUG_SUBSYSTEM S_FILTER
-
-#include <linux/init.h>
-#include <linux/module.h>
-#include <linux/fs.h>
-#include <linux/slab.h>
-#include <linux/pagemap.h>
-#include <ldiskfs/ldiskfs_config.h>
-#include <ext4/ext4.h>
-#include <ext4/ext4_jbd2.h>
-#include <linux/bitops.h>
-#include <linux/quota.h>
-
-#include <linux/libcfs/libcfs.h>
-#include <lustre_fsfilt.h>
-#include <obd.h>
-#include <linux/lustre_compat25.h>
-#include <linux/lprocfs_status.h>
-
-#include <ext4/ext4_extents.h>
-
-#ifdef HAVE_EXT_PBLOCK /* Name changed to ext4_ext_pblock for kernel 2.6.35 */
-#define ext3_ext_pblock(ex) ext_pblock((ex))
-#endif
-
-/* for kernels 2.6.18 and later */
-#define FSFILT_SINGLEDATA_TRANS_BLOCKS(sb) EXT3_SINGLEDATA_TRANS_BLOCKS(sb)
-
-#define fsfilt_ext3_ext_insert_extent(handle, inode, path, newext, flag) \
-              ext3_ext_insert_extent(handle, inode, path, newext, flag)
-
-#define ext3_mb_discard_inode_preallocations(inode) \
-                ext3_discard_preallocations(inode)
-
-#define fsfilt_log_start_commit(journal, tid) jbd2_log_start_commit(journal, tid)
-#define fsfilt_log_wait_commit(journal, tid) jbd2_log_wait_commit(journal, tid)
-
-static struct kmem_cache *fcb_cache;
-
-struct fsfilt_cb_data {
-       struct ext4_journal_cb_entry cb_jcb; /* private data - MUST BE FIRST */
-       fsfilt_cb_t cb_func;        /* MDS/OBD completion function */
-       struct obd_device *cb_obd;      /* MDS/OBD completion device */
-       __u64 cb_last_rcvd;          /* MDS/OST last committed operation */
-       void *cb_data;            /* MDS/OST completion function data */
-};
-
-static char *fsfilt_ext3_get_label(struct super_block *sb)
-{
-       return EXT3_SB(sb)->s_es->s_volume_name;
-}
-
-/* kernel has ext4_blocks_for_truncate since linux-3.1.1 */
-# include <ext4/truncate.h>
-
-/*
- * We don't currently need any additional blocks for rmdir and
- * unlink transactions because we are storing the OST oa_id inside
- * the inode (which we will be changing anyways as part of this
- * transaction).
- */
-static void *fsfilt_ext3_start(struct inode *inode, int op, void *desc_private,
-                              int logs)
-{
-       /* For updates to the last received file */
-       int nblocks = FSFILT_SINGLEDATA_TRANS_BLOCKS(inode->i_sb);
-       journal_t *journal;
-       void *handle;
-
-       if (current->journal_info) {
-               CDEBUG(D_INODE, "increasing refcount on %p\n",
-                      current->journal_info);
-               goto journal_start;
-       }
-
-       switch(op) {
-       case FSFILT_OP_UNLINK:
-               /* delete one file + create/update logs for each stripe */
-               nblocks += EXT3_DELETE_TRANS_BLOCKS(inode->i_sb);
-               nblocks += (EXT3_INDEX_EXTRA_TRANS_BLOCKS +
-                           FSFILT_SINGLEDATA_TRANS_BLOCKS(inode->i_sb)) * logs;
-               break;
-       case FSFILT_OP_CANCEL_UNLINK:
-               LASSERT(logs == 1);
-
-               /* blocks for log header bitmap update OR
-                * blocks for catalog header bitmap update + unlink of logs +
-                * blocks for delete the inode (include blocks truncating). */
-               nblocks = (LLOG_CHUNK_SIZE >> inode->i_blkbits) +
-                         EXT3_DELETE_TRANS_BLOCKS(inode->i_sb) +
-                         ext4_blocks_for_truncate(inode) + 3;
-               break;
-       default: CERROR("unknown transaction start op %d\n", op);
-               LBUG();
-       }
-
-       LASSERT(current->journal_info == desc_private);
-       journal = EXT3_SB(inode->i_sb)->s_journal;
-       if (nblocks > journal->j_max_transaction_buffers) {
-               CWARN("too many credits %d for op %ux%u using %d instead\n",
-                      nblocks, op, logs, journal->j_max_transaction_buffers);
-               nblocks = journal->j_max_transaction_buffers;
-       }
-
- journal_start:
-       LASSERTF(nblocks > 0, "can't start %d credit transaction\n", nblocks);
-       handle = ext3_journal_start(inode, nblocks);
-
-       if (!IS_ERR(handle))
-               LASSERT(current->journal_info == handle);
-       else
-               CERROR("error starting handle for op %u (%u credits): rc %ld\n",
-                      op, nblocks, PTR_ERR(handle));
-       return handle;
-}
-
-static int fsfilt_ext3_commit(struct inode *inode, void *h, int force_sync)
-{
-       int rc;
-       handle_t *handle = h;
-
-       LASSERT(current->journal_info == handle);
-       if (force_sync)
-               handle->h_sync = 1; /* recovery likes this */
-
-       rc = ext3_journal_stop(handle);
-
-       return rc;
-}
-
-#ifndef EXT3_EXTENTS_FL
-#define EXT3_EXTENTS_FL                 0x00080000 /* Inode uses extents */
-#endif
-
-#ifndef EXT_ASSERT
-#define EXT_ASSERT(cond)  BUG_ON(!(cond))
-#endif
-
-#define EXT_GENERATION(inode)     (EXT4_I(inode)->i_ext_generation)
-#define ext3_ext_base             inode
-#define ext3_ext_base2inode(inode)      (inode)
-#define EXT_DEPTH(inode)               ext_depth(inode)
-#define fsfilt_ext3_ext_walk_space(inode, block, num, cb, cbdata) \
-                       ext3_ext_walk_space(inode, block, num, cb, cbdata);
-
-struct bpointers {
-       unsigned long *blocks;
-       unsigned long start;
-       int num;
-       int init_num;
-       int create;
-};
-
-static long ext3_ext_find_goal(struct inode *inode, struct ext3_ext_path *path,
-                              unsigned long block, int *aflags)
-{
-       struct ext3_inode_info *ei = EXT3_I(inode);
-       unsigned long bg_start;
-       unsigned long colour;
-       int depth;
-
-       if (path) {
-               struct ext3_extent *ex;
-               depth = path->p_depth;
-
-               /* try to predict block placement */
-               if ((ex = path[depth].p_ext))
-                       return ext4_ext_pblock(ex) + (block - le32_to_cpu(ex->ee_block));
-
-               /* it looks index is empty
-                * try to find starting from index itself */
-               if (path[depth].p_bh)
-                       return path[depth].p_bh->b_blocknr;
-       }
-
-       /* OK. use inode's group */
-       bg_start = (ei->i_block_group * EXT3_BLOCKS_PER_GROUP(inode->i_sb)) +
-               le32_to_cpu(EXT3_SB(inode->i_sb)->s_es->s_first_data_block);
-       colour = (current->pid % 16) *
-               (EXT3_BLOCKS_PER_GROUP(inode->i_sb) / 16);
-       return bg_start + colour + block;
-}
-
-#define ll_unmap_underlying_metadata(sb, blocknr) \
-       unmap_underlying_metadata((sb)->s_bdev, blocknr)
-
-#ifndef EXT3_MB_HINT_GROUP_ALLOC
-static unsigned long new_blocks(handle_t *handle, struct ext3_ext_base *base,
-                               struct ext3_ext_path *path, unsigned long block,
-                               unsigned long *count, int *err)
-{
-       unsigned long pblock, goal;
-       int aflags = 0;
-       struct inode *inode = ext3_ext_base2inode(base);
-
-       goal = ext3_ext_find_goal(inode, path, block, &aflags);
-       aflags |= 2; /* block have been already reserved */
-       pblock = ext3_mb_new_blocks(handle, inode, goal, count, aflags, err);
-       return pblock;
-
-}
-#else
-static unsigned long new_blocks(handle_t *handle, struct ext3_ext_base *base,
-                               struct ext3_ext_path *path, unsigned long block,
-                               unsigned long *count, int *err)
-{
-       struct inode *inode = ext3_ext_base2inode(base);
-       struct ext3_allocation_request ar;
-       unsigned long pblock;
-       int aflags;
-
-       /* find neighbour allocated blocks */
-       ar.lleft = block;
-       *err = ext3_ext_search_left(base, path, &ar.lleft, &ar.pleft);
-       if (*err)
-               return 0;
-       ar.lright = block;
-       *err = ext3_ext_search_right(base, path, &ar.lright, &ar.pright);
-       if (*err)
-               return 0;
-
-       /* allocate new block */
-       ar.goal = ext3_ext_find_goal(inode, path, block, &aflags);
-       ar.inode = inode;
-       ar.logical = block;
-       ar.len = *count;
-       ar.flags = EXT3_MB_HINT_DATA;
-       pblock = ext3_mb_new_blocks(handle, &ar, err);
-       *count = ar.len;
-       return pblock;
-}
-#endif
-
-static int ext3_ext_new_extent_cb(struct ext3_ext_base *base,
-                                 struct ext3_ext_path *path,
-                                 struct ext3_ext_cache *cex,
-#ifdef HAVE_EXT_PREPARE_CB_EXTENT
-                                  struct ext3_extent *ex,
-#endif
-                                 void *cbdata)
-{
-       struct bpointers *bp = cbdata;
-       struct inode *inode = ext3_ext_base2inode(base);
-       struct ext3_extent nex;
-       unsigned long pblock;
-       unsigned long tgen;
-       int err, i;
-       unsigned long count;
-       handle_t *handle;
-
-#ifdef EXT3_EXT_CACHE_EXTENT
-       if (cex->ec_type == EXT3_EXT_CACHE_EXTENT)
-#else
-       if ((cex->ec_len != 0) && (cex->ec_start != 0))
-#endif
-                                                  {
-               err = EXT_CONTINUE;
-               goto map;
-       }
-
-       if (bp->create == 0) {
-               i = 0;
-               if (cex->ec_block < bp->start)
-                       i = bp->start - cex->ec_block;
-               if (i >= cex->ec_len)
-                       CERROR("nothing to do?! i = %d, e_num = %u\n",
-                                       i, cex->ec_len);
-               for (; i < cex->ec_len && bp->num; i++) {
-                       *(bp->blocks) = 0;
-                       bp->blocks++;
-                       bp->num--;
-                       bp->start++;
-               }
-
-               return EXT_CONTINUE;
-       }
-
-       tgen = EXT_GENERATION(base);
-       count = ext3_ext_calc_credits_for_insert(base, path);
-
-       handle = ext3_journal_start(inode, count+EXT3_ALLOC_NEEDED+1);
-       if (IS_ERR(handle)) {
-               return PTR_ERR(handle);
-       }
-
-       if (tgen != EXT_GENERATION(base)) {
-               /* the tree has changed. so path can be invalid at moment */
-               ext3_journal_stop(handle);
-               return EXT_REPEAT;
-       }
-
-       /* In 2.6.32 kernel, ext4_ext_walk_space()'s callback func is not
-        * protected by i_data_sem as whole. so we patch it to store
-        * generation to path and now verify the tree hasn't changed */
-       down_write((&EXT4_I(inode)->i_data_sem));
-
-       /* validate extent, make sure the extent tree does not changed */
-       if (EXT_GENERATION(base) != path[0].p_generation) {
-               /* cex is invalid, try again */
-               up_write(&EXT4_I(inode)->i_data_sem);
-               ext3_journal_stop(handle);
-               return EXT_REPEAT;
-       }
-
-       count = cex->ec_len;
-       pblock = new_blocks(handle, base, path, cex->ec_block, &count, &err);
-       if (!pblock)
-               goto out;
-       EXT_ASSERT(count <= cex->ec_len);
-
-       /* insert new extent */
-       nex.ee_block = cpu_to_le32(cex->ec_block);
-       ext3_ext_store_pblock(&nex, pblock);
-       nex.ee_len = cpu_to_le16(count);
-       err = fsfilt_ext3_ext_insert_extent(handle, base, path, &nex, 0);
-       if (err) {
-               /* free data blocks we just allocated */
-               /* not a good idea to call discard here directly,
-                * but otherwise we'd need to call it every free() */
-#ifdef EXT3_MB_HINT_GROUP_ALLOC
-               ext3_mb_discard_inode_preallocations(inode);
-#endif
-#ifdef HAVE_EXT_FREE_BLOCK_WITH_BUFFER_HEAD /* Introduced in 2.6.32-rc7 */
-               ext3_free_blocks(handle, inode, NULL, ext4_ext_pblock(&nex),
-                                cpu_to_le16(nex.ee_len), 0);
-#else
-               ext3_free_blocks(handle, inode, ext4_ext_pblock(&nex),
-                                cpu_to_le16(nex.ee_len), 0);
-#endif
-               goto out;
-       }
-
-       /*
-        * Putting len of the actual extent we just inserted,
-        * we are asking ext3_ext_walk_space() to continue
-        * scaning after that block
-        */
-       cex->ec_len = le16_to_cpu(nex.ee_len);
-       cex->ec_start = ext4_ext_pblock(&nex);
-       BUG_ON(le16_to_cpu(nex.ee_len) == 0);
-       BUG_ON(le32_to_cpu(nex.ee_block) != cex->ec_block);
-
-out:
-       up_write((&EXT4_I(inode)->i_data_sem));
-       ext3_journal_stop(handle);
-map:
-       if (err >= 0) {
-               /* map blocks */
-               if (bp->num == 0) {
-                       CERROR("hmm. why do we find this extent?\n");
-                       CERROR("initial space: %lu:%u\n",
-                               bp->start, bp->init_num);
-#ifdef EXT3_EXT_CACHE_EXTENT
-                       CERROR("current extent: %u/%u/%llu %d\n",
-                               cex->ec_block, cex->ec_len,
-                               (unsigned long long)cex->ec_start,
-                               cex->ec_type);
-#else
-                       CERROR("current extent: %u/%u/%llu\n",
-                               cex->ec_block, cex->ec_len,
-                               (unsigned long long)cex->ec_start);
-#endif
-               }
-               i = 0;
-               if (cex->ec_block < bp->start)
-                       i = bp->start - cex->ec_block;
-               if (i >= cex->ec_len)
-                       CERROR("nothing to do?! i = %d, e_num = %u\n",
-                                       i, cex->ec_len);
-               for (; i < cex->ec_len && bp->num; i++) {
-                       *(bp->blocks) = cex->ec_start + i;
-#ifdef EXT3_EXT_CACHE_EXTENT
-                       if (cex->ec_type != EXT3_EXT_CACHE_EXTENT)
-#else
-                       if ((cex->ec_len == 0) || (cex->ec_start == 0))
-#endif
-                                                                       {
-                               /* unmap any possible underlying metadata from
-                                * the block device mapping.  bug 6998. */
-                               ll_unmap_underlying_metadata(inode->i_sb,
-                                                            *(bp->blocks));
-                       }
-                       bp->blocks++;
-                       bp->num--;
-                       bp->start++;
-               }
-       }
-       return err;
-}
-
-int fsfilt_map_nblocks(struct inode *inode, unsigned long block,
-                      unsigned long num, unsigned long *blocks,
-                      int create)
-{
-       struct ext3_ext_base *base = inode;
-       struct bpointers bp;
-       int err;
-
-       CDEBUG(D_OTHER, "blocks %lu-%lu requested for inode %u\n",
-              block, block + num - 1, (unsigned) inode->i_ino);
-
-       bp.blocks = blocks;
-       bp.start = block;
-       bp.init_num = bp.num = num;
-       bp.create = create;
-
-       err = fsfilt_ext3_ext_walk_space(base, block, num,
-                                        ext3_ext_new_extent_cb, &bp);
-       ext3_ext_invalidate_cache(base);
-
-       return err;
-}
-
-int fsfilt_ext3_map_ext_inode_pages(struct inode *inode, struct page **page,
-                                   int pages, unsigned long *blocks,
-                                   int create)
-{
-       int blocks_per_page = PAGE_CACHE_SIZE >> inode->i_blkbits;
-       int rc = 0, i = 0;
-       struct page *fp = NULL;
-       int clen = 0;
-
-       CDEBUG(D_OTHER, "inode %lu: map %d pages from %lu\n",
-               inode->i_ino, pages, (*page)->index);
-
-       /* pages are sorted already. so, we just have to find
-        * contig. space and process them properly */
-       while (i < pages) {
-               if (fp == NULL) {
-                       /* start new extent */
-                       fp = *page++;
-                       clen = 1;
-                       i++;
-                       continue;
-               } else if (fp->index + clen == (*page)->index) {
-                       /* continue the extent */
-                       page++;
-                       clen++;
-                       i++;
-                       continue;
-               }
-
-               /* process found extent */
-               rc = fsfilt_map_nblocks(inode, fp->index * blocks_per_page,
-                                       clen * blocks_per_page, blocks,
-                                       create);
-               if (rc)
-                       GOTO(cleanup, rc);
-
-               /* look for next extent */
-               fp = NULL;
-               blocks += blocks_per_page * clen;
-       }
-
-       if (fp)
-               rc = fsfilt_map_nblocks(inode, fp->index * blocks_per_page,
-                                       clen * blocks_per_page, blocks,
-                                       create);
-cleanup:
-       return rc;
-}
-
-int fsfilt_ext3_map_bm_inode_pages(struct inode *inode, struct page **page,
-                                  int pages, unsigned long *blocks,
-                                  int create)
-{
-       int blocks_per_page = PAGE_CACHE_SIZE >> inode->i_blkbits;
-       unsigned long *b;
-       int rc = 0, i;
-
-       for (i = 0, b = blocks; i < pages; i++, page++) {
-               rc = ext3_map_inode_page(inode, *page, b, create);
-               if (rc) {
-                       CERROR("ino %lu, blk %lu create %d: rc %d\n",
-                              inode->i_ino, *b, create, rc);
-                       break;
-               }
-
-               b += blocks_per_page;
-       }
-       return rc;
-}
-
-int fsfilt_ext3_map_inode_pages(struct inode *inode, struct page **page,
-                               int pages, unsigned long *blocks,
-                               int create, struct mutex *optional_mutex)
-{
-       int rc;
-
-       if (EXT3_I(inode)->i_flags & EXT3_EXTENTS_FL) {
-               rc = fsfilt_ext3_map_ext_inode_pages(inode, page, pages,
-                                                    blocks, create);
-               return rc;
-       }
-       if (optional_mutex != NULL)
-               mutex_lock(optional_mutex);
-       rc = fsfilt_ext3_map_bm_inode_pages(inode, page, pages, blocks, create);
-       if (optional_mutex != NULL)
-               mutex_unlock(optional_mutex);
-
-       return rc;
-}
-
-int fsfilt_ext3_read(struct inode *inode, void *buf, int size, loff_t *offs)
-{
-       unsigned long block;
-       struct buffer_head *bh;
-       int err, blocksize, csize, boffs, osize = size;
-
-       /* prevent reading after eof */
-       spin_lock(&inode->i_lock);
-       if (i_size_read(inode) < *offs + size) {
-               size = i_size_read(inode) - *offs;
-               spin_unlock(&inode->i_lock);
-               if (size < 0) {
-                       CDEBUG(D_EXT2, "size %llu is too short for read @%llu\n",
-                              i_size_read(inode), *offs);
-                       return -EBADR;
-               } else if (size == 0) {
-                       return 0;
-               }
-       } else {
-               spin_unlock(&inode->i_lock);
-       }
-
-       blocksize = 1 << inode->i_blkbits;
-
-       while (size > 0) {
-               block = *offs >> inode->i_blkbits;
-               boffs = *offs & (blocksize - 1);
-               csize = min(blocksize - boffs, size);
-               bh = ext3_bread(NULL, inode, block, 0, &err);
-               if (!bh) {
-                       CERROR("can't read block: %d\n", err);
-                       return err;
-               }
-
-               memcpy(buf, bh->b_data + boffs, csize);
-               brelse(bh);
-
-               *offs += csize;
-               buf += csize;
-               size -= csize;
-       }
-       return osize;
-}
-EXPORT_SYMBOL(fsfilt_ext3_read);
-
-static int fsfilt_ext3_read_record(struct file * file, void *buf,
-                                  int size, loff_t *offs)
-{
-       int rc;
-       rc = fsfilt_ext3_read(file->f_dentry->d_inode, buf, size, offs);
-       if (rc > 0)
-               rc = 0;
-       return rc;
-}
-
-int fsfilt_ext3_write_handle(struct inode *inode, void *buf, int bufsize,
-                               loff_t *offs, handle_t *handle)
-{
-       struct buffer_head *bh = NULL;
-       loff_t old_size = i_size_read(inode), offset = *offs;
-       loff_t new_size = i_size_read(inode);
-       unsigned long block;
-       int err = 0, blocksize = 1 << inode->i_blkbits, size, boffs;
-
-       while (bufsize > 0) {
-               if (bh != NULL)
-                       brelse(bh);
-
-               block = offset >> inode->i_blkbits;
-               boffs = offset & (blocksize - 1);
-               size = min(blocksize - boffs, bufsize);
-               bh = ext3_bread(handle, inode, block, 1, &err);
-               if (!bh) {
-                       CERROR("can't read/create block: %d\n", err);
-                       break;
-               }
-
-               err = ext3_journal_get_write_access(handle, bh);
-               if (err) {
-                       CERROR("journal_get_write_access() returned error %d\n",
-                              err);
-                       break;
-               }
-               LASSERT(bh->b_data + boffs + size <= bh->b_data + bh->b_size);
-               memcpy(bh->b_data + boffs, buf, size);
-               err = ext3_journal_dirty_metadata(handle, bh);
-               if (err) {
-                       CERROR("journal_dirty_metadata() returned error %d\n",
-                              err);
-                       break;
-               }
-               if (offset + size > new_size)
-                       new_size = offset + size;
-               offset += size;
-               bufsize -= size;
-               buf += size;
-       }
-       if (bh)
-               brelse(bh);
-
-       /* correct in-core and on-disk sizes */
-       if (new_size > i_size_read(inode)) {
-               spin_lock(&inode->i_lock);
-               if (new_size > i_size_read(inode))
-                       i_size_write(inode, new_size);
-               if (i_size_read(inode) > EXT3_I(inode)->i_disksize)
-                       EXT3_I(inode)->i_disksize = i_size_read(inode);
-               if (i_size_read(inode) > old_size) {
-                       spin_unlock(&inode->i_lock);
-                       mark_inode_dirty(inode);
-               } else {
-                       spin_unlock(&inode->i_lock);
-               }
-       }
-
-       if (err == 0)
-               *offs = offset;
-       return err;
-}
-EXPORT_SYMBOL(fsfilt_ext3_write_handle);
-
-static int fsfilt_ext3_write_record(struct file *file, void *buf, int bufsize,
-                                   loff_t *offs, int force_sync)
-{
-       struct inode *inode = file->f_dentry->d_inode;
-       handle_t *handle;
-       int err, block_count = 0, blocksize;
-
-       /* Determine how many transaction credits are needed */
-       blocksize = 1 << inode->i_blkbits;
-       block_count = (*offs & (blocksize - 1)) + bufsize;
-       block_count = (block_count + blocksize - 1) >> inode->i_blkbits;
-
-       handle = ext3_journal_start(inode,
-                       block_count * EXT3_DATA_TRANS_BLOCKS(inode->i_sb) + 2);
-       if (IS_ERR(handle)) {
-               CERROR("can't start transaction for %d blocks (%d bytes)\n",
-                      block_count * EXT3_DATA_TRANS_BLOCKS(inode->i_sb) + 2,
-                      bufsize);
-               return PTR_ERR(handle);
-       }
-
-       err = fsfilt_ext3_write_handle(inode, buf, bufsize, offs, handle);
-
-       if (!err && force_sync)
-               handle->h_sync = 1; /* recovery likes this */
-
-       ext3_journal_stop(handle);
-
-       return err;
-}
-
-static int fsfilt_ext3_setup(struct super_block *sb)
-{
-       if (!EXT3_HAS_COMPAT_FEATURE(sb,
-                               EXT3_FEATURE_COMPAT_HAS_JOURNAL)) {
-               CERROR("ext3 mounted without journal\n");
-               return -EINVAL;
-       }
-
-#ifdef S_PDIROPS
-       CWARN("Enabling PDIROPS\n");
-       set_opt(EXT3_SB(sb)->s_mount_opt, PDIROPS);
-       sb->s_flags |= S_PDIROPS;
-#endif
-       if (!EXT3_HAS_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_DIR_INDEX))
-               CWARN("filesystem doesn't have dir_index feature enabled\n");
-       return 0;
-}
-static struct fsfilt_operations fsfilt_ext3_ops = {
-       .fs_type                = "ext3",
-       .fs_owner              = THIS_MODULE,
-       .fs_getlabel        = fsfilt_ext3_get_label,
-       .fs_start              = fsfilt_ext3_start,
-       .fs_commit            = fsfilt_ext3_commit,
-       .fs_map_inode_pages     = fsfilt_ext3_map_inode_pages,
-       .fs_write_record        = fsfilt_ext3_write_record,
-       .fs_read_record  = fsfilt_ext3_read_record,
-       .fs_setup              = fsfilt_ext3_setup,
-};
-
-static int __init fsfilt_ext3_init(void)
-{
-       int rc;
-
-       fcb_cache = kmem_cache_create("fsfilt_ext3_fcb",
-                                        sizeof(struct fsfilt_cb_data), 0, 0);
-       if (!fcb_cache) {
-               CERROR("error allocating fsfilt journal callback cache\n");
-               GOTO(out, rc = -ENOMEM);
-       }
-
-       rc = fsfilt_register_ops(&fsfilt_ext3_ops);
-
-       if (rc) {
-               int err = kmem_cache_destroy(fcb_cache);
-               LASSERTF(err == 0, "error destroying new cache: rc %d\n", err);
-       }
-out:
-       return rc;
-}
-
-static void __exit fsfilt_ext3_exit(void)
-{
-       int rc;
-
-       fsfilt_unregister_ops(&fsfilt_ext3_ops);
-       rc = kmem_cache_destroy(fcb_cache);
-       LASSERTF(rc == 0, "couldn't destroy fcb_cache slab\n");
-}
-
-module_init(fsfilt_ext3_init);
-module_exit(fsfilt_ext3_exit);
-
-MODULE_AUTHOR("Sun Microsystems, Inc. <http://www.lustre.org/>");
-MODULE_DESCRIPTION("Lustre ext3 Filesystem Helper v0.1");
-MODULE_LICENSE("GPL");
index 2aeff0ecec34d662146a842dbf1986da5083f155..b995af6a2782cb4343e042e7ef59e93a07ae502a 100644 (file)
@@ -69,7 +69,7 @@ void mdc_create_pack(struct ptlrpc_request *req, struct md_op_data *op_data,
                     const void *data, int datalen, __u32 mode, __u32 uid,
                     __u32 gid, cfs_cap_t capability, __u64 rdev);
 void mdc_open_pack(struct ptlrpc_request *req, struct md_op_data *op_data,
-                  __u32 mode, __u64 rdev, __u32 flags, const void *data,
+                  __u32 mode, __u64 rdev, __u64 flags, const void *data,
                   int datalen);
 void mdc_unlink_pack(struct ptlrpc_request *req, struct md_op_data *op_data);
 void mdc_link_pack(struct ptlrpc_request *req, struct md_op_data *op_data);
index b2de478036795a2b4c3607b474ab5ff397726218..3e7702075bf9a75b5664e5ffeffa78e1eaca90ee 100644 (file)
@@ -174,12 +174,12 @@ void mdc_create_pack(struct ptlrpc_request *req, struct md_op_data *op_data,
        }
 }
 
-static __u64 mds_pack_open_flags(__u32 flags, __u32 mode)
+static __u64 mds_pack_open_flags(__u64 flags, __u32 mode)
 {
        __u64 cr_flags = (flags & (FMODE_READ | FMODE_WRITE |
                                   MDS_OPEN_HAS_EA | MDS_OPEN_HAS_OBJS |
                                   MDS_OPEN_OWNEROVERRIDE | MDS_OPEN_LOCK |
-                                  MDS_OPEN_BY_FID));
+                                  MDS_OPEN_BY_FID | MDS_OPEN_LEASE));
        if (flags & O_CREAT)
                cr_flags |= MDS_OPEN_CREAT;
        if (flags & O_EXCL)
@@ -207,7 +207,7 @@ static __u64 mds_pack_open_flags(__u32 flags, __u32 mode)
 
 /* packing of MDS records */
 void mdc_open_pack(struct ptlrpc_request *req, struct md_op_data *op_data,
-                  __u32 mode, __u64 rdev, __u32 flags, const void *lmm,
+                  __u32 mode, __u64 rdev, __u64 flags, const void *lmm,
                   int lmmlen)
 {
        struct mdt_rec_create *rec;
@@ -234,6 +234,7 @@ void mdc_open_pack(struct ptlrpc_request *req, struct md_op_data *op_data,
        rec->cr_suppgid2 = op_data->op_suppgids[1];
        rec->cr_bias     = op_data->op_bias;
        rec->cr_umask    = current_umask();
+       rec->cr_old_handle = op_data->op_handle;
 
        mdc_pack_capa(req, &RMF_CAPA1, op_data->op_capa1);
        /* the next buffer is child capa, which is used for replay,
index fb5a9959bf7ac652880a6d16448310cbeef22cd7..09dee1120ed24d6f5bd03df9c923127f935fae3a 100644 (file)
@@ -75,6 +75,12 @@ EXPORT_SYMBOL(it_clear_disposition);
 
 int it_open_error(int phase, struct lookup_intent *it)
 {
+       if (it_disposition(it, DISP_OPEN_LEASE)) {
+               if (phase >= DISP_OPEN_LEASE)
+                       return it->d.lustre.it_status;
+               else
+                       return 0;
+       }
        if (it_disposition(it, DISP_OPEN_OPEN)) {
                if (phase >= DISP_OPEN_OPEN)
                        return it->d.lustre.it_status;
@@ -281,14 +287,21 @@ static struct ptlrpc_request *mdc_intent_open_pack(struct obd_export *exp,
        /* XXX: openlock is not cancelled for cross-refs. */
        /* If inode is known, cancel conflicting OPEN locks. */
        if (fid_is_sane(&op_data->op_fid2)) {
-               if (it->it_flags & (FMODE_WRITE|MDS_OPEN_TRUNC))
-                       mode = LCK_CW;
+               if (it->it_flags & MDS_OPEN_LEASE) { /* try to get lease */
+                       if (it->it_flags & FMODE_WRITE)
+                               mode = LCK_EX;
+                       else
+                               mode = LCK_PR;
+               } else {
+                       if (it->it_flags & (FMODE_WRITE|MDS_OPEN_TRUNC))
+                               mode = LCK_CW;
 #ifdef FMODE_EXEC
-               else if (it->it_flags & FMODE_EXEC)
-                       mode = LCK_PR;
+                       else if (it->it_flags & FMODE_EXEC)
+                               mode = LCK_PR;
 #endif
-               else
-                       mode = LCK_CR;
+                       else
+                               mode = LCK_CR;
+               }
                count = mdc_resource_get_unused(exp, &op_data->op_fid2,
                                                &cancels, mode,
                                                MDS_INODELOCK_OPEN);
@@ -958,13 +971,8 @@ static int mdc_finish_intent_lock(struct obd_export *exp,
 
                LASSERTF(fid_res_name_eq(&mdt_body->fid1,
                                         &lock->l_resource->lr_name),
-                        "Lock res_id: %lu/%lu/%lu, fid: %lu/%lu/%lu.\n",
-                        (unsigned long)lock->l_resource->lr_name.name[0],
-                        (unsigned long)lock->l_resource->lr_name.name[1],
-                        (unsigned long)lock->l_resource->lr_name.name[2],
-                        (unsigned long)fid_seq(&mdt_body->fid1),
-                        (unsigned long)fid_oid(&mdt_body->fid1),
-                        (unsigned long)fid_ver(&mdt_body->fid1));
+                        "Lock res_id: "DLDLMRES", fid: "DFID"\n",
+                        PLDLMRES(lock->l_resource), PFID(&mdt_body->fid1));
                LDLM_LOCK_PUT(lock);
 
                memcpy(&old_lock, lockh, sizeof(*lockh));
@@ -1065,10 +1073,10 @@ int mdc_intent_lock(struct obd_export *exp, struct md_op_data *op_data,
        LASSERT(it);
 
        CDEBUG(D_DLMTRACE, "(name: %.*s,"DFID") in obj "DFID
-              ", intent: %s flags %#o\n", op_data->op_namelen,
-              op_data->op_name, PFID(&op_data->op_fid2),
-              PFID(&op_data->op_fid1), ldlm_it2str(it->it_op),
-              it->it_flags);
+               ", intent: %s flags %#Lo\n", op_data->op_namelen,
+               op_data->op_name, PFID(&op_data->op_fid2),
+               PFID(&op_data->op_fid1), ldlm_it2str(it->it_op),
+               it->it_flags);
 
        lockh.cookie = 0;
        if (fid_is_sane(&op_data->op_fid2) &&
@@ -1194,9 +1202,10 @@ int mdc_intent_getattr_async(struct obd_export *exp,
        int                   rc = 0;
        __u64               flags = LDLM_FL_HAS_INTENT;
 
-       CDEBUG(D_DLMTRACE,"name: %.*s in inode "DFID", intent: %s flags %#o\n",
-              op_data->op_namelen, op_data->op_name, PFID(&op_data->op_fid1),
-              ldlm_it2str(it->it_op), it->it_flags);
+       CDEBUG(D_DLMTRACE,
+               "name: %.*s in inode "DFID", intent: %s flags %#Lo\n",
+               op_data->op_namelen, op_data->op_name, PFID(&op_data->op_fid1),
+               ldlm_it2str(it->it_op), it->it_flags);
 
        fid_build_reg_res_name(&op_data->op_fid1, &res_id);
        req = mdc_intent_getattr_pack(exp, it, op_data);
index 12a9ede21a8565a77e4e5f07c43041f35d4025f0..93b601d1ff38f6218a933274b944fe421d1486c0 100644 (file)
@@ -788,8 +788,8 @@ static int mgc_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
                /* We've given up the lock, prepare ourselves to update. */
                LDLM_DEBUG(lock, "MGC cancel CB");
 
-               CDEBUG(D_MGC, "Lock res "LPX64" (%.8s)\n",
-                      lock->l_resource->lr_name.name[0],
+               CDEBUG(D_MGC, "Lock res "DLDLMRES" (%.8s)\n",
+                      PLDLMRES(lock->l_resource),
                       (char *)&lock->l_resource->lr_name.name[0]);
 
                if (!cld) {
index acd2619227dfcf905c861500037f1b110aa61caa..d66be020983d0e2c002ea0f621d8bf3e749f8f4f 100644 (file)
@@ -282,7 +282,6 @@ int LL_PROC_PROTO(proc_at_history)
 #ifdef CONFIG_SYSCTL
 static ctl_table_t obd_table[] = {
        {
-               INIT_CTL_NAME(OBD_TIMEOUT)
                .procname = "timeout",
                .data     = &obd_timeout,
                .maxlen   = sizeof(int),
@@ -290,7 +289,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_set_timeout
        },
        {
-               INIT_CTL_NAME(OBD_DEBUG_PEER_ON_TIMEOUT)
                .procname = "debug_peer_on_timeout",
                .data     = &obd_debug_peer_on_timeout,
                .maxlen   = sizeof(int),
@@ -298,7 +296,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_dointvec
        },
        {
-               INIT_CTL_NAME(OBD_DUMP_ON_TIMEOUT)
                .procname = "dump_on_timeout",
                .data     = &obd_dump_on_timeout,
                .maxlen   = sizeof(int),
@@ -306,7 +303,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_dointvec
        },
        {
-               INIT_CTL_NAME(OBD_DUMP_ON_EVICTION)
                .procname = "dump_on_eviction",
                .data     = &obd_dump_on_eviction,
                .maxlen   = sizeof(int),
@@ -314,7 +310,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_dointvec
        },
        {
-               INIT_CTL_NAME(OBD_MEMUSED)
                .procname = "memused",
                .data     = NULL,
                .maxlen   = 0,
@@ -322,7 +317,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_memory_alloc
        },
        {
-               INIT_CTL_NAME(OBD_PAGESUSED)
                .procname = "pagesused",
                .data     = NULL,
                .maxlen   = 0,
@@ -330,7 +324,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_pages_alloc
        },
        {
-               INIT_CTL_NAME(OBD_MAXMEMUSED)
                .procname = "memused_max",
                .data     = NULL,
                .maxlen   = 0,
@@ -338,7 +331,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_mem_max
        },
        {
-               INIT_CTL_NAME(OBD_MAXPAGESUSED)
                .procname = "pagesused_max",
                .data     = NULL,
                .maxlen   = 0,
@@ -346,7 +338,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_pages_max
        },
        {
-               INIT_CTL_NAME(OBD_LDLM_TIMEOUT)
                .procname = "ldlm_timeout",
                .data     = &ldlm_timeout,
                .maxlen   = sizeof(int),
@@ -354,7 +345,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_set_timeout
        },
        {
-               INIT_CTL_NAME(OBD_ALLOC_FAIL_RATE)
                .procname = "alloc_fail_rate",
                .data     = &obd_alloc_fail_rate,
                .maxlen   = sizeof(int),
@@ -362,7 +352,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_alloc_fail_rate
        },
        {
-               INIT_CTL_NAME(OBD_MAX_DIRTY_PAGES)
                .procname = "max_dirty_mb",
                .data     = &obd_max_dirty_pages,
                .maxlen   = sizeof(int),
@@ -370,7 +359,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_max_dirty_pages_in_mb
        },
        {
-               INIT_CTL_NAME(OBD_AT_MIN)
                .procname = "at_min",
                .data     = &at_min,
                .maxlen   = sizeof(int),
@@ -378,7 +366,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_at_min
        },
        {
-               INIT_CTL_NAME(OBD_AT_MAX)
                .procname = "at_max",
                .data     = &at_max,
                .maxlen   = sizeof(int),
@@ -386,7 +373,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_at_max
        },
        {
-               INIT_CTL_NAME(OBD_AT_EXTRA)
                .procname = "at_extra",
                .data     = &at_extra,
                .maxlen   = sizeof(int),
@@ -394,7 +380,6 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_at_extra
        },
        {
-               INIT_CTL_NAME(OBD_AT_EARLY_MARGIN)
                .procname = "at_early_margin",
                .data     = &at_early_margin,
                .maxlen   = sizeof(int),
@@ -402,26 +387,22 @@ static ctl_table_t obd_table[] = {
                .proc_handler = &proc_at_early_margin
        },
        {
-               INIT_CTL_NAME(OBD_AT_HISTORY)
                .procname = "at_history",
                .data     = &at_history,
                .maxlen   = sizeof(int),
                .mode     = 0644,
                .proc_handler = &proc_at_history
-       },
-       {       INIT_CTL_NAME(0)    }
+       }
 };
 
 static ctl_table_t parent_table[] = {
        {
-               INIT_CTL_NAME(OBD_SYSCTL)
                .procname = "lustre",
                .data     = NULL,
                .maxlen   = 0,
                .mode     = 0555,
                .child    = obd_table
-       },
-       {       INIT_CTL_NAME(0)   }
+       }
 };
 #endif
 
index 0cb44287502b712ebe6ab6a9258790408deb4b3d..b4dad344b72a857a21ceda8efdfe673a854ad9c6 100644 (file)
@@ -62,7 +62,7 @@ struct llog_handle *llog_alloc_handle(void)
 
        OBD_ALLOC_PTR(loghandle);
        if (loghandle == NULL)
-               return ERR_PTR(-ENOMEM);
+               return NULL;
 
        init_rwsem(&loghandle->lgh_lock);
        spin_lock_init(&loghandle->lgh_hdr_lock);
index cc19fbab0207cb3070f6a33e6766894050218586..51ab7f4130041d378747c49713362d07517474c5 100644 (file)
@@ -246,7 +246,7 @@ int local_object_create(const struct lu_env *env,
                        struct dt_object_format *dof, struct thandle *th)
 {
        struct dt_thread_info   *dti = dt_info(env);
-       obd_id                   lastid;
+       __le64                   lastid;
        int                      rc;
 
        rc = dt_create(env, o, attr, NULL, dof, th);
index 1fb0ac4e920d58136163b7bd244fe782ecdc493a..9b2dea29236380ed8796cff1ffb1e8a2568cbfe4 100644 (file)
@@ -1106,7 +1106,7 @@ static struct echo_object *cl_echo_object_find(struct echo_device *d,
        /* coverity[overrun-buffer-val] */
        obj = cl_object_find(env, echo_dev2cl(d), fid, &conf->eoc_cl);
        if (IS_ERR(obj))
-               GOTO(out, eco = (void*)obj);
+               GOTO(out, eco = (void *)obj);
 
        eco = cl2echo_obj(obj);
        if (eco->eo_deleted) {
index cb197782d9a3378c0060a21614a8a5fda06be166..c837a0d71e0f2bc5b193c2a4fa4902f0429ae742 100644 (file)
 #include <obd_ost.h>
 #include <obd_lov.h>
 
-#ifdef  __CYGWIN__
-# include <ctype.h>
-#endif
-
 #include <lustre_ha.h>
 #include <lprocfs_status.h>
 #include <lustre_log.h>
index 6d78b80487f2be1a37dad00f13c6f1e9ac60d38c..2ec0c24ff38b52b9b206c8af61a41de6305bdeb8 100644 (file)
@@ -10,7 +10,7 @@ ldlm_objs += $(LDLM)ldlm_pool.o
 ldlm_objs += $(LDLM)interval_tree.o
 ptlrpc_objs := client.o recover.o connection.o niobuf.o pack_generic.o
 ptlrpc_objs += events.o ptlrpc_module.o service.o pinger.o
-ptlrpc_objs += llog_net.o llog_client.o llog_server.o import.o ptlrpcd.o
+ptlrpc_objs += llog_net.o llog_client.o import.o ptlrpcd.o
 ptlrpc_objs += pers.o lproc_ptlrpc.o wiretest.o layout.o
 ptlrpc_objs += sec.o sec_bulk.o sec_gc.o sec_config.o sec_lproc.o
 ptlrpc_objs += sec_null.o sec_plain.o nrs.o nrs_fifo.o
index c2ab0c8c4d42520b16be642385636240f7cb8a9e..d90efe4084147d77d035b7d72350ce4fae147f62 100644 (file)
@@ -200,7 +200,7 @@ void __ptlrpc_free_bulk(struct ptlrpc_bulk_desc *desc, int unpin)
                class_import_put(desc->bd_import);
 
        if (unpin) {
-               for (i = 0; i < desc->bd_iov_count ; i++)
+               for (i = 0; i < desc->bd_iov_count; i++)
                        page_cache_release(desc->bd_iov[i].kiov_page);
        }
 
@@ -459,7 +459,7 @@ ptlrpc_init_rq_pool(int num_rq, int msgsize,
 {
        struct ptlrpc_request_pool *pool;
 
-       OBD_ALLOC(pool, sizeof (struct ptlrpc_request_pool));
+       OBD_ALLOC(pool, sizeof(struct ptlrpc_request_pool));
        if (!pool)
                return NULL;
 
@@ -475,7 +475,7 @@ ptlrpc_init_rq_pool(int num_rq, int msgsize,
 
        if (list_empty(&pool->prp_req_list)) {
                /* have not allocated a single request for the pool */
-               OBD_FREE(pool, sizeof (struct ptlrpc_request_pool));
+               OBD_FREE(pool, sizeof(struct ptlrpc_request_pool));
                pool = NULL;
        }
        return pool;
@@ -881,7 +881,7 @@ void ptlrpc_set_destroy(struct ptlrpc_request_set *set)
        /* Requests on the set should either all be completed, or all be new */
        expected_phase = (atomic_read(&set->set_remaining) == 0) ?
                         RQ_PHASE_COMPLETE : RQ_PHASE_NEW;
-       list_for_each (tmp, &set->set_requests) {
+       list_for_each(tmp, &set->set_requests) {
                struct ptlrpc_request *req =
                        list_entry(tmp, struct ptlrpc_request,
                                       rq_set_chain);
@@ -912,7 +912,7 @@ void ptlrpc_set_destroy(struct ptlrpc_request_set *set)
                req->rq_invalid_rqset = 0;
                spin_unlock(&req->rq_lock);
 
-               ptlrpc_req_finished (req);
+               ptlrpc_req_finished(req);
        }
 
        LASSERT(atomic_read(&set->set_remaining) == 0);
@@ -1020,7 +1020,7 @@ static int ptlrpc_import_delay_req(struct obd_import *imp,
 {
        int delay = 0;
 
-       LASSERT (status != NULL);
+       LASSERT(status != NULL);
        *status = 0;
 
        if (req->rq_ctx_init || req->rq_ctx_fini) {
@@ -1039,7 +1039,7 @@ static int ptlrpc_import_delay_req(struct obd_import *imp,
                *status = -EIO;
        } else if (req->rq_send_state == LUSTRE_IMP_CONNECTING &&
                   imp->imp_state == LUSTRE_IMP_CONNECTING) {
-               /* allow CONNECT even if import is invalid */ ;
+               /* allow CONNECT even if import is invalid */
                if (atomic_read(&imp->imp_inval_count) != 0) {
                        DEBUG_REQ(D_ERROR, req, "invalidate in flight");
                        *status = -EIO;
@@ -1596,7 +1596,8 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set)
                                        continue;
 
                                spin_lock(&imp->imp_lock);
-                               if (ptlrpc_import_delay_req(imp, req, &status)){
+                               if (ptlrpc_import_delay_req(imp, req,
+                                                           &status)) {
                                        /* put on delay list - only if we wait
                                         * recovery finished - before send */
                                        list_del_init(&req->rq_list);
@@ -1752,7 +1753,7 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set)
 
                ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET);
 
-       interpret:
+interpret:
                LASSERT(req->rq_phase == RQ_PHASE_INTERPRET);
 
                /* This moves to "unregistering" phase we need to wait for
@@ -1907,7 +1908,7 @@ int ptlrpc_expired_set(void *data)
        /*
         * A timeout expired. See which reqs it applies to...
         */
-       list_for_each (tmp, &set->set_requests) {
+       list_for_each(tmp, &set->set_requests) {
                struct ptlrpc_request *req =
                        list_entry(tmp, struct ptlrpc_request,
                                       rq_set_chain);
@@ -2688,7 +2689,7 @@ int ptlrpc_replay_req(struct ptlrpc_request *req)
 
        LASSERT(req->rq_import->imp_state == LUSTRE_IMP_REPLAY);
 
-       LASSERT (sizeof (*aa) <= sizeof (req->rq_async_args));
+       LASSERT(sizeof(*aa) <= sizeof(req->rq_async_args));
        aa = ptlrpc_req_async_args(req);
        memset(aa, 0, sizeof(*aa));
 
@@ -2962,7 +2963,7 @@ void *ptlrpcd_alloc_work(struct obd_import *imp,
        init_waitqueue_head(&req->rq_set_waitq);
        atomic_set(&req->rq_refcount, 1);
 
-       CLASSERT (sizeof(*args) <= sizeof(req->rq_async_args));
+       CLASSERT(sizeof(*args) <= sizeof(req->rq_async_args));
        args = ptlrpc_req_async_args(req);
        args->magic  = PTLRPC_WORK_MAGIC;
        args->cb     = cb;
index 58d089c3fef4905fe1ff1a8f7adc6e1c3b62a4aa..f66cfea87acfccb666f36ef0431141ee6aa25dbc 100644 (file)
@@ -56,9 +56,9 @@ void request_out_callback(lnet_event_t *ev)
        struct ptlrpc_cb_id   *cbid = ev->md.user_ptr;
        struct ptlrpc_request *req = cbid->cbid_arg;
 
-       LASSERT (ev->type == LNET_EVENT_SEND ||
-                ev->type == LNET_EVENT_UNLINK);
-       LASSERT (ev->unlinked);
+       LASSERT(ev->type == LNET_EVENT_SEND ||
+               ev->type == LNET_EVENT_UNLINK);
+       LASSERT(ev->unlinked);
 
        DEBUG_REQ(D_NET, req, "type %d, status %d", ev->type, ev->status);
 
@@ -90,9 +90,9 @@ void reply_in_callback(lnet_event_t *ev)
 
        DEBUG_REQ(D_NET, req, "type %d, status %d", ev->type, ev->status);
 
-       LASSERT (ev->type == LNET_EVENT_PUT || ev->type == LNET_EVENT_UNLINK);
-       LASSERT (ev->md.start == req->rq_repbuf);
-       LASSERT (ev->offset + ev->mlength <= req->rq_repbuf_len);
+       LASSERT(ev->type == LNET_EVENT_PUT || ev->type == LNET_EVENT_UNLINK);
+       LASSERT(ev->md.start == req->rq_repbuf);
+       LASSERT(ev->offset + ev->mlength <= req->rq_repbuf_len);
        /* We've set LNET_MD_MANAGE_REMOTE for all outgoing requests
           for adaptive timeouts' early reply. */
        LASSERT((ev->md.options & LNET_MD_MANAGE_REMOTE) != 0);
@@ -113,7 +113,7 @@ void reply_in_callback(lnet_event_t *ev)
                goto out_wake;
        }
 
-       if (ev->mlength < ev->rlength ) {
+       if (ev->mlength < ev->rlength) {
                CDEBUG(D_RPCTRACE, "truncate req %p rpc %d - %d+%d\n", req,
                       req->rq_replen, ev->rlength, ev->offset);
                req->rq_reply_truncate = 1;
@@ -167,18 +167,18 @@ out_wake:
 /*
  * Client's bulk has been written/read
  */
-void client_bulk_callback (lnet_event_t *ev)
+void client_bulk_callback(lnet_event_t *ev)
 {
        struct ptlrpc_cb_id     *cbid = ev->md.user_ptr;
        struct ptlrpc_bulk_desc *desc = cbid->cbid_arg;
        struct ptlrpc_request   *req;
 
-       LASSERT ((desc->bd_type == BULK_PUT_SINK &&
-                 ev->type == LNET_EVENT_PUT) ||
-                (desc->bd_type == BULK_GET_SOURCE &&
-                 ev->type == LNET_EVENT_GET) ||
-                ev->type == LNET_EVENT_UNLINK);
-       LASSERT (ev->unlinked);
+       LASSERT((desc->bd_type == BULK_PUT_SINK &&
+                ev->type == LNET_EVENT_PUT) ||
+               (desc->bd_type == BULK_GET_SOURCE &&
+                ev->type == LNET_EVENT_GET) ||
+               ev->type == LNET_EVENT_UNLINK);
+       LASSERT(ev->unlinked);
 
        if (CFS_FAIL_CHECK_ORSET(OBD_FAIL_PTLRPC_CLIENT_BULK_CB, CFS_FAIL_ONCE))
                ev->status = -EIO;
@@ -283,11 +283,11 @@ void request_in_callback(lnet_event_t *ev)
        struct ptlrpc_service        *service = svcpt->scp_service;
        struct ptlrpc_request        *req;
 
-       LASSERT (ev->type == LNET_EVENT_PUT ||
-                ev->type == LNET_EVENT_UNLINK);
-       LASSERT ((char *)ev->md.start >= rqbd->rqbd_buffer);
-       LASSERT ((char *)ev->md.start + ev->offset + ev->mlength <=
-                rqbd->rqbd_buffer + service->srv_buf_size);
+       LASSERT(ev->type == LNET_EVENT_PUT ||
+               ev->type == LNET_EVENT_UNLINK);
+       LASSERT((char *)ev->md.start >= rqbd->rqbd_buffer);
+       LASSERT((char *)ev->md.start + ev->offset + ev->mlength <=
+               rqbd->rqbd_buffer + service->srv_buf_size);
 
        CDEBUG((ev->status == 0) ? D_NET : D_ERROR,
               "event type %d, status %d, service %s\n",
@@ -300,9 +300,9 @@ void request_in_callback(lnet_event_t *ev)
                 * we'd have to re-post the rqbd, which we can't do in this
                 * context. */
                req = &rqbd->rqbd_req;
-               memset(req, 0, sizeof (*req));
+               memset(req, 0, sizeof(*req));
        } else {
-               LASSERT (ev->type == LNET_EVENT_PUT);
+               LASSERT(ev->type == LNET_EVENT_PUT);
                if (ev->status != 0) {
                        /* We moaned above already... */
                        return;
@@ -381,19 +381,19 @@ void reply_out_callback(lnet_event_t *ev)
        struct ptlrpc_reply_state *rs = cbid->cbid_arg;
        struct ptlrpc_service_part *svcpt = rs->rs_svcpt;
 
-       LASSERT (ev->type == LNET_EVENT_SEND ||
-                ev->type == LNET_EVENT_ACK ||
-                ev->type == LNET_EVENT_UNLINK);
+       LASSERT(ev->type == LNET_EVENT_SEND ||
+               ev->type == LNET_EVENT_ACK ||
+               ev->type == LNET_EVENT_UNLINK);
 
        if (!rs->rs_difficult) {
                /* 'Easy' replies have no further processing so I drop the
                 * net's ref on 'rs' */
-               LASSERT (ev->unlinked);
+               LASSERT(ev->unlinked);
                ptlrpc_rs_decref(rs);
                return;
        }
 
-       LASSERT (rs->rs_on_net);
+       LASSERT(rs->rs_on_net);
 
        if (ev->unlinked) {
                /* Last network callback. The net's ref on 'rs' stays put
@@ -419,18 +419,17 @@ static void ptlrpc_master_callback(lnet_event_t *ev)
        void (*callback)(lnet_event_t *ev) = cbid->cbid_fn;
 
        /* Honestly, it's best to find out early. */
-       LASSERT (cbid->cbid_arg != LP_POISON);
-       LASSERT (callback == request_out_callback ||
-                callback == reply_in_callback ||
-                callback == client_bulk_callback ||
-                callback == request_in_callback ||
-                callback == reply_out_callback
-                );
-
-       callback (ev);
+       LASSERT(cbid->cbid_arg != LP_POISON);
+       LASSERT(callback == request_out_callback ||
+               callback == reply_in_callback ||
+               callback == client_bulk_callback ||
+               callback == request_in_callback ||
+               callback == reply_out_callback);
+
+       callback(ev);
 }
 
-int ptlrpc_uuid_to_peer (struct obd_uuid *uuid,
+int ptlrpc_uuid_to_peer(struct obd_uuid *uuid,
                         lnet_process_id_t *peer, lnet_nid_t *self)
 {
        int            best_dist = 0;
@@ -538,7 +537,7 @@ int ptlrpc_ni_init(void)
        /* We're not passing any limits yet... */
        rc = LNetNIInit(pid);
        if (rc < 0) {
-               CDEBUG (D_NET, "Can't init network interface: %d\n", rc);
+               CDEBUG(D_NET, "Can't init network interface: %d\n", rc);
                return (-ENOENT);
        }
 
@@ -552,7 +551,7 @@ int ptlrpc_ni_init(void)
        if (rc == 0)
                return 0;
 
-       CERROR ("Failed to allocate event queue: %d\n", rc);
+       CERROR("Failed to allocate event queue: %d\n", rc);
        LNetNIFini();
 
        return (-ENOMEM);
index c70eb00796f986e52eb7bb483e41163629cb98e8..bdfd83880422251d119951cfdab888ec5cb9ad0c 100644 (file)
@@ -64,9 +64,9 @@
 #define G_REFLECT                              (-2045022961L)
 #define G_WRONG_TOKID                      (-2045022960L)
 
-#define g_OID_equal(o1,o2) \
-   (((o1)->len == (o2)->len) && \
-    (memcmp((o1)->data,(o2)->data,(int) (o1)->len) == 0))
+#define g_OID_equal(o1, o2) \
+       (((o1)->len == (o2)->len) && \
+        (memcmp((o1)->data, (o2)->data, (int) (o1)->len) == 0))
 
 __u32 g_verify_token_header(rawobj_t *mech,
                            int *body_size,
index 13425796fa33000c3f89c71ce3eb982039622065..37ec101e14e50b8757ebb2dbb54cadae7e5b99fa 100644 (file)
@@ -106,14 +106,14 @@ typedef unsigned int OM_uint32;
  * evaluates its argument only once.
  */
 #define GSS_CALLING_ERROR(x) \
-  ((x) & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
+       ((x) & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
 #define GSS_ROUTINE_ERROR(x) \
-  ((x) & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
+       ((x) & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
 #define GSS_SUPPLEMENTARY_INFO(x) \
-  ((x) & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
+       ((x) & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
 #define GSS_ERROR(x) \
-  ((x) & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
-         (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
+       ((x) & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
+               (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
 
 /*
  * Now the actual status code definitions
index 188dbbfbd2f495c3aeee906f71ae51900abfef71..d43a13c696695f51b2f28575467cd2a18daa778e 100644 (file)
@@ -165,7 +165,7 @@ void ctx_start_timer_kr(struct ptlrpc_cli_ctx *ctx, long timeout)
 
        init_timer(timer);
        timer->expires = timeout;
-       timer->data = (unsigned long ) ctx;
+       timer->data = (unsigned long) ctx;
        timer->function = ctx_upcall_timeout_kr;
 
        add_timer(timer);
index c106a9e049a7516412253fd6e1e3139901fad500..b9fa3b4a40dbad20ecf6f01f2e0a6257b84ddcff 100644 (file)
@@ -1276,7 +1276,7 @@ arc4_out_tfm:
 arc4_out_key:
                rawobj_free(&arc4_keye);
 arc4_out:
-               do {} while(0); /* just to avoid compile warning */
+               do {} while (0); /* just to avoid compile warning */
        } else {
                rc = krb5_encrypt_rawobjs(kctx->kc_keye.kb_tfm, 0,
                                          3, data_desc, &cipher, 1);
index b42ddda9ee25e70ee428f4fa1b5dbe5fd8e62a77..8ce6271a5daa53320355364c106e5dc86ffd81ef 100644 (file)
@@ -483,7 +483,7 @@ int gss_do_check_seq(unsigned long *window, __u32 win_size, __u32 *max_seq,
                        memset(window, 0, win_size / 8);
                        *max_seq = seq_num;
                } else {
-                       while(*max_seq < seq_num) {
+                       while (*max_seq < seq_num) {
                                (*max_seq)++;
                                __clear_bit((*max_seq) % win_size, window);
                        }
@@ -804,7 +804,8 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx,
        case PTLRPC_GSS_PROC_DATA:
                pack_bulk = ghdr->gh_flags & LUSTRE_GSS_PACK_BULK;
 
-               if (!req->rq_early && !equi(req->rq_pack_bulk == 1, pack_bulk)){
+               if (!req->rq_early &&
+                   !equi(req->rq_pack_bulk == 1, pack_bulk)) {
                        CERROR("%s bulk flag in reply\n",
                               req->rq_pack_bulk ? "missing" : "unexpected");
                        return -EPROTO;
@@ -1009,7 +1010,8 @@ int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx,
        case PTLRPC_GSS_PROC_DATA:
                pack_bulk = ghdr->gh_flags & LUSTRE_GSS_PACK_BULK;
 
-               if (!req->rq_early && !equi(req->rq_pack_bulk == 1, pack_bulk)){
+               if (!req->rq_early &&
+                   !equi(req->rq_pack_bulk == 1, pack_bulk)) {
                        CERROR("%s bulk flag in reply\n",
                               req->rq_pack_bulk ? "missing" : "unexpected");
                        return -EPROTO;
@@ -1979,7 +1981,7 @@ int gss_svc_handle_init(struct ptlrpc_request *req,
                return SECSVC_DROP;
        }
 
-       if (reqbuf->lm_bufcount < 3 || reqbuf->lm_bufcount > 4){
+       if (reqbuf->lm_bufcount < 3 || reqbuf->lm_bufcount > 4) {
                CERROR("Invalid bufcount %d\n", reqbuf->lm_bufcount);
                return SECSVC_DROP;
        }
@@ -2369,7 +2371,7 @@ int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req)
        if (swabbed)
                gss_header_swabber(ghdr);
 
-       switch(ghdr->gh_proc) {
+       switch (ghdr->gh_proc) {
        case PTLRPC_GSS_PROC_INIT:
        case PTLRPC_GSS_PROC_CONTINUE_INIT:
                rc = gss_svc_handle_init(req, gw);
@@ -2388,7 +2390,7 @@ int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req)
 
        switch (rc) {
        case SECSVC_OK:
-               LASSERT (grctx->src_ctx);
+               LASSERT(grctx->src_ctx);
 
                req->rq_auth_gss = 1;
                req->rq_auth_remote = grctx->src_ctx->gsc_remote;
index 7b96a0e88cdbb5cd1f63d0096c2d7d81d737ea05..283173a2fe2334fcf44165e0d7fc9d31bea59f71 100644 (file)
@@ -72,23 +72,23 @@ static void __import_set_state(struct obd_import *imp,
 }
 
 /* A CLOSED import should remain so. */
-#define IMPORT_SET_STATE_NOLOCK(imp, state)                                \
-do {                                                                      \
-       if (imp->imp_state != LUSTRE_IMP_CLOSED) {                           \
-              CDEBUG(D_HA, "%p %s: changing import state from %s to %s\n",    \
-                     imp, obd2cli_tgt(imp->imp_obd),                     \
-                     ptlrpc_import_state_name(imp->imp_state),         \
-                     ptlrpc_import_state_name(state));                 \
-              __import_set_state(imp, state);                           \
-       }                                                                     \
-} while(0)
+#define IMPORT_SET_STATE_NOLOCK(imp, state)                                   \
+do {                                                                          \
+       if (imp->imp_state != LUSTRE_IMP_CLOSED) {                             \
+               CDEBUG(D_HA, "%p %s: changing import state from %s to %s\n",   \
+                      imp, obd2cli_tgt(imp->imp_obd),                         \
+                      ptlrpc_import_state_name(imp->imp_state),               \
+                      ptlrpc_import_state_name(state));                       \
+               __import_set_state(imp, state);                                \
+       }                                                                      \
+} while (0)
 
 #define IMPORT_SET_STATE(imp, state)                                   \
 do {                                                                   \
        spin_lock(&imp->imp_lock);                                      \
        IMPORT_SET_STATE_NOLOCK(imp, state);                            \
        spin_unlock(&imp->imp_lock);                                    \
-} while(0)
+} while (0)
 
 
 static int ptlrpc_connect_interpret(const struct lu_env *env,
@@ -680,7 +680,7 @@ int ptlrpc_connect_import(struct obd_import *imp)
        ptlrpc_request_set_replen(request);
        request->rq_interpret_reply = ptlrpc_connect_interpret;
 
-       CLASSERT(sizeof (*aa) <= sizeof (request->rq_async_args));
+       CLASSERT(sizeof(*aa) <= sizeof(request->rq_async_args));
        aa = ptlrpc_req_async_args(request);
        memset(aa, 0, sizeof(*aa));
 
@@ -859,7 +859,7 @@ static int ptlrpc_connect_interpret(const struct lu_env *env,
        if (MSG_CONNECT_RECONNECT & msg_flags) {
                memset(&old_hdl, 0, sizeof(old_hdl));
                if (!memcmp(&old_hdl, lustre_msg_get_handle(request->rq_repmsg),
-                           sizeof (old_hdl))) {
+                           sizeof(old_hdl))) {
                        LCONSOLE_WARN("Reconnect to %s (at @%s) failed due "
                                      "bad handle "LPX64"\n",
                                      obd2cli_tgt(imp->imp_obd),
@@ -1135,9 +1135,11 @@ out:
                        if (ocd &&
                            (ocd->ocd_connect_flags & OBD_CONNECT_VERSION) &&
                            (ocd->ocd_version != LUSTRE_VERSION_CODE)) {
-                          /* Actually servers are only supposed to refuse
-                             connection from liblustre clients, so we should
-                             never see this from VFS context */
+                               /*
+                                * Actually servers are only supposed to refuse
+                                * connection from liblustre clients, so we
+                                * should never see this from VFS context
+                                */
                                LCONSOLE_ERROR_MSG(0x16a, "Server %s version "
                                        "(%d.%d.%d.%d)"
                                        " refused connection from this client "
@@ -1507,7 +1509,7 @@ int at_measured(struct adaptive_timeout *at, unsigned int val)
                at->at_worst_time = now;
                at->at_hist[0] = val;
                at->at_binstart = now;
-       } else if (now - at->at_binstart < binlimit ) {
+       } else if (now - at->at_binstart < binlimit) {
                /* in bin 0 */
                at->at_hist[0] = max(val, at->at_hist[0]);
                at->at_current = max(val, at->at_current);
@@ -1517,7 +1519,7 @@ int at_measured(struct adaptive_timeout *at, unsigned int val)
                /* move bins over */
                shift = (now - at->at_binstart) / binlimit;
                LASSERT(shift > 0);
-               for(i = AT_BINS - 1; i >= 0; i--) {
+               for (i = AT_BINS - 1; i >= 0; i--) {
                        if (i >= shift) {
                                at->at_hist[i] = at->at_hist[i - shift];
                                maxv = max(maxv, at->at_hist[i]);
index d0a6e56892271c2bc00072e207f74248f84209a1..504682d2eefa69147acf92d9aed357593fe029a9 100644 (file)
@@ -1808,7 +1808,7 @@ swabber_dumper_helper(struct req_capsule *pill,
                      const struct req_msg_field *field,
                      enum req_location loc,
                      int offset,
-                     void *value, int len, int dump, void (*swabber)( void *))
+                     void *value, int len, int dump, void (*swabber)(void *))
 {
        void    *p;
        int     i;
@@ -1883,7 +1883,7 @@ swabber_dumper_helper(struct req_capsule *pill,
 static void *__req_capsule_get(struct req_capsule *pill,
                               const struct req_msg_field *field,
                               enum req_location loc,
-                              void (*swabber)( void *),
+                              void (*swabber)(void *),
                               int dump)
 {
        const struct req_format *fmt;
index 379e59477ea2df00b7476e5be03dee06d6e6f34d..ab084541fddb00e453507b0ea0f8aeda31149e4e 100644 (file)
@@ -63,7 +63,7 @@
                return (-EINVAL);                                    \
        }                                                            \
        mutex_unlock(&ctxt->loc_mutex);                    \
-} while(0)
+} while (0)
 
 #define LLOG_CLIENT_EXIT(ctxt, imp) do {                             \
        mutex_lock(&ctxt->loc_mutex);                        \
@@ -72,7 +72,7 @@
                       ctxt->loc_imp, imp);                        \
        class_import_put(imp);                                  \
        mutex_unlock(&ctxt->loc_mutex);                    \
-} while(0)
+} while (0)
 
 /* This is a callback from the llog_* functions.
  * Assumes caller has already pushed us into the kernel context. */
@@ -302,7 +302,7 @@ static int llog_client_read_header(const struct lu_env *env,
        if (hdr == NULL)
                GOTO(out, rc =-EFAULT);
 
-       memcpy(handle->lgh_hdr, hdr, sizeof (*hdr));
+       memcpy(handle->lgh_hdr, hdr, sizeof(*hdr));
        handle->lgh_last_idx = handle->lgh_hdr->llh_tail.lrt_index;
 
        /* sanity checks */
diff --git a/drivers/staging/lustre/lustre/ptlrpc/llog_server.c b/drivers/staging/lustre/lustre/ptlrpc/llog_server.c
deleted file mode 100644 (file)
index af9d2ac..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * GPL HEADER START
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 only,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- * GPL HEADER END
- */
-/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * Use is subject to license terms.
- *
- * Copyright (c) 2011, 2012, Intel Corporation.
- */
-/*
- * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
- *
- * lustre/ptlrpc/llog_server.c
- *
- * remote api for llog - server side
- *
- * Author: Andreas Dilger <adilger@clusterfs.com>
- */
-
-#define DEBUG_SUBSYSTEM S_LOG
-
-
-#include <obd_class.h>
-#include <lustre_log.h>
-#include <lustre_net.h>
-#include <lustre_fsfilt.h>
-
-#if  defined(LUSTRE_LOG_SERVER)
-static int llog_origin_close(const struct lu_env *env, struct llog_handle *lgh)
-{
-       if (lgh->lgh_hdr != NULL && lgh->lgh_hdr->llh_flags & LLOG_F_IS_CAT)
-               return llog_cat_close(env, lgh);
-       else
-               return llog_close(env, lgh);
-}
-
-/* Only open is supported, no new llog can be created remotely */
-int llog_origin_handle_open(struct ptlrpc_request *req)
-{
-       struct obd_export       *exp = req->rq_export;
-       struct obd_device       *obd = exp->exp_obd;
-       struct obd_device       *disk_obd;
-       struct lvfs_run_ctxt     saved;
-       struct llog_handle      *loghandle;
-       struct llogd_body       *body;
-       struct llog_logid       *logid = NULL;
-       struct llog_ctxt        *ctxt;
-       char                    *name = NULL;
-       int                      rc;
-
-       body = req_capsule_client_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       if (body == NULL)
-               return -EFAULT;
-
-       if (ostid_id(&body->lgd_logid.lgl_oi) > 0)
-               logid = &body->lgd_logid;
-
-       if (req_capsule_field_present(&req->rq_pill, &RMF_NAME, RCL_CLIENT)) {
-               name = req_capsule_client_get(&req->rq_pill, &RMF_NAME);
-               if (name == NULL)
-                       return -EFAULT;
-               CDEBUG(D_INFO, "%s: opening log %s\n", obd->obd_name, name);
-       }
-
-       ctxt = llog_get_context(obd, body->lgd_ctxt_idx);
-       if (ctxt == NULL) {
-               CDEBUG(D_WARNING, "%s: no ctxt. group=%p idx=%d name=%s\n",
-                      obd->obd_name, &obd->obd_olg, body->lgd_ctxt_idx, name);
-               return -ENODEV;
-       }
-       disk_obd = ctxt->loc_exp->exp_obd;
-       push_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-
-       rc = llog_open(req->rq_svc_thread->t_env, ctxt, &loghandle, logid,
-                      name, LLOG_OPEN_EXISTS);
-       if (rc)
-               GOTO(out_pop, rc);
-
-       rc = req_capsule_server_pack(&req->rq_pill);
-       if (rc)
-               GOTO(out_close, rc = -ENOMEM);
-
-       body = req_capsule_server_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       body->lgd_logid = loghandle->lgh_id;
-
-out_close:
-       llog_origin_close(req->rq_svc_thread->t_env, loghandle);
-out_pop:
-       pop_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       llog_ctxt_put(ctxt);
-       return rc;
-}
-EXPORT_SYMBOL(llog_origin_handle_open);
-
-int llog_origin_handle_destroy(struct ptlrpc_request *req)
-{
-       struct obd_device       *disk_obd;
-       struct lvfs_run_ctxt     saved;
-       struct llogd_body       *body;
-       struct llog_logid       *logid = NULL;
-       struct llog_ctxt        *ctxt;
-       int                      rc;
-
-       body = req_capsule_client_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       if (body == NULL)
-               return -EFAULT;
-
-       if (ostid_id(&body->lgd_logid.lgl_oi) > 0)
-               logid = &body->lgd_logid;
-
-       if (!(body->lgd_llh_flags & LLOG_F_IS_PLAIN))
-               CERROR("%s: wrong llog flags %x\n",
-                      req->rq_export->exp_obd->obd_name, body->lgd_llh_flags);
-
-       ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
-       if (ctxt == NULL)
-               return -ENODEV;
-
-       disk_obd = ctxt->loc_exp->exp_obd;
-       push_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-
-       rc = req_capsule_server_pack(&req->rq_pill);
-       /* erase only if no error and logid is valid */
-       if (rc == 0)
-               rc = llog_erase(req->rq_svc_thread->t_env, ctxt, logid, NULL);
-       pop_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       llog_ctxt_put(ctxt);
-       return rc;
-}
-EXPORT_SYMBOL(llog_origin_handle_destroy);
-
-int llog_origin_handle_next_block(struct ptlrpc_request *req)
-{
-       struct obd_device   *disk_obd;
-       struct llog_handle  *loghandle;
-       struct llogd_body   *body;
-       struct llogd_body   *repbody;
-       struct lvfs_run_ctxt saved;
-       struct llog_ctxt    *ctxt;
-       __u32           flags;
-       void            *ptr;
-       int               rc;
-
-       body = req_capsule_client_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       if (body == NULL)
-               return -EFAULT;
-
-       ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
-       if (ctxt == NULL)
-               return -ENODEV;
-
-       disk_obd = ctxt->loc_exp->exp_obd;
-       push_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-
-       rc = llog_open(req->rq_svc_thread->t_env, ctxt, &loghandle,
-                      &body->lgd_logid, NULL, LLOG_OPEN_EXISTS);
-       if (rc)
-               GOTO(out_pop, rc);
-
-       flags = body->lgd_llh_flags;
-       rc = llog_init_handle(req->rq_svc_thread->t_env, loghandle, flags,
-                             NULL);
-       if (rc)
-               GOTO(out_close, rc);
-
-       req_capsule_set_size(&req->rq_pill, &RMF_EADATA, RCL_SERVER,
-                            LLOG_CHUNK_SIZE);
-       rc = req_capsule_server_pack(&req->rq_pill);
-       if (rc)
-               GOTO(out_close, rc = -ENOMEM);
-
-       repbody = req_capsule_server_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       *repbody = *body;
-
-       ptr = req_capsule_server_get(&req->rq_pill, &RMF_EADATA);
-       rc = llog_next_block(req->rq_svc_thread->t_env, loghandle,
-                            &repbody->lgd_saved_index, repbody->lgd_index,
-                            &repbody->lgd_cur_offset, ptr, LLOG_CHUNK_SIZE);
-       if (rc)
-               GOTO(out_close, rc);
-out_close:
-       llog_origin_close(req->rq_svc_thread->t_env, loghandle);
-out_pop:
-       pop_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       llog_ctxt_put(ctxt);
-       return rc;
-}
-EXPORT_SYMBOL(llog_origin_handle_next_block);
-
-int llog_origin_handle_prev_block(struct ptlrpc_request *req)
-{
-       struct llog_handle   *loghandle;
-       struct llogd_body    *body;
-       struct llogd_body    *repbody;
-       struct obd_device    *disk_obd;
-       struct lvfs_run_ctxt  saved;
-       struct llog_ctxt     *ctxt;
-       __u32            flags;
-       void             *ptr;
-       int                rc;
-
-       body = req_capsule_client_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       if (body == NULL)
-               return -EFAULT;
-
-       ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
-       if (ctxt == NULL)
-               return -ENODEV;
-
-       disk_obd = ctxt->loc_exp->exp_obd;
-       push_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-
-       rc = llog_open(req->rq_svc_thread->t_env, ctxt, &loghandle,
-                        &body->lgd_logid, NULL, LLOG_OPEN_EXISTS);
-       if (rc)
-               GOTO(out_pop, rc);
-
-       flags = body->lgd_llh_flags;
-       rc = llog_init_handle(req->rq_svc_thread->t_env, loghandle, flags,
-                             NULL);
-       if (rc)
-               GOTO(out_close, rc);
-
-       req_capsule_set_size(&req->rq_pill, &RMF_EADATA, RCL_SERVER,
-                            LLOG_CHUNK_SIZE);
-       rc = req_capsule_server_pack(&req->rq_pill);
-       if (rc)
-               GOTO(out_close, rc = -ENOMEM);
-
-       repbody = req_capsule_server_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       *repbody = *body;
-
-       ptr = req_capsule_server_get(&req->rq_pill, &RMF_EADATA);
-       rc = llog_prev_block(req->rq_svc_thread->t_env, loghandle,
-                            body->lgd_index, ptr, LLOG_CHUNK_SIZE);
-       if (rc)
-               GOTO(out_close, rc);
-
-out_close:
-       llog_origin_close(req->rq_svc_thread->t_env, loghandle);
-out_pop:
-       pop_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       llog_ctxt_put(ctxt);
-       return rc;
-}
-EXPORT_SYMBOL(llog_origin_handle_prev_block);
-
-int llog_origin_handle_read_header(struct ptlrpc_request *req)
-{
-       struct obd_device    *disk_obd;
-       struct llog_handle   *loghandle;
-       struct llogd_body    *body;
-       struct llog_log_hdr  *hdr;
-       struct lvfs_run_ctxt  saved;
-       struct llog_ctxt     *ctxt;
-       __u32            flags;
-       int                rc;
-
-       body = req_capsule_client_get(&req->rq_pill, &RMF_LLOGD_BODY);
-       if (body == NULL)
-               return -EFAULT;
-
-       ctxt = llog_get_context(req->rq_export->exp_obd, body->lgd_ctxt_idx);
-       if (ctxt == NULL)
-               return -ENODEV;
-
-       disk_obd = ctxt->loc_exp->exp_obd;
-       push_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-
-       rc = llog_open(req->rq_svc_thread->t_env, ctxt, &loghandle,
-                      &body->lgd_logid, NULL, LLOG_OPEN_EXISTS);
-       if (rc)
-               GOTO(out_pop, rc);
-
-       /*
-        * llog_init_handle() reads the llog header
-        */
-       flags = body->lgd_llh_flags;
-       rc = llog_init_handle(req->rq_svc_thread->t_env, loghandle, flags,
-                             NULL);
-       if (rc)
-               GOTO(out_close, rc);
-       flags = loghandle->lgh_hdr->llh_flags;
-
-       rc = req_capsule_server_pack(&req->rq_pill);
-       if (rc)
-               GOTO(out_close, rc = -ENOMEM);
-
-       hdr = req_capsule_server_get(&req->rq_pill, &RMF_LLOG_LOG_HDR);
-       *hdr = *loghandle->lgh_hdr;
-out_close:
-       llog_origin_close(req->rq_svc_thread->t_env, loghandle);
-out_pop:
-       pop_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       llog_ctxt_put(ctxt);
-       return rc;
-}
-EXPORT_SYMBOL(llog_origin_handle_read_header);
-
-int llog_origin_handle_close(struct ptlrpc_request *req)
-{
-       /* Nothing to do */
-       return 0;
-}
-EXPORT_SYMBOL(llog_origin_handle_close);
-
-int llog_origin_handle_cancel(struct ptlrpc_request *req)
-{
-       int num_cookies, rc = 0, err, i, failed = 0;
-       struct obd_device *disk_obd;
-       struct llog_cookie *logcookies;
-       struct llog_ctxt *ctxt = NULL;
-       struct lvfs_run_ctxt saved;
-       struct llog_handle *cathandle;
-       struct inode *inode;
-       void *handle;
-
-       logcookies = req_capsule_client_get(&req->rq_pill, &RMF_LOGCOOKIES);
-       num_cookies = req_capsule_get_size(&req->rq_pill, &RMF_LOGCOOKIES,
-                                          RCL_CLIENT) / sizeof(*logcookies);
-       if (logcookies == NULL || num_cookies == 0) {
-               DEBUG_REQ(D_HA, req, "No llog cookies sent");
-               return -EFAULT;
-       }
-
-       ctxt = llog_get_context(req->rq_export->exp_obd,
-                               logcookies->lgc_subsys);
-       if (ctxt == NULL)
-               return -ENODEV;
-
-       disk_obd = ctxt->loc_exp->exp_obd;
-       push_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       for (i = 0; i < num_cookies; i++, logcookies++) {
-               cathandle = ctxt->loc_handle;
-               LASSERT(cathandle != NULL);
-               inode = cathandle->lgh_file->f_dentry->d_inode;
-
-               handle = fsfilt_start_log(disk_obd, inode,
-                                         FSFILT_OP_CANCEL_UNLINK, NULL, 1);
-               if (IS_ERR(handle)) {
-                       CERROR("fsfilt_start_log() failed: %ld\n",
-                              PTR_ERR(handle));
-                       GOTO(pop_ctxt, rc = PTR_ERR(handle));
-               }
-
-               rc = llog_cat_cancel_records(req->rq_svc_thread->t_env,
-                                            cathandle, 1, logcookies);
-
-               /*
-                * Do not raise -ENOENT errors for resent rpcs. This rec already
-                * might be killed.
-                */
-               if (rc == -ENOENT &&
-                   (lustre_msg_get_flags(req->rq_reqmsg) & MSG_RESENT)) {
-                       /*
-                        * Do not change this message, reply-single.sh test_59b
-                        * expects to find this in log.
-                        */
-                       CDEBUG(D_RPCTRACE, "RESENT cancel req %p - ignored\n",
-                              req);
-                       rc = 0;
-               } else if (rc == 0) {
-                       CDEBUG(D_RPCTRACE, "Canceled %d llog-records\n",
-                              num_cookies);
-               }
-
-               err = fsfilt_commit(disk_obd, inode, handle, 0);
-               if (err) {
-                       CERROR("Error committing transaction: %d\n", err);
-                       if (!rc)
-                               rc = err;
-                       failed++;
-                       GOTO(pop_ctxt, rc);
-               } else if (rc)
-                       failed++;
-       }
-       GOTO(pop_ctxt, rc);
-pop_ctxt:
-       pop_ctxt(&saved, &disk_obd->obd_lvfs_ctxt, NULL);
-       if (rc)
-               CERROR("Cancel %d of %d llog-records failed: %d\n",
-                      failed, num_cookies, rc);
-
-       llog_ctxt_put(ctxt);
-       return rc;
-}
-EXPORT_SYMBOL(llog_origin_handle_cancel);
-
-#else /* !__KERNEL__ */
-int llog_origin_handle_open(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-
-int llog_origin_handle_destroy(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-
-int llog_origin_handle_next_block(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-int llog_origin_handle_prev_block(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-int llog_origin_handle_read_header(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-int llog_origin_handle_close(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-int llog_origin_handle_cancel(struct ptlrpc_request *req)
-{
-       LBUG();
-       return 0;
-}
-#endif
index bea44a3d4a2f387d171ab153515b05c52c0e02c4..65451f77e78242859f77c8a84390c8f53f2b2d94 100644 (file)
@@ -46,8 +46,8 @@
 
 
 struct ll_rpc_opcode {
-     __u32       opcode;
-     const char *opname;
+       __u32       opcode;
+       const char *opname;
 } ll_rpc_opcode_table[LUSTRE_MAX_OPCODES] = {
        { OST_REPLY,    "ost_reply" },
        { OST_GETATTR,      "ost_getattr" },
@@ -137,8 +137,8 @@ struct ll_rpc_opcode {
 };
 
 struct ll_eopcode {
-     __u32       opcode;
-     const char *opname;
+       __u32       opcode;
+       const char *opname;
 } ll_eopcode_table[EXTRA_LAST_OPC] = {
        { LDLM_GLIMPSE_ENQUEUE, "ldlm_glimpse_enqueue" },
        { LDLM_PLAIN_ENQUEUE,   "ldlm_plain_enqueue" },
@@ -221,7 +221,7 @@ void ptlrpc_lprocfs_register(struct proc_dir_entry *root, char *dir,
        for (i = 0; i < EXTRA_LAST_OPC; i++) {
                char *units;
 
-               switch(i) {
+               switch (i) {
                case BRW_WRITE_BYTES:
                case BRW_READ_BYTES:
                        units = "bytes";
index a0e009717a5ad825b9d9627977ad49deb864f7bd..5f2aa7aa17ea7a7738aab307c851ef3a3d1465b0 100644 (file)
  * over \a conn connection to portal \a portal.
  * Returns 0 on success or error code.
  */
-static int ptl_send_buf (lnet_handle_md_t *mdh, void *base, int len,
-                        lnet_ack_req_t ack, struct ptlrpc_cb_id *cbid,
-                        struct ptlrpc_connection *conn, int portal, __u64 xid,
-                        unsigned int offset)
+static int ptl_send_buf(lnet_handle_md_t *mdh, void *base, int len,
+                       lnet_ack_req_t ack, struct ptlrpc_cb_id *cbid,
+                       struct ptlrpc_connection *conn, int portal, __u64 xid,
+                       unsigned int offset)
 {
        int           rc;
        lnet_md_t        md;
 
-       LASSERT (portal != 0);
-       LASSERT (conn != NULL);
-       CDEBUG (D_INFO, "conn=%p id %s\n", conn, libcfs_id2str(conn->c_peer));
+       LASSERT(portal != 0);
+       LASSERT(conn != NULL);
+       CDEBUG(D_INFO, "conn=%p id %s\n", conn, libcfs_id2str(conn->c_peer));
        md.start     = base;
        md.length    = len;
        md.threshold = (ack == LNET_ACK_REQ) ? 2 : 1;
@@ -66,23 +66,24 @@ static int ptl_send_buf (lnet_handle_md_t *mdh, void *base, int len,
        md.eq_handle = ptlrpc_eq_h;
 
        if (unlikely(ack == LNET_ACK_REQ &&
-                    OBD_FAIL_CHECK_ORSET(OBD_FAIL_PTLRPC_ACK, OBD_FAIL_ONCE))){
+                    OBD_FAIL_CHECK_ORSET(OBD_FAIL_PTLRPC_ACK,
+                                         OBD_FAIL_ONCE))) {
                /* don't ask for the ack to simulate failing client */
                ack = LNET_NOACK_REQ;
        }
 
-       rc = LNetMDBind (md, LNET_UNLINK, mdh);
+       rc = LNetMDBind(md, LNET_UNLINK, mdh);
        if (unlikely(rc != 0)) {
-               CERROR ("LNetMDBind failed: %d\n", rc);
-               LASSERT (rc == -ENOMEM);
+               CERROR("LNetMDBind failed: %d\n", rc);
+               LASSERT(rc == -ENOMEM);
                return -ENOMEM;
        }
 
        CDEBUG(D_NET, "Sending %d bytes to portal %d, xid "LPD64", offset %u\n",
               len, portal, xid, offset);
 
-       rc = LNetPut (conn->c_self, *mdh, ack,
-                     conn->c_peer, portal, xid, offset, 0);
+       rc = LNetPut(conn->c_self, *mdh, ack,
+                    conn->c_peer, portal, xid, offset, 0);
        if (unlikely(rc != 0)) {
                int rc2;
                /* We're going to get an UNLINK event when I unlink below,
@@ -363,14 +364,14 @@ int ptlrpc_send_reply(struct ptlrpc_request *req, int flags)
         * request, or a saved copy if this is a req saved in
         * target_queue_final_reply().
         */
-       LASSERT (req->rq_no_reply == 0);
-       LASSERT (req->rq_reqbuf != NULL);
-       LASSERT (rs != NULL);
-       LASSERT ((flags & PTLRPC_REPLY_MAYBE_DIFFICULT) || !rs->rs_difficult);
-       LASSERT (req->rq_repmsg != NULL);
-       LASSERT (req->rq_repmsg == rs->rs_msg);
-       LASSERT (rs->rs_cb_id.cbid_fn == reply_out_callback);
-       LASSERT (rs->rs_cb_id.cbid_arg == rs);
+       LASSERT(req->rq_no_reply == 0);
+       LASSERT(req->rq_reqbuf != NULL);
+       LASSERT(rs != NULL);
+       LASSERT((flags & PTLRPC_REPLY_MAYBE_DIFFICULT) || !rs->rs_difficult);
+       LASSERT(req->rq_repmsg != NULL);
+       LASSERT(req->rq_repmsg == rs->rs_msg);
+       LASSERT(rs->rs_cb_id.cbid_fn == reply_out_callback);
+       LASSERT(rs->rs_cb_id.cbid_arg == rs);
 
        /* There may be no rq_export during failover */
 
@@ -423,12 +424,12 @@ int ptlrpc_send_reply(struct ptlrpc_request *req, int flags)
 
        req->rq_sent = cfs_time_current_sec();
 
-       rc = ptl_send_buf (&rs->rs_md_h, rs->rs_repbuf, rs->rs_repdata_len,
-                          (rs->rs_difficult && !rs->rs_no_ack) ?
-                          LNET_ACK_REQ : LNET_NOACK_REQ,
-                          &rs->rs_cb_id, conn,
-                          ptlrpc_req2svc(req)->srv_rep_portal,
-                          req->rq_xid, req->rq_reply_off);
+       rc = ptl_send_buf(&rs->rs_md_h, rs->rs_repbuf, rs->rs_repdata_len,
+                         (rs->rs_difficult && !rs->rs_no_ack) ?
+                         LNET_ACK_REQ : LNET_NOACK_REQ,
+                         &rs->rs_cb_id, conn,
+                         ptlrpc_req2svc(req)->srv_rep_portal,
+                         req->rq_xid, req->rq_reply_off);
 out:
        if (unlikely(rc != 0))
                ptlrpc_req_drop_rs(req);
@@ -437,7 +438,7 @@ out:
 }
 EXPORT_SYMBOL(ptlrpc_send_reply);
 
-int ptlrpc_reply (struct ptlrpc_request *req)
+int ptlrpc_reply(struct ptlrpc_request *req)
 {
        if (req->rq_no_reply)
                return 0;
@@ -537,13 +538,13 @@ int ptl_send_rpc(struct ptlrpc_request *request, int noreply)
 
        /* bulk register should be done after wrap_request() */
        if (request->rq_bulk != NULL) {
-               rc = ptlrpc_register_bulk (request);
+               rc = ptlrpc_register_bulk(request);
                if (rc != 0)
                        GOTO(out, rc);
        }
 
        if (!noreply) {
-               LASSERT (request->rq_replen != 0);
+               LASSERT(request->rq_replen != 0);
                if (request->rq_repbuf == NULL) {
                        LASSERT(request->rq_repdata == NULL);
                        LASSERT(request->rq_repmsg == NULL);
@@ -566,7 +567,7 @@ int ptl_send_rpc(struct ptlrpc_request *request, int noreply)
                                  LNET_UNLINK, LNET_INS_AFTER, &reply_me_h);
                if (rc != 0) {
                        CERROR("LNetMEAttach failed: %d\n", rc);
-                       LASSERT (rc == -ENOMEM);
+                       LASSERT(rc == -ENOMEM);
                        GOTO(cleanup_bulk, rc = -ENOMEM);
                }
        }
@@ -604,7 +605,7 @@ int ptl_send_rpc(struct ptlrpc_request *request, int noreply)
                                  &request->rq_reply_md_h);
                if (rc != 0) {
                        CERROR("LNetMDAttach failed: %d\n", rc);
-                       LASSERT (rc == -ENOMEM);
+                       LASSERT(rc == -ENOMEM);
                        spin_lock(&request->rq_lock);
                        /* ...but the MD attach didn't succeed... */
                        request->rq_receiving_reply = 0;
@@ -655,7 +656,7 @@ int ptl_send_rpc(struct ptlrpc_request *request, int noreply)
         * nobody apart from the PUT's target has the right nid+XID to
         * access the reply buffer. */
        rc2 = LNetMEUnlink(reply_me_h);
-       LASSERT (rc2 == 0);
+       LASSERT(rc2 == 0);
        /* UNLINKED callback called synchronously */
        LASSERT(!request->rq_receiving_reply);
 
@@ -714,10 +715,10 @@ int ptlrpc_register_rqbd(struct ptlrpc_request_buffer_desc *rqbd)
        if (rc == 0)
                return (0);
 
-       CERROR("LNetMDAttach failed: %d; \n", rc);
-       LASSERT (rc == -ENOMEM);
-       rc = LNetMEUnlink (me_h);
-       LASSERT (rc == 0);
+       CERROR("LNetMDAttach failed: %d;\n", rc);
+       LASSERT(rc == -ENOMEM);
+       rc = LNetMEUnlink(me_h);
+       LASSERT(rc == 0);
        rqbd->rqbd_refcount = 0;
 
        return (-ENOMEM);
index cd2611a3b53d1823b6249c417e771a584fb6ec3e..d831bd7e8e089d1c90c5715320a65f05a202c297 100644 (file)
@@ -274,8 +274,8 @@ do {                                                                        \
        spin_unlock(&ptlrpc_rs_debug_lock);                             \
 } while (0)
 #else
-# define PTLRPC_RS_DEBUG_LRU_ADD(rs) do {} while(0)
-# define PTLRPC_RS_DEBUG_LRU_DEL(rs) do {} while(0)
+# define PTLRPC_RS_DEBUG_LRU_ADD(rs) do {} while (0)
+# define PTLRPC_RS_DEBUG_LRU_DEL(rs) do {} while (0)
 #endif
 
 struct ptlrpc_reply_state *
@@ -507,14 +507,14 @@ void lustre_free_reply_state(struct ptlrpc_reply_state *rs)
 {
        PTLRPC_RS_DEBUG_LRU_DEL(rs);
 
-       LASSERT (atomic_read(&rs->rs_refcount) == 0);
-       LASSERT (!rs->rs_difficult || rs->rs_handled);
-       LASSERT (!rs->rs_on_net);
-       LASSERT (!rs->rs_scheduled);
-       LASSERT (rs->rs_export == NULL);
-       LASSERT (rs->rs_nlocks == 0);
-       LASSERT (list_empty(&rs->rs_exp_list));
-       LASSERT (list_empty(&rs->rs_obd_list));
+       LASSERT(atomic_read(&rs->rs_refcount) == 0);
+       LASSERT(!rs->rs_difficult || rs->rs_handled);
+       LASSERT(!rs->rs_on_net);
+       LASSERT(!rs->rs_scheduled);
+       LASSERT(rs->rs_export == NULL);
+       LASSERT(rs->rs_nlocks == 0);
+       LASSERT(list_empty(&rs->rs_exp_list));
+       LASSERT(list_empty(&rs->rs_obd_list));
 
        sptlrpc_svc_free_rs(rs);
 }
@@ -548,8 +548,8 @@ static int lustre_unpack_msg_v2(struct lustre_msg_v2 *m, int len)
        required_len = lustre_msg_hdr_size_v2(m->lm_bufcount);
        if (len < required_len) {
                /* didn't receive all the buffer lengths */
-               CERROR ("message length %d too small for %d buflens\n",
-                       len, m->lm_bufcount);
+               CERROR("message length %d too small for %d buflens\n",
+                      len, m->lm_bufcount);
                return -EINVAL;
        }
 
@@ -636,8 +636,8 @@ static inline int lustre_unpack_ptlrpc_body_v2(struct ptlrpc_request *req,
        }
 
        if ((pb->pb_version & ~LUSTRE_VERSION_MASK) != PTLRPC_MSG_VERSION) {
-                CERROR("wrong lustre_msg version %08x\n", pb->pb_version);
-                return -EINVAL;
+               CERROR("wrong lustre_msg version %08x\n", pb->pb_version);
+               return -EINVAL;
        }
 
        if (!inout)
@@ -749,7 +749,7 @@ char *lustre_msg_string(struct lustre_msg *m, int index, int max_len)
        }
 
        if (str == NULL) {
-               CERROR ("can't unpack string in msg %p buffer[%d]\n", m, index);
+               CERROR("can't unpack string in msg %p buffer[%d]\n", m, index);
                return NULL;
        }
 
@@ -1653,25 +1653,25 @@ EXPORT_SYMBOL(do_set_info_async);
  */
 void lustre_swab_ptlrpc_body(struct ptlrpc_body *b)
 {
-       __swab32s (&b->pb_type);
-       __swab32s (&b->pb_version);
-       __swab32s (&b->pb_opc);
-       __swab32s (&b->pb_status);
-       __swab64s (&b->pb_last_xid);
-       __swab64s (&b->pb_last_seen);
-       __swab64s (&b->pb_last_committed);
-       __swab64s (&b->pb_transno);
-       __swab32s (&b->pb_flags);
-       __swab32s (&b->pb_op_flags);
-       __swab32s (&b->pb_conn_cnt);
-       __swab32s (&b->pb_timeout);
-       __swab32s (&b->pb_service_time);
-       __swab32s (&b->pb_limit);
-       __swab64s (&b->pb_slv);
-       __swab64s (&b->pb_pre_versions[0]);
-       __swab64s (&b->pb_pre_versions[1]);
-       __swab64s (&b->pb_pre_versions[2]);
-       __swab64s (&b->pb_pre_versions[3]);
+       __swab32s(&b->pb_type);
+       __swab32s(&b->pb_version);
+       __swab32s(&b->pb_opc);
+       __swab32s(&b->pb_status);
+       __swab64s(&b->pb_last_xid);
+       __swab64s(&b->pb_last_seen);
+       __swab64s(&b->pb_last_committed);
+       __swab64s(&b->pb_transno);
+       __swab32s(&b->pb_flags);
+       __swab32s(&b->pb_op_flags);
+       __swab32s(&b->pb_conn_cnt);
+       __swab32s(&b->pb_timeout);
+       __swab32s(&b->pb_service_time);
+       __swab32s(&b->pb_limit);
+       __swab64s(&b->pb_slv);
+       __swab64s(&b->pb_pre_versions[0]);
+       __swab64s(&b->pb_pre_versions[1]);
+       __swab64s(&b->pb_pre_versions[2]);
+       __swab64s(&b->pb_pre_versions[3]);
        CLASSERT(offsetof(typeof(*b), pb_padding) != 0);
        /* While we need to maintain compatibility between
         * clients and servers without ptlrpc_body_v2 (< 2.3)
@@ -1723,33 +1723,33 @@ void lustre_swab_connect(struct obd_connect_data *ocd)
        CLASSERT(offsetof(typeof(*ocd), paddingF) != 0);
 }
 
-void lustre_swab_obdo (struct obdo  *o)
+void lustre_swab_obdo(struct obdo  *o)
 {
-       __swab64s (&o->o_valid);
+       __swab64s(&o->o_valid);
        lustre_swab_ost_id(&o->o_oi);
-       __swab64s (&o->o_parent_seq);
-       __swab64s (&o->o_size);
-       __swab64s (&o->o_mtime);
-       __swab64s (&o->o_atime);
-       __swab64s (&o->o_ctime);
-       __swab64s (&o->o_blocks);
-       __swab64s (&o->o_grant);
-       __swab32s (&o->o_blksize);
-       __swab32s (&o->o_mode);
-       __swab32s (&o->o_uid);
-       __swab32s (&o->o_gid);
-       __swab32s (&o->o_flags);
-       __swab32s (&o->o_nlink);
-       __swab32s (&o->o_parent_oid);
-       __swab32s (&o->o_misc);
-       __swab64s (&o->o_ioepoch);
-       __swab32s (&o->o_stripe_idx);
-       __swab32s (&o->o_parent_ver);
+       __swab64s(&o->o_parent_seq);
+       __swab64s(&o->o_size);
+       __swab64s(&o->o_mtime);
+       __swab64s(&o->o_atime);
+       __swab64s(&o->o_ctime);
+       __swab64s(&o->o_blocks);
+       __swab64s(&o->o_grant);
+       __swab32s(&o->o_blksize);
+       __swab32s(&o->o_mode);
+       __swab32s(&o->o_uid);
+       __swab32s(&o->o_gid);
+       __swab32s(&o->o_flags);
+       __swab32s(&o->o_nlink);
+       __swab32s(&o->o_parent_oid);
+       __swab32s(&o->o_misc);
+       __swab64s(&o->o_ioepoch);
+       __swab32s(&o->o_stripe_idx);
+       __swab32s(&o->o_parent_ver);
        /* o_handle is opaque */
        /* o_lcookie is swabbed elsewhere */
-       __swab32s (&o->o_uid_h);
-       __swab32s (&o->o_gid_h);
-       __swab64s (&o->o_data_version);
+       __swab32s(&o->o_uid_h);
+       __swab32s(&o->o_gid_h);
+       __swab64s(&o->o_data_version);
        CLASSERT(offsetof(typeof(*o), o_padding_4) != 0);
        CLASSERT(offsetof(typeof(*o), o_padding_5) != 0);
        CLASSERT(offsetof(typeof(*o), o_padding_6) != 0);
@@ -1757,19 +1757,19 @@ void lustre_swab_obdo (struct obdo  *o)
 }
 EXPORT_SYMBOL(lustre_swab_obdo);
 
-void lustre_swab_obd_statfs (struct obd_statfs *os)
+void lustre_swab_obd_statfs(struct obd_statfs *os)
 {
-       __swab64s (&os->os_type);
-       __swab64s (&os->os_blocks);
-       __swab64s (&os->os_bfree);
-       __swab64s (&os->os_bavail);
-       __swab64s (&os->os_files);
-       __swab64s (&os->os_ffree);
+       __swab64s(&os->os_type);
+       __swab64s(&os->os_blocks);
+       __swab64s(&os->os_bfree);
+       __swab64s(&os->os_bavail);
+       __swab64s(&os->os_files);
+       __swab64s(&os->os_ffree);
        /* no need to swab os_fsid */
-       __swab32s (&os->os_bsize);
-       __swab32s (&os->os_namelen);
-       __swab64s (&os->os_maxbytes);
-       __swab32s (&os->os_state);
+       __swab32s(&os->os_bsize);
+       __swab32s(&os->os_namelen);
+       __swab64s(&os->os_maxbytes);
+       __swab32s(&os->os_state);
        CLASSERT(offsetof(typeof(*os), os_fprecreated) != 0);
        CLASSERT(offsetof(typeof(*os), os_spare2) != 0);
        CLASSERT(offsetof(typeof(*os), os_spare3) != 0);
@@ -1790,17 +1790,17 @@ void lustre_swab_obd_ioobj(struct obd_ioobj *ioo)
 }
 EXPORT_SYMBOL(lustre_swab_obd_ioobj);
 
-void lustre_swab_niobuf_remote (struct niobuf_remote *nbr)
+void lustre_swab_niobuf_remote(struct niobuf_remote *nbr)
 {
-       __swab64s (&nbr->offset);
-       __swab32s (&nbr->len);
-       __swab32s (&nbr->flags);
+       __swab64s(&nbr->offset);
+       __swab32s(&nbr->len);
+       __swab32s(&nbr->flags);
 }
 EXPORT_SYMBOL(lustre_swab_niobuf_remote);
 
-void lustre_swab_ost_body (struct ost_body *b)
+void lustre_swab_ost_body(struct ost_body *b)
 {
-       lustre_swab_obdo (&b->oa);
+       lustre_swab_obdo(&b->oa);
 }
 EXPORT_SYMBOL(lustre_swab_ost_body);
 
@@ -1861,45 +1861,45 @@ void lustre_swab_lquota_lvb(struct lquota_lvb *lvb)
 }
 EXPORT_SYMBOL(lustre_swab_lquota_lvb);
 
-void lustre_swab_mdt_body (struct mdt_body *b)
+void lustre_swab_mdt_body(struct mdt_body *b)
 {
-       lustre_swab_lu_fid (&b->fid1);
-       lustre_swab_lu_fid (&b->fid2);
+       lustre_swab_lu_fid(&b->fid1);
+       lustre_swab_lu_fid(&b->fid2);
        /* handle is opaque */
-       __swab64s (&b->valid);
-       __swab64s (&b->size);
-       __swab64s (&b->mtime);
-       __swab64s (&b->atime);
-       __swab64s (&b->ctime);
-       __swab64s (&b->blocks);
-       __swab64s (&b->ioepoch);
-       CLASSERT(offsetof(typeof(*b), unused1) != 0);
-       __swab32s (&b->fsuid);
-       __swab32s (&b->fsgid);
-       __swab32s (&b->capability);
-       __swab32s (&b->mode);
-       __swab32s (&b->uid);
-       __swab32s (&b->gid);
-       __swab32s (&b->flags);
-       __swab32s (&b->rdev);
-       __swab32s (&b->nlink);
+       __swab64s(&b->valid);
+       __swab64s(&b->size);
+       __swab64s(&b->mtime);
+       __swab64s(&b->atime);
+       __swab64s(&b->ctime);
+       __swab64s(&b->blocks);
+       __swab64s(&b->ioepoch);
+       __swab64s(&b->t_state);
+       __swab32s(&b->fsuid);
+       __swab32s(&b->fsgid);
+       __swab32s(&b->capability);
+       __swab32s(&b->mode);
+       __swab32s(&b->uid);
+       __swab32s(&b->gid);
+       __swab32s(&b->flags);
+       __swab32s(&b->rdev);
+       __swab32s(&b->nlink);
        CLASSERT(offsetof(typeof(*b), unused2) != 0);
-       __swab32s (&b->suppgid);
-       __swab32s (&b->eadatasize);
-       __swab32s (&b->aclsize);
-       __swab32s (&b->max_mdsize);
-       __swab32s (&b->max_cookiesize);
-       __swab32s (&b->uid_h);
-       __swab32s (&b->gid_h);
+       __swab32s(&b->suppgid);
+       __swab32s(&b->eadatasize);
+       __swab32s(&b->aclsize);
+       __swab32s(&b->max_mdsize);
+       __swab32s(&b->max_cookiesize);
+       __swab32s(&b->uid_h);
+       __swab32s(&b->gid_h);
        CLASSERT(offsetof(typeof(*b), padding_5) != 0);
 }
 EXPORT_SYMBOL(lustre_swab_mdt_body);
 
-void lustre_swab_mdt_ioepoch (struct mdt_ioepoch *b)
+void lustre_swab_mdt_ioepoch(struct mdt_ioepoch *b)
 {
        /* handle is opaque */
-        __swab64s (&b->ioepoch);
-        __swab32s (&b->flags);
+        __swab64s(&b->ioepoch);
+        __swab32s(&b->flags);
         CLASSERT(offsetof(typeof(*b), padding) != 0);
 }
 EXPORT_SYMBOL(lustre_swab_mdt_ioepoch);
@@ -1957,49 +1957,49 @@ void lustre_swab_mgs_config_res(struct mgs_config_res *body)
 }
 EXPORT_SYMBOL(lustre_swab_mgs_config_res);
 
-static void lustre_swab_obd_dqinfo (struct obd_dqinfo *i)
+static void lustre_swab_obd_dqinfo(struct obd_dqinfo *i)
 {
-       __swab64s (&i->dqi_bgrace);
-       __swab64s (&i->dqi_igrace);
-       __swab32s (&i->dqi_flags);
-       __swab32s (&i->dqi_valid);
+       __swab64s(&i->dqi_bgrace);
+       __swab64s(&i->dqi_igrace);
+       __swab32s(&i->dqi_flags);
+       __swab32s(&i->dqi_valid);
 }
 
-static void lustre_swab_obd_dqblk (struct obd_dqblk *b)
+static void lustre_swab_obd_dqblk(struct obd_dqblk *b)
 {
-       __swab64s (&b->dqb_ihardlimit);
-       __swab64s (&b->dqb_isoftlimit);
-       __swab64s (&b->dqb_curinodes);
-       __swab64s (&b->dqb_bhardlimit);
-       __swab64s (&b->dqb_bsoftlimit);
-       __swab64s (&b->dqb_curspace);
-       __swab64s (&b->dqb_btime);
-       __swab64s (&b->dqb_itime);
-       __swab32s (&b->dqb_valid);
+       __swab64s(&b->dqb_ihardlimit);
+       __swab64s(&b->dqb_isoftlimit);
+       __swab64s(&b->dqb_curinodes);
+       __swab64s(&b->dqb_bhardlimit);
+       __swab64s(&b->dqb_bsoftlimit);
+       __swab64s(&b->dqb_curspace);
+       __swab64s(&b->dqb_btime);
+       __swab64s(&b->dqb_itime);
+       __swab32s(&b->dqb_valid);
        CLASSERT(offsetof(typeof(*b), dqb_padding) != 0);
 }
 
-void lustre_swab_obd_quotactl (struct obd_quotactl *q)
+void lustre_swab_obd_quotactl(struct obd_quotactl *q)
 {
-       __swab32s (&q->qc_cmd);
-       __swab32s (&q->qc_type);
-       __swab32s (&q->qc_id);
-       __swab32s (&q->qc_stat);
-       lustre_swab_obd_dqinfo (&q->qc_dqinfo);
-       lustre_swab_obd_dqblk (&q->qc_dqblk);
+       __swab32s(&q->qc_cmd);
+       __swab32s(&q->qc_type);
+       __swab32s(&q->qc_id);
+       __swab32s(&q->qc_stat);
+       lustre_swab_obd_dqinfo(&q->qc_dqinfo);
+       lustre_swab_obd_dqblk(&q->qc_dqblk);
 }
 EXPORT_SYMBOL(lustre_swab_obd_quotactl);
 
-void lustre_swab_mdt_remote_perm (struct mdt_remote_perm *p)
+void lustre_swab_mdt_remote_perm(struct mdt_remote_perm *p)
 {
-       __swab32s (&p->rp_uid);
-       __swab32s (&p->rp_gid);
-       __swab32s (&p->rp_fsuid);
-       __swab32s (&p->rp_fsuid_h);
-       __swab32s (&p->rp_fsgid);
-       __swab32s (&p->rp_fsgid_h);
-       __swab32s (&p->rp_access_perm);
-       __swab32s (&p->rp_padding);
+       __swab32s(&p->rp_uid);
+       __swab32s(&p->rp_gid);
+       __swab32s(&p->rp_fsuid);
+       __swab32s(&p->rp_fsuid_h);
+       __swab32s(&p->rp_fsgid);
+       __swab32s(&p->rp_fsgid_h);
+       __swab32s(&p->rp_access_perm);
+       __swab32s(&p->rp_padding);
 };
 EXPORT_SYMBOL(lustre_swab_mdt_remote_perm);
 
@@ -2089,31 +2089,31 @@ void lustre_swab_mdt_rec_reint (struct mdt_rec_reint *rr)
 };
 EXPORT_SYMBOL(lustre_swab_mdt_rec_reint);
 
-void lustre_swab_lov_desc (struct lov_desc *ld)
+void lustre_swab_lov_desc(struct lov_desc *ld)
 {
-       __swab32s (&ld->ld_tgt_count);
-       __swab32s (&ld->ld_active_tgt_count);
-       __swab32s (&ld->ld_default_stripe_count);
-       __swab32s (&ld->ld_pattern);
-       __swab64s (&ld->ld_default_stripe_size);
-       __swab64s (&ld->ld_default_stripe_offset);
-       __swab32s (&ld->ld_qos_maxage);
+       __swab32s(&ld->ld_tgt_count);
+       __swab32s(&ld->ld_active_tgt_count);
+       __swab32s(&ld->ld_default_stripe_count);
+       __swab32s(&ld->ld_pattern);
+       __swab64s(&ld->ld_default_stripe_size);
+       __swab64s(&ld->ld_default_stripe_offset);
+       __swab32s(&ld->ld_qos_maxage);
        /* uuid endian insensitive */
 }
 EXPORT_SYMBOL(lustre_swab_lov_desc);
 
-void lustre_swab_lmv_desc (struct lmv_desc *ld)
+void lustre_swab_lmv_desc(struct lmv_desc *ld)
 {
-       __swab32s (&ld->ld_tgt_count);
-       __swab32s (&ld->ld_active_tgt_count);
-       __swab32s (&ld->ld_default_stripe_count);
-       __swab32s (&ld->ld_pattern);
-       __swab64s (&ld->ld_default_hash_size);
-       __swab32s (&ld->ld_qos_maxage);
+       __swab32s(&ld->ld_tgt_count);
+       __swab32s(&ld->ld_active_tgt_count);
+       __swab32s(&ld->ld_default_stripe_count);
+       __swab32s(&ld->ld_pattern);
+       __swab64s(&ld->ld_default_hash_size);
+       __swab32s(&ld->ld_qos_maxage);
        /* uuid endian insensitive */
 }
 
-void lustre_swab_lmv_stripe_md (struct lmv_stripe_md *mea)
+void lustre_swab_lmv_stripe_md(struct lmv_stripe_md *mea)
 {
        __swab32s(&mea->mea_magic);
        __swab32s(&mea->mea_count);
@@ -2142,7 +2142,7 @@ void lustre_swab_lmv_user_md(struct lmv_user_md *lum)
 }
 EXPORT_SYMBOL(lustre_swab_lmv_user_md);
 
-static void print_lum (struct lov_user_md *lum)
+static void print_lum(struct lov_user_md *lum)
 {
        CDEBUG(D_OTHER, "lov_user_md %p:\n", lum);
        CDEBUG(D_OTHER, "\tlmm_magic: %#x\n", lum->lmm_magic);
@@ -2212,16 +2212,16 @@ void lustre_swab_lov_user_md_objects(struct lov_user_ost_data *lod,
 }
 EXPORT_SYMBOL(lustre_swab_lov_user_md_objects);
 
-void lustre_swab_ldlm_res_id (struct ldlm_res_id *id)
+void lustre_swab_ldlm_res_id(struct ldlm_res_id *id)
 {
        int  i;
 
        for (i = 0; i < RES_NAME_SIZE; i++)
-               __swab64s (&id->name[i]);
+               __swab64s(&id->name[i]);
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_res_id);
 
-void lustre_swab_ldlm_policy_data (ldlm_wire_policy_data_t *d)
+void lustre_swab_ldlm_policy_data(ldlm_wire_policy_data_t *d)
 {
        /* the lock data is a union and the first two fields are always an
         * extent so it's ok to process an LDLM_EXTENT and LDLM_FLOCK lock
@@ -2234,46 +2234,46 @@ void lustre_swab_ldlm_policy_data (ldlm_wire_policy_data_t *d)
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_policy_data);
 
-void lustre_swab_ldlm_intent (struct ldlm_intent *i)
+void lustre_swab_ldlm_intent(struct ldlm_intent *i)
 {
-       __swab64s (&i->opc);
+       __swab64s(&i->opc);
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_intent);
 
-void lustre_swab_ldlm_resource_desc (struct ldlm_resource_desc *r)
+void lustre_swab_ldlm_resource_desc(struct ldlm_resource_desc *r)
 {
-       __swab32s (&r->lr_type);
+       __swab32s(&r->lr_type);
        CLASSERT(offsetof(typeof(*r), lr_padding) != 0);
-       lustre_swab_ldlm_res_id (&r->lr_name);
+       lustre_swab_ldlm_res_id(&r->lr_name);
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_resource_desc);
 
-void lustre_swab_ldlm_lock_desc (struct ldlm_lock_desc *l)
+void lustre_swab_ldlm_lock_desc(struct ldlm_lock_desc *l)
 {
-       lustre_swab_ldlm_resource_desc (&l->l_resource);
-       __swab32s (&l->l_req_mode);
-       __swab32s (&l->l_granted_mode);
-       lustre_swab_ldlm_policy_data (&l->l_policy_data);
+       lustre_swab_ldlm_resource_desc(&l->l_resource);
+       __swab32s(&l->l_req_mode);
+       __swab32s(&l->l_granted_mode);
+       lustre_swab_ldlm_policy_data(&l->l_policy_data);
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_lock_desc);
 
-void lustre_swab_ldlm_request (struct ldlm_request *rq)
+void lustre_swab_ldlm_request(struct ldlm_request *rq)
 {
-       __swab32s (&rq->lock_flags);
-       lustre_swab_ldlm_lock_desc (&rq->lock_desc);
-       __swab32s (&rq->lock_count);
+       __swab32s(&rq->lock_flags);
+       lustre_swab_ldlm_lock_desc(&rq->lock_desc);
+       __swab32s(&rq->lock_count);
        /* lock_handle[] opaque */
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_request);
 
-void lustre_swab_ldlm_reply (struct ldlm_reply *r)
+void lustre_swab_ldlm_reply(struct ldlm_reply *r)
 {
-       __swab32s (&r->lock_flags);
+       __swab32s(&r->lock_flags);
        CLASSERT(offsetof(typeof(*r), lock_padding) != 0);
-       lustre_swab_ldlm_lock_desc (&r->lock_desc);
+       lustre_swab_ldlm_lock_desc(&r->lock_desc);
        /* lock_handle opaque */
-       __swab64s (&r->lock_policy_res1);
-       __swab64s (&r->lock_policy_res2);
+       __swab64s(&r->lock_policy_res1);
+       __swab64s(&r->lock_policy_res2);
 }
 EXPORT_SYMBOL(lustre_swab_ldlm_reply);
 
@@ -2409,7 +2409,7 @@ static inline int rep_ptlrpc_body_swabbed(struct ptlrpc_request *req)
 
 void _debug_req(struct ptlrpc_request *req,
                struct libcfs_debug_msg_data *msgdata,
-               const char *fmt, ... )
+               const char *fmt, ...)
 {
        int req_ok = req->rq_reqmsg != NULL;
        int rep_ok = req->rq_repmsg != NULL;
@@ -2457,20 +2457,20 @@ EXPORT_SYMBOL(_debug_req);
 void lustre_swab_lustre_capa(struct lustre_capa *c)
 {
        lustre_swab_lu_fid(&c->lc_fid);
-       __swab64s (&c->lc_opc);
-       __swab64s (&c->lc_uid);
-       __swab64s (&c->lc_gid);
-       __swab32s (&c->lc_flags);
-       __swab32s (&c->lc_keyid);
-       __swab32s (&c->lc_timeout);
-       __swab32s (&c->lc_expiry);
+       __swab64s(&c->lc_opc);
+       __swab64s(&c->lc_uid);
+       __swab64s(&c->lc_gid);
+       __swab32s(&c->lc_flags);
+       __swab32s(&c->lc_keyid);
+       __swab32s(&c->lc_timeout);
+       __swab32s(&c->lc_expiry);
 }
 EXPORT_SYMBOL(lustre_swab_lustre_capa);
 
 void lustre_swab_lustre_capa_key(struct lustre_capa_key *k)
 {
-       __swab64s (&k->lk_seq);
-       __swab32s (&k->lk_keyid);
+       __swab64s(&k->lk_seq);
+       __swab32s(&k->lk_keyid);
        CLASSERT(offsetof(typeof(*k), lk_padding) != 0);
 }
 EXPORT_SYMBOL(lustre_swab_lustre_capa_key);
index 5dec771d70eee8c08a6bc0b787f7f116ddd6906d..a084eb1b1aca9442879298819036917bbe9f89e2 100644 (file)
@@ -576,7 +576,7 @@ int ptlrpc_del_timeout_client(struct list_head *obd_list,
                        break;
                }
        }
-       LASSERTF(ti != NULL, "ti is NULL ! \n");
+       LASSERTF(ti != NULL, "ti is NULL !\n");
        if (list_empty(&ti->ti_obd_list)) {
                list_del(&ti->ti_chain);
                OBD_FREE_PTR(ti);
index ab363477151d081eae9a0bb5f4c8b6d88072aa96..5d0749cc4b0f7223481ab281f427c1a398ec7bf2 100644 (file)
@@ -77,13 +77,13 @@ void ptlrpc_lprocfs_register_service(struct proc_dir_entry *proc_entry,
                                     struct ptlrpc_service *svc);
 void ptlrpc_lprocfs_unregister_service(struct ptlrpc_service *svc);
 void ptlrpc_lprocfs_rpc_sent(struct ptlrpc_request *req, long amount);
-void ptlrpc_lprocfs_do_request_stat (struct ptlrpc_request *req,
+void ptlrpc_lprocfs_do_request_stat(struct ptlrpc_request *req,
                                     long q_usec, long work_usec);
 #else
-#define ptlrpc_lprocfs_register_service(params...) do{}while(0)
-#define ptlrpc_lprocfs_unregister_service(params...) do{}while(0)
-#define ptlrpc_lprocfs_rpc_sent(params...) do{}while(0)
-#define ptlrpc_lprocfs_do_request_stat(params...) do{}while(0)
+#define ptlrpc_lprocfs_register_service(params...) do {} while (0)
+#define ptlrpc_lprocfs_unregister_service(params...) do {} while (0)
+#define ptlrpc_lprocfs_rpc_sent(params...) do {} while (0)
+#define ptlrpc_lprocfs_do_request_stat(params...) do {} while (0)
 #endif /* LPROCFS */
 
 /* NRS */
index 419e634854df0c32e2344e2434ed8eeee63b3a9d..0efd35887a15994efe20e6d842ee12bac2a6edf5 100644 (file)
@@ -112,7 +112,7 @@ __init int ptlrpc_init(void)
        return 0;
 
 cleanup:
-       switch(cleanup_phase) {
+       switch (cleanup_phase) {
        case 8:
                ptlrpc_nrs_fini();
        case 7:
index 21de868da522ae813d798d588132f74c5d819f7b..2b10d6dea2d9afca1506f94d55912a18912a6c8e 100644 (file)
@@ -386,7 +386,7 @@ ptlrpc_schedule_difficult_reply(struct ptlrpc_reply_state *rs)
 {
        LASSERT(spin_is_locked(&rs->rs_svcpt->scp_rep_lock));
        LASSERT(spin_is_locked(&rs->rs_lock));
-       LASSERT (rs->rs_difficult);
+       LASSERT(rs->rs_difficult);
        rs->rs_scheduled_ever = 1;  /* flag any notification attempt */
 
        if (rs->rs_scheduled) {     /* being set up or already notified */
@@ -412,7 +412,7 @@ void ptlrpc_commit_replies(struct obd_export *exp)
        spin_lock(&exp->exp_uncommitted_replies_lock);
        list_for_each_entry_safe(rs, nxt, &exp->exp_uncommitted_replies,
                                     rs_obd_list) {
-               LASSERT (rs->rs_difficult);
+               LASSERT(rs->rs_difficult);
                /* VBR: per-export last_committed */
                LASSERT(rs->rs_export);
                if (rs->rs_transno <= exp->exp_last_committed) {
@@ -796,7 +796,7 @@ ptlrpc_register_service(struct ptlrpc_service_conf *conf,
        LASSERT(rc == 0);
 
        mutex_lock(&ptlrpc_all_services_mutex);
-       list_add (&service->srv_list, &ptlrpc_all_services);
+       list_add(&service->srv_list, &ptlrpc_all_services);
        mutex_unlock(&ptlrpc_all_services_mutex);
 
        if (proc_entry != NULL)
@@ -1115,8 +1115,10 @@ static int ptlrpc_check_req(struct ptlrpc_request *req)
        }
        if (unlikely(req->rq_export->exp_obd &&
                     req->rq_export->exp_obd->obd_fail)) {
-            /* Failing over, don't handle any more reqs, send
-               error response instead. */
+               /*
+                * Failing over, don't handle any more reqs, send
+                * error response instead.
+                */
                CDEBUG(D_RPCTRACE, "Dropping req %p for failed obd %s\n",
                       req, req->rq_export->exp_obd->obd_name);
                rc = -ENODEV;
@@ -1268,7 +1270,7 @@ static int ptlrpc_at_send_early_reply(struct ptlrpc_request *req)
                return -ETIMEDOUT;
        }
 
-       if ((lustre_msghdr_get_flags(req->rq_reqmsg) & MSGHDR_AT_SUPPORT) == 0){
+       if (!(lustre_msghdr_get_flags(req->rq_reqmsg) & MSGHDR_AT_SUPPORT)) {
                DEBUG_REQ(D_INFO, req, "Wanted to ask client for more time, "
                          "but no AT support");
                return -ENOSYS;
@@ -1777,9 +1779,9 @@ ptlrpc_server_handle_req_in(struct ptlrpc_service_part *svcpt,
 
        rc = lustre_unpack_req_ptlrpc_body(req, MSG_PTLRPC_BODY_OFF);
        if (rc) {
-               CERROR ("error unpacking ptlrpc body: ptl %d from %s x"
-                       LPU64"\n", svc->srv_req_portal,
-                       libcfs_id2str(req->rq_peer), req->rq_xid);
+               CERROR("error unpacking ptlrpc body: ptl %d from %s x"
+                      LPU64"\n", svc->srv_req_portal,
+                      libcfs_id2str(req->rq_peer), req->rq_xid);
                goto err_req;
        }
 
@@ -1798,7 +1800,7 @@ ptlrpc_server_handle_req_in(struct ptlrpc_service_part *svcpt,
                goto err_req;
        }
 
-       switch(lustre_msg_get_opc(req->rq_reqmsg)) {
+       switch (lustre_msg_get_opc(req->rq_reqmsg)) {
        case MDS_WRITEPAGE:
        case OST_WRITE:
                req->rq_bulk_write = 1;
@@ -1895,7 +1897,7 @@ ptlrpc_server_handle_request(struct ptlrpc_service_part *svcpt,
 
        ptlrpc_rqphase_move(request, RQ_PHASE_INTERPRET);
 
-       if(OBD_FAIL_CHECK(OBD_FAIL_PTLRPC_DUMP_LOG))
+       if (OBD_FAIL_CHECK(OBD_FAIL_PTLRPC_DUMP_LOG))
                libcfs_debug_dumplog();
 
        do_gettimeofday(&work_start);
@@ -1967,13 +1969,14 @@ put_conn:
        lu_context_fini(&request->rq_session);
 
        if (unlikely(cfs_time_current_sec() > request->rq_deadline)) {
-                    DEBUG_REQ(D_WARNING, request, "Request took longer "
-                              "than estimated ("CFS_DURATION_T":"CFS_DURATION_T"s);"
-                              " client may timeout.",
-                              cfs_time_sub(request->rq_deadline,
-                                           request->rq_arrival_time.tv_sec),
-                              cfs_time_sub(cfs_time_current_sec(),
-                                           request->rq_deadline));
+               DEBUG_REQ(D_WARNING, request,
+                         "Request took longer than estimated ("
+                               CFS_DURATION_T":"CFS_DURATION_T
+                               "s); client may timeout.",
+                         cfs_time_sub(request->rq_deadline,
+                                      request->rq_arrival_time.tv_sec),
+                         cfs_time_sub(cfs_time_current_sec(),
+                                      request->rq_deadline));
        }
 
        do_gettimeofday(&work_end);
@@ -2037,13 +2040,13 @@ ptlrpc_handle_rs(struct ptlrpc_reply_state *rs)
 
        exp = rs->rs_export;
 
-       LASSERT (rs->rs_difficult);
-       LASSERT (rs->rs_scheduled);
-       LASSERT (list_empty(&rs->rs_list));
+       LASSERT(rs->rs_difficult);
+       LASSERT(rs->rs_scheduled);
+       LASSERT(list_empty(&rs->rs_list));
 
        spin_lock(&exp->exp_lock);
        /* Noop if removed already */
-       list_del_init (&rs->rs_exp_list);
+       list_del_init(&rs->rs_exp_list);
        spin_unlock(&exp->exp_lock);
 
        /* The disk commit callback holds exp_uncommitted_replies_lock while it
@@ -2113,9 +2116,9 @@ ptlrpc_handle_rs(struct ptlrpc_reply_state *rs)
                /* Off the net */
                spin_unlock(&rs->rs_lock);
 
-               class_export_put (exp);
+               class_export_put(exp);
                rs->rs_export = NULL;
-               ptlrpc_rs_decref (rs);
+               ptlrpc_rs_decref(rs);
                if (atomic_dec_and_test(&svcpt->scp_nreps_difficult) &&
                    svc->srv_is_stopping)
                        wake_up_all(&svcpt->scp_waitq);
index 9890bd9cfb93ae7f150da6ad6f90e414b9c72e56..e3f02c77f3b9c98b04858e1140db906f5a2cff0e 100644 (file)
@@ -49,9 +49,10 @@ void lustre_assert_wire_constants(void)
 {
         /* Wire protocol assertions generated by 'wirecheck'
          * (make -C lustre/utils newwiretest)
-         * running on Linux deva 2.6.32.279.lustre #5 SMP Tue Apr 9 22:52:17 CST 2013 x86_64 x86_64 x
-         * with gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)  */
-
+         * running on Linux centos6-bis 2.6.32-358.0.1.el6-head
+         * #3 SMP Wed Apr 17 17:37:43 CEST 2013
+         * with gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)
+         */
 
        /* Constants... */
        LASSERTF(PTL_RPC_MSG_REQUEST == 4711, "found %lld\n",
@@ -1335,6 +1336,8 @@ void lustre_assert_wire_constants(void)
                 OBD_MD_REINT);
        LASSERTF(OBD_MD_MEA == (0x0000000400000000ULL), "found 0x%.16llxULL\n",
                 OBD_MD_MEA);
+       LASSERTF(OBD_MD_TSTATE == (0x0000000800000000ULL),
+                "found 0x%.16llxULL\n", OBD_MD_TSTATE);
        LASSERTF(OBD_MD_FLXATTR == (0x0000001000000000ULL), "found 0x%.16llxULL\n",
                 OBD_MD_FLXATTR);
        LASSERTF(OBD_MD_FLXATTRLS == (0x0000002000000000ULL), "found 0x%.16llxULL\n",
@@ -1918,10 +1921,11 @@ void lustre_assert_wire_constants(void)
                 (long long)(int)offsetof(struct mdt_body, blocks));
        LASSERTF((int)sizeof(((struct mdt_body *)0)->blocks) == 8, "found %lld\n",
                 (long long)(int)sizeof(((struct mdt_body *)0)->blocks));
-       LASSERTF((int)offsetof(struct mdt_body, unused1) == 96, "found %lld\n",
-                (long long)(int)offsetof(struct mdt_body, unused1));
-       LASSERTF((int)sizeof(((struct mdt_body *)0)->unused1) == 8, "found %lld\n",
-                (long long)(int)sizeof(((struct mdt_body *)0)->unused1));
+       LASSERTF((int)offsetof(struct mdt_body, t_state) == 96, "found %lld\n",
+                (long long)(int)offsetof(struct mdt_body, t_state));
+       LASSERTF((int)sizeof(((struct mdt_body *)0)->t_state) == 8,
+                "found %lld\n",
+                (long long)(int)sizeof(((struct mdt_body *)0)->t_state));
        LASSERTF((int)offsetof(struct mdt_body, fsuid) == 104, "found %lld\n",
                 (long long)(int)offsetof(struct mdt_body, fsuid));
        LASSERTF((int)sizeof(((struct mdt_body *)0)->fsuid) == 4, "found %lld\n",
index 766a071b0a224a4b7c6ad5b0a8c4139341981f5f..b7044a380fe316fcb2cb37657f61377bfd9ef688 100644 (file)
@@ -1009,7 +1009,7 @@ static int ipipe_validate_yee_params(struct vpfe_ipipe_yee *yee)
            yee->es_ofst_grad > YEE_THR_MASK)
                return -EINVAL;
 
-       for (i = 0; i < VPFE_IPIPE_MAX_SIZE_YEE_LUT ; i++)
+       for (i = 0; i < VPFE_IPIPE_MAX_SIZE_YEE_LUT; i++)
                if (yee->table[i] > YEE_ENTRY_MASK)
                        return -EINVAL;
 
index e027b92b54ef197720ca12cedd2c28aae3c1d6bc..2d36b60bdbf166e369049e82ef2ce3f15de26f45 100644 (file)
@@ -791,7 +791,7 @@ ipipe_set_3d_lut_regs(void *__iomem base_addr, void *__iomem isp5_base_addr,
 
        /* valied table */
        tbl = lut_3d->table;
-       for (i = 0 ; i < VPFE_IPIPE_MAX_SIZE_3D_LUT; i++) {
+       for (i = 0; i < VPFE_IPIPE_MAX_SIZE_3D_LUT; i++) {
                /* Each entry has 0-9 (B), 10-19 (G) and
                20-29 R values */
                val = tbl[i].b & D3_LUT_ENTRY_MASK;
@@ -899,7 +899,7 @@ ipipe_set_gbce_regs(void *__iomem base_addr, void *__iomem isp5_base_addr,
        if (!gbce->table)
                return;
 
-       for (count = 0; count < VPFE_IPIPE_MAX_SIZE_GBCE_LUT ; count += 2)
+       for (count = 0; count < VPFE_IPIPE_MAX_SIZE_GBCE_LUT; count += 2)
                w_ip_table(isp5_base_addr, ((gbce->table[count + 1] & mask) <<
                GBCE_ENTRY_SHIFT) | (gbce->table[count] & mask),
                ((count/2) << 2) + GBCE_TB_START_ADDR);
index c2d0e58afc340f4cecf62b392d67aa269c9cfb22..479953b2d983f9da207ebec75da16b190ec3229c 100644 (file)
@@ -722,7 +722,8 @@ static int vti_bitlen(struct go7007 *go)
 {
        unsigned int i, max_time_incr = go->sensor_framerate / go->fps_scale;
 
-       for (i = 31; (max_time_incr & ((1 << i) - 1)) == max_time_incr; --i);
+       for (i = 31; (max_time_incr & ((1 << i) - 1)) == max_time_incr; --i)
+               ;
        return i + 1;
 }
 
index d80b235d72ee62c1d072139db004643b44a58859..6e2ca338cdd9917d9f2216fbc67680f84261400b 100644 (file)
@@ -86,7 +86,7 @@ static const struct go7007_board_info board_voyager = {
        .audio_main_div  = 2,
        .hpi_buffer_cap  = 7,
        .num_inputs      = 1,
-       .inputs          = {
+       .inputs          = {
                {
                        .name           = "SAA7134",
                },
index 28c8b0bcf5b2a2da86f3987389831670ccf574b6..f2dcc4a292da838cb0998d031120f2a39b93a0ac 100644 (file)
@@ -363,8 +363,8 @@ static int igorplugusb_remote_poll(void *data, struct lirc_buffer *buf)
                      /*dummy*/ir->buf_in, /*dummy*/ir->len_in,
                      /*timeout*/HZ * USB_CTRL_GET_TIMEOUT);
                if (ret < 0)
-                       printk(DRIVER_NAME "[%d]: SET_INFRABUFFER_EMPTY: "
-                              "error %d\n", ir->devnum, ret);
+                       printk(DRIVER_NAME "[%d]: SET_INFRABUFFER_EMPTY: error %d\n",
+                              ir->devnum, ret);
                return 0;
        } else if (ret < 0)
                printk(DRIVER_NAME "[%d]: GET_INFRACODE: error %d\n",
index ab2ae115b524eac74a54759bc471d1c6dff2c2aa..c7d6667e7d140fbe28a10c92b688fde3e3f04275 100644 (file)
@@ -808,7 +808,8 @@ static int imon_probe(struct usb_interface *interface,
 
        /* Input endpoint is mandatory */
        if (!ir_ep_found) {
-               dev_err(dev, "%s: no valid input (IR) endpoint found.\n", __func__);
+               dev_err(dev, "%s: no valid input (IR) endpoint found.\n",
+                       __func__);
                retval = -ENODEV;
                alloc_status = 2;
                goto alloc_status_switch;
@@ -878,8 +879,8 @@ static int imon_probe(struct usb_interface *interface,
                alloc_status = 7;
                goto unlock;
        } else
-               dev_info(dev, "Registered iMON driver "
-                        "(lirc minor: %d)\n", lirc_minor);
+               dev_info(dev, "Registered iMON driver (lirc minor: %d)\n",
+                        lirc_minor);
 
        /* Needed while unregistering! */
        driver->minor = lirc_minor;
@@ -923,8 +924,8 @@ static int imon_probe(struct usb_interface *interface,
 
                if (usb_register_dev(interface, &imon_class)) {
                        /* Not a fatal error, so ignore */
-                       dev_info(dev, "%s: could not get a minor number for "
-                                "display\n", __func__);
+                       dev_info(dev, "%s: could not get a minor number for display\n",
+                                __func__);
                }
        }
 
index 2e3a98575d47f9fbdddebecdd2a17d9741ffd09e..abe0d5caa20b2e8836d2f02159647e1f0d44bdf4 100644 (file)
@@ -428,8 +428,8 @@ static int init_timing_params(unsigned int new_duty_cycle,
        period = 256 * 1000000L / freq;
        pulse_width = period * duty_cycle / 100;
        space_width = period - pulse_width;
-       dprintk("in init_timing_params, freq=%d pulse=%ld, "
-               "space=%ld\n", freq, pulse_width, space_width);
+       dprintk("in init_timing_params, freq=%d pulse=%ld, space=%ld\n",
+               freq, pulse_width, space_width);
        return 0;
 }
 #endif /* USE_RDTSC */
@@ -974,7 +974,7 @@ static void set_use_dec(void *data)
        spin_unlock_irqrestore(&hardware[type].lock, flags);
 }
 
-static ssize_t lirc_write(struct file *file, const char *buf,
+static ssize_t lirc_write(struct file *file, const char __user *buf,
                         size_t n, loff_t *ppos)
 {
        int i, count;
index 0feeaadf29dc12c47eee290c7616cfaf915e6ace..e1feb6164593484cb4eb9f286d021a9bcb2c09f3 100644 (file)
@@ -767,8 +767,8 @@ static int fw_load(struct IR_tx *tx)
        /* Request codeset data file */
        ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev);
        if (ret != 0) {
-               zilog_error("firmware haup-ir-blaster.bin not available "
-                           "(%d)\n", ret);
+               zilog_error("firmware haup-ir-blaster.bin not available (%d)\n",
+                           ret);
                ret = ret < 0 ? ret : -EFAULT;
                goto out;
        }
index 3066ee2e753be3ed887d11b9615b41b78261b6bb..27d74134f1876194f43a9485b467fa6eea1818ba 100644 (file)
@@ -83,7 +83,7 @@ enum nvec_sleep_subcmds {
 
 static struct nvec_chip *nvec_power_handle;
 
-static struct mfd_cell nvec_devices[] = {
+static const struct mfd_cell nvec_devices[] = {
        {
                .name = "nvec-kbd",
                .id = 1,
index 92b02891704d04738365011cd28f6f93b7055dd8..26b4ec56fd30738b69a2a18ecf0d93d365e7ef08 100644 (file)
@@ -255,17 +255,19 @@ static bool dcon_blank_fb(struct dcon_priv *dcon, bool blank)
 {
        int err;
 
+       console_lock();
        if (!lock_fb_info(dcon->fbinfo)) {
+               console_unlock();
                dev_err(&dcon->client->dev, "unable to lock framebuffer\n");
                return false;
        }
-       console_lock();
+
        dcon->ignore_fb_events = true;
        err = fb_blank(dcon->fbinfo,
                        blank ? FB_BLANK_POWERDOWN : FB_BLANK_UNBLANK);
        dcon->ignore_fb_events = false;
-       console_unlock();
        unlock_fb_info(dcon->fbinfo);
+       console_unlock();
 
        if (err) {
                dev_err(&dcon->client->dev, "couldn't %sblank framebuffer\n",
index 9b86486c6b114b57fbd3792800b473fb47f445b8..02d5412478191f7e2fd552841a7a8ad0987f7fb2 100644 (file)
@@ -138,7 +138,7 @@ int oz_elt_stream_create(struct oz_elt_buf *buf, u8 id, int max_buf_count)
 
        oz_dbg(ON, "%s: (0x%x)\n", __func__, id);
 
-       st = kzalloc(sizeof(struct oz_elt_stream), GFP_ATOMIC | __GFP_ZERO);
+       st = kzalloc(sizeof(struct oz_elt_stream), GFP_ATOMIC);
        if (st == NULL)
                return -ENOMEM;
        atomic_set(&st->ref_count, 1);
index 88714ec85705f3a771edb4ecc740d06a1a8bc452..9f2dffe6e131cedca3030dc53287a59bdf49e709 100644 (file)
@@ -337,7 +337,7 @@ static void oz_rx_frame(struct sk_buff *skb)
        oz_dbg(RX_FRAMES, "RX frame PN=0x%x LPN=0x%x control=0x%x\n",
               oz_hdr->pkt_num, oz_hdr->last_pkt_num, oz_hdr->control);
        mac_hdr = skb_mac_header(skb);
-       src_addr = &mac_hdr[ETH_ALEN] ;
+       src_addr = &mac_hdr[ETH_ALEN];
        length = skb->len;
 
        /* Check the version field */
index 9d2d5c58add2bfbe079466e501c6b01ef1d26aa9..4483c2c0307c9a481e485d17bcecf0fd428d6d70 100644 (file)
@@ -1,16 +1,6 @@
-//-----------------------------------------------------------------------------
-//     File:
-//             Dot11d.c
-//
-//     Description:
-//             Implement 802.11d.
-//
-//-----------------------------------------------------------------------------
-
 #include "dot11d.h"
 
-void
-Dot11d_Init(struct ieee80211_device *ieee)
+void Dot11d_Init(struct ieee80211_device *ieee)
 {
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(ieee);
 
@@ -22,23 +12,19 @@ Dot11d_Init(struct ieee80211_device *ieee)
        memset(pDot11dInfo->MaxTxPwrDbmList, 0xFF, MAX_CHANNEL_NUMBER+1);
        RESET_CIE_WATCHDOG(ieee);
 
-       printk("Dot11d_Init()\n");
+       netdev_info(ieee->dev, "Dot11d_Init()\n");
 }
 
-//
-//     Description:
-//             Reset to the state as we are just entering a regulatory domain.
-//
-void
-Dot11d_Reset(struct ieee80211_device *ieee)
+/* Reset to the state as we are just entering a regulatory domain. */
+void Dot11d_Reset(struct ieee80211_device *ieee)
 {
        u32 i;
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(ieee);
 
-       // Clear old channel map
+       /* Clear old channel map */
        memset(pDot11dInfo->channel_map, 0, MAX_CHANNEL_NUMBER+1);
        memset(pDot11dInfo->MaxTxPwrDbmList, 0xFF, MAX_CHANNEL_NUMBER+1);
-       // Set new channel map
+       /* Set new channel map */
        for (i = 1; i <= 11; i++)
                (pDot11dInfo->channel_map)[i] = 1;
 
@@ -48,36 +34,30 @@ Dot11d_Reset(struct ieee80211_device *ieee)
        pDot11dInfo->State = DOT11D_STATE_NONE;
        pDot11dInfo->CountryIeLen = 0;
        RESET_CIE_WATCHDOG(ieee);
-
-       //printk("Dot11d_Reset()\n");
 }
 
-//
-//     Description:
-//             Update country IE from Beacon or Probe Response
-//             and configure PHY for operation in the regulatory domain.
-//
-//     TODO:
-//             Configure Tx power.
-//
-//     Assumption:
-//             1. IS_DOT11D_ENABLE() is TRUE.
-//             2. Input IE is an valid one.
-//
-void
-Dot11d_UpdateCountryIe(
-       struct ieee80211_device *dev,
-       u8 *pTaddr,
-       u16     CoutryIeLen,
-       u8 *pCoutryIe
-       )
+/*
+ * Description:
+ *     Update country IE from Beacon or Probe Response and configure PHY for
+ *     operation in the regulatory domain.
+ *
+ * TODO:
+ *     Configure Tx power.
+ *
+ * Assumption:
+ *     1. IS_DOT11D_ENABLE() is TRUE.
+ *     2. Input IE is an valid one.
+ */
+void Dot11d_UpdateCountryIe(struct ieee80211_device *dev, u8 *pTaddr,
+                           u16 CoutryIeLen, u8 *pCoutryIe)
 {
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(dev);
        u8 i, j, NumTriples, MaxChnlNum;
+       u8 index, MaxTxPowerInDbm;
        PCHNL_TXPOWER_TRIPLE pTriple;
 
        if ((CoutryIeLen - 3)%3 != 0) {
-               printk("Dot11d_UpdateCountryIe(): Invalid country IE, skip it........1\n");
+               netdev_info(dev->dev, "Dot11d_UpdateCountryIe(): Invalid country IE, skip it........1\n");
                Dot11d_Reset(dev);
                return;
        }
@@ -85,37 +65,47 @@ Dot11d_UpdateCountryIe(
        memset(pDot11dInfo->channel_map, 0, MAX_CHANNEL_NUMBER+1);
        memset(pDot11dInfo->MaxTxPwrDbmList, 0xFF, MAX_CHANNEL_NUMBER+1);
        MaxChnlNum = 0;
-       NumTriples = (CoutryIeLen - 3) / 3; // skip 3-byte country string.
+       NumTriples = (CoutryIeLen - 3) / 3; /* skip 3-byte country string. */
        pTriple = (PCHNL_TXPOWER_TRIPLE)(pCoutryIe + 3);
        for (i = 0; i < NumTriples; i++) {
                if (MaxChnlNum >= pTriple->FirstChnl) {
-               // It is not in a monotonically increasing order, so stop processing.
-                       printk("Dot11d_UpdateCountryIe(): Invalid country IE, skip it........1\n");
+                       /*
+                        * It is not in a monotonically increasing order,
+                        * so stop processing.
+                        */
+                       netdev_info(dev->dev,
+                                   "Dot11d_UpdateCountryIe(): Invalid country IE, skip it........1\n");
                        Dot11d_Reset(dev);
                        return;
                }
-               if (MAX_CHANNEL_NUMBER < (pTriple->FirstChnl + pTriple->NumChnls)) {
-               // It is not a valid set of channel id, so stop processing.
-                       printk("Dot11d_UpdateCountryIe(): Invalid country IE, skip it........2\n");
+               if (MAX_CHANNEL_NUMBER <
+                   (pTriple->FirstChnl + pTriple->NumChnls)) {
+                       /*
+                        * It is not a valid set of channel id,
+                        * so stop processing
+                        */
+                       netdev_info(dev->dev,
+                                   "Dot11d_UpdateCountryIe(): Invalid country IE, skip it........2\n");
                        Dot11d_Reset(dev);
                        return;
                }
 
-               for (j = 0 ; j < pTriple->NumChnls; j++) {
-                       pDot11dInfo->channel_map[pTriple->FirstChnl + j] = 1;
-                       pDot11dInfo->MaxTxPwrDbmList[pTriple->FirstChnl + j] = pTriple->MaxTxPowerInDbm;
+               for (j = 0; j < pTriple->NumChnls; j++) {
+                       index = pTriple->FirstChnl + j;
+                       pDot11dInfo->channel_map[index] = 1;
+                       MaxTxPowerInDbm = pTriple->MaxTxPowerInDbm;
+                       pDot11dInfo->MaxTxPwrDbmList[index] = MaxTxPowerInDbm;
                        MaxChnlNum = pTriple->FirstChnl + j;
                }
 
                pTriple = (PCHNL_TXPOWER_TRIPLE)((u8 *)pTriple + 3);
        }
 #if 1
-       //printk("Dot11d_UpdateCountryIe(): Channel List:\n");
-       printk("Channel List:");
+       netdev_info(dev->dev, "Channel List:");
        for (i = 1; i <= MAX_CHANNEL_NUMBER; i++)
                if (pDot11dInfo->channel_map[i] > 0)
-                       printk(" %d", i);
-       printk("\n");
+                       netdev_info(dev->dev, " %d", i);
+       netdev_info(dev->dev, "\n");
 #endif
 
        UPDATE_CIE_SRC(dev, pTaddr);
@@ -125,31 +115,23 @@ Dot11d_UpdateCountryIe(
        pDot11dInfo->State = DOT11D_STATE_LEARNED;
 }
 
-u8
-DOT11D_GetMaxTxPwrInDbm(
-       struct ieee80211_device *dev,
-       u8 Channel
-       )
+u8 DOT11D_GetMaxTxPwrInDbm(struct ieee80211_device *dev, u8 Channel)
 {
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(dev);
        u8 MaxTxPwrInDbm = 255;
 
        if (MAX_CHANNEL_NUMBER < Channel) {
-               printk("DOT11D_GetMaxTxPwrInDbm(): Invalid Channel\n");
+               netdev_info(dev->dev, "DOT11D_GetMaxTxPwrInDbm(): Invalid Channel\n");
                return MaxTxPwrInDbm;
        }
-       if (pDot11dInfo->channel_map[Channel]) {
+       if (pDot11dInfo->channel_map[Channel])
                MaxTxPwrInDbm = pDot11dInfo->MaxTxPwrDbmList[Channel];
-       }
 
        return MaxTxPwrInDbm;
 }
 
 
-void
-DOT11D_ScanComplete(
-       struct ieee80211_device *dev
-       )
+void DOT11D_ScanComplete(struct ieee80211_device *dev)
 {
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(dev);
 
@@ -160,7 +142,7 @@ DOT11D_ScanComplete(
 
        case DOT11D_STATE_DONE:
                if (GET_CIE_WATCHDOG(dev) == 0) {
-               // Reset country IE if previous one is gone.
+                       /* Reset country IE if previous one is gone. */
                        Dot11d_Reset(dev);
                }
                break;
@@ -169,15 +151,12 @@ DOT11D_ScanComplete(
        }
 }
 
-int IsLegalChannel(
-       struct ieee80211_device *dev,
-       u8 channel
-)
+int IsLegalChannel(struct ieee80211_device *dev, u8 channel)
 {
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(dev);
 
        if (MAX_CHANNEL_NUMBER < channel) {
-               printk("IsLegalChannel(): Invalid Channel\n");
+               netdev_info(dev->dev, "IsLegalChannel(): Invalid Channel\n");
                return 0;
        }
        if (pDot11dInfo->channel_map[channel] > 0)
@@ -185,10 +164,7 @@ int IsLegalChannel(
        return 0;
 }
 
-int ToLegalChannel(
-       struct ieee80211_device *dev,
-       u8 channel
-)
+int ToLegalChannel(struct ieee80211_device *dev, u8 channel)
 {
        PRT_DOT11D_INFO pDot11dInfo = GET_DOT11D_INFO(dev);
        u8 default_chn = 0;
@@ -202,7 +178,7 @@ int ToLegalChannel(
        }
 
        if (MAX_CHANNEL_NUMBER < channel) {
-               printk("IsLegalChannel(): Invalid Channel\n");
+               netdev_info(dev->dev, "IsLegalChannel(): Invalid Channel\n");
                return default_chn;
        }
 
index 029c2cab1e0093d6779027a72870babcc958f7d8..63f4f3c72f109da9c05bc9343defb663f1b06647 100644 (file)
@@ -3,9 +3,9 @@
 
 #include "ieee80211.h"
 
-//#define ENABLE_DOT11D
+/* #define ENABLE_DOT11D */
 
-//#define DOT11D_MAX_CHNL_NUM 83
+/* #define DOT11D_MAX_CHNL_NUM 83 */
 
 typedef struct _CHNL_TXPOWER_TRIPLE {
        u8 FirstChnl;
@@ -20,18 +20,18 @@ typedef enum _DOT11D_STATE {
 }DOT11D_STATE;
 
 typedef struct _RT_DOT11D_INFO {
-       //DECLARE_RT_OBJECT(RT_DOT11D_INFO);
+       /* DECLARE_RT_OBJECT(RT_DOT12D_INFO); */
 
-       bool bEnabled; // dot11MultiDomainCapabilityEnabled
+       bool bEnabled; /* dot11MultiDomainCapabilityEnabled */
 
-       u16 CountryIeLen; // > 0 if CountryIeBuf[] contains valid country information element.
+       u16 CountryIeLen; /* > 0 if CountryIeBuf[] contains valid country information element. */
        u8  CountryIeBuf[MAX_IE_LEN];
-       u8  CountryIeSrcAddr[6]; // Source AP of the country IE.
+       u8  CountryIeSrcAddr[6]; /* Source AP of the country IE. */
        u8  CountryIeWatchdog;
 
-       u8  channel_map[MAX_CHANNEL_NUMBER+1];  //!!!Value 0: Invalid, 1: Valid (active scan), 2: Valid (passive scan)
-       //u8  ChnlListLen; // #Bytes valid in ChnlList[].
-       //u8  ChnlList[DOT11D_MAX_CHNL_NUM];
+       u8  channel_map[MAX_CHANNEL_NUMBER+1];  /* !!!Value 0: Invalid, 1: Valid (active scan), 2: Valid (passive scan) */
+       /* u8  ChnlListLen; // #Bytes valid in ChnlList[]. */
+       /* u8  ChnlList[DOT11D_MAX_CHNL_NUM]; */
        u8  MaxTxPwrDbmList[MAX_CHANNEL_NUMBER+1];
 
        DOT11D_STATE State;
@@ -58,43 +58,13 @@ typedef struct _RT_DOT11D_INFO {
 
 #define IS_DOT11D_STATE_DONE(__pIeeeDev) (GET_DOT11D_INFO(__pIeeeDev)->State == DOT11D_STATE_DONE)
 
+void Dot11d_Init(struct ieee80211_device *dev);
+void Dot11d_Reset(struct ieee80211_device *dev);
+void Dot11d_UpdateCountryIe(struct ieee80211_device *dev, u8 *pTaddr,
+                           u16 CoutryIeLen, u8 *pCoutryIe);
+u8 DOT11D_GetMaxTxPwrInDbm(struct ieee80211_device *dev, u8 Channel);
+void DOT11D_ScanComplete(struct ieee80211_device *dev);
+int IsLegalChannel(struct ieee80211_device *dev, u8 channel);
+int ToLegalChannel(struct ieee80211_device *dev, u8 channel);
 
-void
-Dot11d_Init(
-       struct ieee80211_device *dev
-       );
-
-void
-Dot11d_Reset(
-       struct ieee80211_device *dev
-       );
-
-void
-Dot11d_UpdateCountryIe(
-       struct ieee80211_device *dev,
-       u8 *            pTaddr,
-       u16     CoutryIeLen,
-       u8 * pCoutryIe
-       );
-
-u8
-DOT11D_GetMaxTxPwrInDbm(
-       struct ieee80211_device *dev,
-       u8 Channel
-       );
-
-void
-DOT11D_ScanComplete(
-       struct ieee80211_device * dev
-       );
-
-int IsLegalChannel(
-       struct ieee80211_device * dev,
-       u8 channel
-);
-
-int ToLegalChannel(
-       struct ieee80211_device * dev,
-       u8 channel
-);
-#endif // #ifndef __INC_DOT11D_H
+#endif /*  #ifndef __INC_DOT11D_H */
index 7f015499cfae98ffadb41ba9ac516f3165326fe2..09ffd9bc89918240d33947c795f347610193be97 100644 (file)
@@ -90,6 +90,9 @@
 
 #define        IEEE_CRYPT_ALG_NAME_LEN                 16
 
+extern int ieee80211_crypto_tkip_init(void);
+extern void ieee80211_crypto_tkip_exit(void);
+
 //by amy for ps
 typedef struct ieee_param {
        u32 cmd;
@@ -1237,7 +1240,8 @@ static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
        return 1;
 }
 
-static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
+static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee,
+                                         int mode)
 {
        /*
         * It is possible for both access points and our device to support
@@ -1300,19 +1304,16 @@ extern int ieee80211_set_encryption(struct ieee80211_device *ieee);
 
 /* ieee80211_tx.c */
 
-extern int ieee80211_encrypt_fragment(
-       struct ieee80211_device *ieee,
-       struct sk_buff *frag,
-       int hdr_len);
+extern int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
+                                     struct sk_buff *frag, int hdr_len);
 
-extern int ieee80211_rtl_xmit(struct sk_buff *skb,
-                         struct net_device *dev);
+extern int ieee80211_rtl_xmit(struct sk_buff *skb, struct net_device *dev);
 extern void ieee80211_txb_free(struct ieee80211_txb *);
 
 
 /* ieee80211_rx.c */
 extern int ieee80211_rtl_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
-                       struct ieee80211_rx_stats *rx_stats);
+                           struct ieee80211_rx_stats *rx_stats);
 extern void ieee80211_rx_mgt(struct ieee80211_device *ieee,
                             struct ieee80211_hdr_4addr *header,
                             struct ieee80211_rx_stats *stats);
@@ -1328,25 +1329,28 @@ extern int ieee80211_wx_get_encode(struct ieee80211_device *ieee,
                                   struct iw_request_info *info,
                                   union iwreq_data *wrqu, char *key);
 extern int ieee80211_wx_set_encode_ext(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data* wrqu, char *extra);
+                                      struct iw_request_info *info,
+                                      union iwreq_data *wrqu, char *extra);
 int ieee80211_wx_set_auth(struct ieee80211_device *ieee,
-                               struct iw_request_info *info,
-                               struct iw_param *data, char *extra);
+                         struct iw_request_info *info,
+                         struct iw_param *data, char *extra);
 int ieee80211_wx_set_mlme(struct ieee80211_device *ieee,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra);
+                         struct iw_request_info *info,
+                         union iwreq_data *wrqu, char *extra);
 
 int ieee80211_wx_set_gen_ie(struct ieee80211_device *ieee, u8 *ie, size_t len);
 /* ieee80211_softmac.c */
 extern short ieee80211_is_54g(const struct ieee80211_network *net);
 extern short ieee80211_is_shortslot(const struct ieee80211_network *net);
-extern int ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
-                       struct ieee80211_rx_stats *rx_stats, u16 type,
-                       u16 stype);
-extern void ieee80211_softmac_new_net(struct ieee80211_device *ieee, struct ieee80211_network *net);
-
-extern void ieee80211_softmac_xmit(struct ieee80211_txb *txb, struct ieee80211_device *ieee);
+extern int ieee80211_rx_frame_softmac(struct ieee80211_device *ieee,
+                                     struct sk_buff *skb,
+                                     struct ieee80211_rx_stats *rx_stats,
+                                     u16 type, u16 stype);
+extern void ieee80211_softmac_new_net(struct ieee80211_device *ieee,
+                                     struct ieee80211_network *net);
+
+extern void ieee80211_softmac_xmit(struct ieee80211_txb *txb,
+                                  struct ieee80211_device *ieee);
 extern void ieee80211_softmac_check_all_nets(struct ieee80211_device *ieee);
 extern void ieee80211_start_bss(struct ieee80211_device *ieee);
 extern void ieee80211_start_master_bss(struct ieee80211_device *ieee);
@@ -1368,16 +1372,17 @@ extern void ieee80211_rtl_stop_queue(struct ieee80211_device *ieee);
 extern struct sk_buff *ieee80211_get_beacon(struct ieee80211_device *ieee);
 extern void ieee80211_start_send_beacons(struct ieee80211_device *ieee);
 extern void ieee80211_stop_send_beacons(struct ieee80211_device *ieee);
-extern int ieee80211_wpa_supplicant_ioctl(struct ieee80211_device *ieee, struct iw_point *p);
+extern int ieee80211_wpa_supplicant_ioctl(struct ieee80211_device *ieee,
+                                         struct iw_point *p);
 extern void notify_wx_assoc_event(struct ieee80211_device *ieee);
 extern void ieee80211_ps_tx_ack(struct ieee80211_device *ieee, short success);
-extern void SendDisassociation(struct ieee80211_device *ieee,u8* asSta,u8 asRsn);
+extern void SendDisassociation(struct ieee80211_device *ieee, u8 *asSta,
+                              u8 asRsn);
 extern void ieee80211_rtl_start_scan(struct ieee80211_device *ieee);
 
 //Add for RF power on power off by lizhaoming 080512
-extern void SendDisassociation(struct ieee80211_device *ieee,
-                                u8*                     asSta,
-                        u8                      asRsn);
+extern void SendDisassociation(struct ieee80211_device *ieee, u8 *asSta,
+                              u8 asRsn);
 
 /* ieee80211_crypt_ccmp&tkip&wep.c */
 extern void ieee80211_tkip_null(void);
@@ -1386,64 +1391,72 @@ extern void ieee80211_ccmp_null(void);
 /* ieee80211_softmac_wx.c */
 
 extern int ieee80211_wx_get_wap(struct ieee80211_device *ieee,
-                           struct iw_request_info *info,
-                           union iwreq_data *wrqu, char *ext);
+                               struct iw_request_info *info,
+                               union iwreq_data *wrqu, char *ext);
 
 extern int ieee80211_wx_set_wap(struct ieee80211_device *ieee,
-                        struct iw_request_info *info,
-                        union iwreq_data *awrq,
-                        char *extra);
+                               struct iw_request_info *info,
+                               union iwreq_data *awrq,
+                               char *extra);
 
-extern int ieee80211_wx_get_essid(struct ieee80211_device *ieee, struct iw_request_info *a,union iwreq_data *wrqu,char *b);
+extern int ieee80211_wx_get_essid(struct ieee80211_device *ieee,
+                                 struct iw_request_info *a,
+                                 union iwreq_data *wrqu, char *b);
 
 extern int ieee80211_wx_set_rate(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra);
+                                struct iw_request_info *info,
+                                union iwreq_data *wrqu, char *extra);
 
 extern int ieee80211_wx_get_rate(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra);
+                                struct iw_request_info *info,
+                                union iwreq_data *wrqu, char *extra);
 
-extern int ieee80211_wx_set_mode(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b);
+extern int ieee80211_wx_set_mode(struct ieee80211_device *ieee,
+                                struct iw_request_info *a,
+                                union iwreq_data *wrqu, char *b);
 
-extern int ieee80211_wx_set_scan(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b);
+extern int ieee80211_wx_set_scan(struct ieee80211_device *ieee,
+                                struct iw_request_info *a,
+                                union iwreq_data *wrqu, char *b);
 
 extern int ieee80211_wx_set_essid(struct ieee80211_device *ieee,
-                             struct iw_request_info *a,
-                             union iwreq_data *wrqu, char *extra);
+                                 struct iw_request_info *a,
+                                 union iwreq_data *wrqu, char *extra);
 
-extern int ieee80211_wx_get_mode(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b);
+extern int ieee80211_wx_get_mode(struct ieee80211_device *ieee,
+                                struct iw_request_info *a,
+                                union iwreq_data *wrqu, char *b);
 
-extern int ieee80211_wx_set_freq(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b);
+extern int ieee80211_wx_set_freq(struct ieee80211_device *ieee,
+                                struct iw_request_info *a,
+                                union iwreq_data *wrqu, char *b);
 
-extern int ieee80211_wx_get_freq(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b);
+extern int ieee80211_wx_get_freq(struct ieee80211_device *ieee,
+                                struct iw_request_info *a,
+                                union iwreq_data *wrqu, char *b);
 
 extern void ieee80211_wx_sync_scan_wq(struct work_struct *work);
 
 extern int ieee80211_wx_set_rawtx(struct ieee80211_device *ieee,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra);
+                                 struct iw_request_info *info,
+                                 union iwreq_data *wrqu, char *extra);
 
 extern int ieee80211_wx_get_name(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra);
-
-extern int ieee80211_wx_set_power(struct ieee80211_device *ieee,
                                 struct iw_request_info *info,
                                 union iwreq_data *wrqu, char *extra);
 
+extern int ieee80211_wx_set_power(struct ieee80211_device *ieee,
+                                 struct iw_request_info *info,
+                                 union iwreq_data *wrqu, char *extra);
+
 extern int ieee80211_wx_get_power(struct ieee80211_device *ieee,
-                                struct iw_request_info *info,
-                                union iwreq_data *wrqu, char *extra);
+                                 struct iw_request_info *info,
+                                 union iwreq_data *wrqu, char *extra);
 
 extern void ieee80211_softmac_ips_scan_syncro(struct ieee80211_device *ieee);
 
-extern void ieee80211_sta_ps_send_null_frame(struct ieee80211_device *ieee, short pwr);
+extern void ieee80211_sta_ps_send_null_frame(struct ieee80211_device *ieee,
+                                            short pwr);
 
 extern const long ieee80211_wlan_frequencies[];
 
index 694eae3d4fdaffb279811650bed898b69b6c4c82..a0340ee9d8b780fe2327007a9b7f68405129e429 100644 (file)
@@ -39,8 +39,7 @@ struct ieee80211_crypto {
 
 static struct ieee80211_crypto *hcrypt;
 
-void ieee80211_crypt_deinit_entries(struct ieee80211_device *ieee,
-                                          int force)
+void ieee80211_crypt_deinit_entries(struct ieee80211_device *ieee, int force)
 {
        struct list_head *ptr, *n;
        struct ieee80211_crypt_data *entry;
index f5949e89e5c233b898f31fbc1e8daade9d826e01..0e8392acdeacb6836c38a232566faf400d4db980 100644 (file)
@@ -11,7 +11,6 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
-//#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/slab.h>
@@ -61,7 +60,7 @@ struct ieee80211_ccmp_data {
 };
 
 void ieee80211_ccmp_aes_encrypt(struct crypto_tfm *tfm,
-                            const u8 pt[16], u8 ct[16])
+                               const u8 pt[16], u8 ct[16])
 {
        crypto_cipher_encrypt_one((void *)tfm, ct, pt);
 }
@@ -130,7 +129,6 @@ static void ccmp_init_blocks(struct crypto_tfm *tfm,
        qc_included = ((WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA) &&
                       (WLAN_FC_GET_STYPE(fc) & 0x08));
        */
-       // fixed by David :2006.9.6
        qc_included = ((WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA) &&
                       (WLAN_FC_GET_STYPE(fc) & 0x80));
        aad_len = 22;
@@ -212,7 +210,6 @@ static int ieee80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
        pos = skb_push(skb, CCMP_HDR_LEN);
        memmove(pos, pos + CCMP_HDR_LEN, hdr_len);
        pos += hdr_len;
-//     mic = skb_put(skb, CCMP_MIC_LEN);
 
        i = CCMP_PN_LEN - 1;
        while (i >= 0) {
@@ -232,7 +229,6 @@ static int ieee80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
        *pos++ = key->tx_pn[0];
 
        hdr = (struct ieee80211_hdr_4addr *)skb->data;
-       //mic is moved to here by john
        mic = skb_put(skb, CCMP_MIC_LEN);
 
        ccmp_init_blocks(key->tfm, hdr, key->tx_pn, data_len, b0, b, s0);
@@ -416,9 +412,8 @@ static int ieee80211_ccmp_get_key(void *key, int len, u8 *seq, void *priv)
 static char *ieee80211_ccmp_print_stats(char *p, void *priv)
 {
        struct ieee80211_ccmp_data *ccmp = priv;
-       p += sprintf(p, "key[%d] alg=CCMP key_set=%d "
-                    "tx_pn=%pm rx_pn=%pm "
-                    "format_errors=%d replays=%d decrypt_errors=%d\n",
+       p += sprintf(p,
+                    "key[%d] alg=CCMP key_set=%d tx_pn=%pm rx_pn=%pm format_errors=%d replays=%d decrypt_errors=%d\n",
                     ccmp->key_idx, ccmp->key_set,
                     ccmp->tx_pn, ccmp->rx_pn,
                     ccmp->dot11RSNAStatsCCMPFormatErrors,
@@ -430,7 +425,6 @@ static char *ieee80211_ccmp_print_stats(char *p, void *priv)
 
 void ieee80211_ccmp_null(void)
 {
-//    printk("============>%s()\n", __func__);
        return;
 }
 static struct ieee80211_crypto_ops ieee80211_crypt_ccmp = {
index da24e430ca1322a913fd9d2a02452c28cffab6d0..34a10d1868b4ed5c81dc9b2b96cac455a6a44dd6 100644 (file)
@@ -9,7 +9,6 @@
  * more details.
  */
 
-//#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/slab.h>
@@ -65,7 +64,7 @@ struct ieee80211_tkip_data {
        u8 rx_hdr[16], tx_hdr[16];
 };
 
-static void * ieee80211_tkip_init(int key_idx)
+static void *ieee80211_tkip_init(int key_idx)
 {
        struct ieee80211_tkip_data *priv;
 
@@ -304,8 +303,8 @@ static void tkip_mixing_phase2(u8 *WEPSeed, const u8 *TK, const u16 *TTAK,
 
 static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
 {
-        struct ieee80211_tkip_data *tkey = priv;
-        struct blkcipher_desc desc = {.tfm = tkey->tx_tfm_arc4};
+       struct ieee80211_tkip_data *tkey = priv;
+       struct blkcipher_desc desc = {.tfm = tkey->tx_tfm_arc4};
        int len;
        u8  *pos;
        struct ieee80211_hdr_4addr *hdr;
@@ -467,27 +466,27 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
        return keyidx;
 }
 
-static int michael_mic(struct crypto_hash *tfm_michael, u8 * key, u8 * hdr,
-                       u8 * data, size_t data_len, u8 * mic)
+static int michael_mic(struct crypto_hash *tfm_michael, u8 *key, u8 *hdr,
+                       u8 *data, size_t data_len, u8 *mic)
 {
-        struct hash_desc desc;
-        struct scatterlist sg[2];
+       struct hash_desc desc;
+       struct scatterlist sg[2];
 
-        if (tfm_michael == NULL) {
-                printk(KERN_WARNING "michael_mic: tfm_michael == NULL\n");
-                return -1;
-        }
+       if (tfm_michael == NULL) {
+               printk(KERN_WARNING "michael_mic: tfm_michael == NULL\n");
+               return -1;
+       }
 
        sg_init_table(sg, 2);
        sg_set_buf(&sg[0], hdr, 16);
        sg_set_buf(&sg[1], data, data_len);
 
-        if (crypto_hash_setkey(tfm_michael, key, 8))
-                return -1;
+       if (crypto_hash_setkey(tfm_michael, key, 8))
+               return -1;
 
-        desc.tfm = tfm_michael;
-        desc.flags = 0;
-        return crypto_hash_digest(&desc, sg, data_len + 16, mic);
+       desc.tfm = tfm_michael;
+       desc.flags = 0;
+       return crypto_hash_digest(&desc, sg, data_len + 16, mic);
 }
 
 static void michael_mic_hdr(struct sk_buff *skb, u8 *hdr)
@@ -521,7 +520,8 @@ static void michael_mic_hdr(struct sk_buff *skb, u8 *hdr)
 }
 
 
-static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *priv)
+static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len,
+                                    void *priv)
 {
        struct ieee80211_tkip_data *tkey = priv;
        u8 *pos;
@@ -538,12 +538,9 @@ static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *pri
 
        michael_mic_hdr(skb, tkey->tx_hdr);
 
-       // { david, 2006.9.1
-       // fix the wpa process with wmm enabled.
        if(IEEE80211_QOS_HAS_SEQ(le16_to_cpu(hdr->frame_ctl))) {
                tkey->tx_hdr[12] = *(skb->data + hdr_len - 2) & 0x07;
        }
-       // }
        pos = skb_put(skb, 8);
 
        if (michael_mic(tkey->tx_tfm_michael, &tkey->key[16], tkey->tx_hdr,
@@ -554,8 +551,8 @@ static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *pri
 }
 
 static void ieee80211_michael_mic_failure(struct net_device *dev,
-                                      struct ieee80211_hdr_4addr *hdr,
-                                      int keyidx)
+                                         struct ieee80211_hdr_4addr *hdr,
+                                         int keyidx)
 {
        union iwreq_data wrqu;
        struct iw_michaelmicfailure ev;
@@ -575,7 +572,7 @@ static void ieee80211_michael_mic_failure(struct net_device *dev,
 }
 
 static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
-                                    int hdr_len, void *priv)
+                                       int hdr_len, void *priv)
 {
        struct ieee80211_tkip_data *tkey = priv;
        u8 mic[8];
@@ -587,12 +584,9 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
                return -1;
 
        michael_mic_hdr(skb, tkey->rx_hdr);
-       // { david, 2006.9.1
-       // fix the wpa process with wmm enabled.
        if(IEEE80211_QOS_HAS_SEQ(le16_to_cpu(hdr->frame_ctl))) {
                tkey->rx_hdr[12] = *(skb->data + hdr_len - 2) & 0x07;
        }
-       // }
 
        if (michael_mic(tkey->rx_tfm_michael, &tkey->key[24], tkey->rx_hdr,
                        skb->data + hdr_len, skb->len - 8 - hdr_len, mic))
@@ -688,7 +682,7 @@ static int ieee80211_tkip_get_key(void *key, int len, u8 *seq, void *priv)
 }
 
 
-static char * ieee80211_tkip_print_stats(char *p, void *priv)
+static char *ieee80211_tkip_print_stats(char *p, void *priv)
 {
        struct ieee80211_tkip_data *tkip = priv;
        p += sprintf(p, "key[%d] alg=TKIP key_set=%d "
@@ -746,6 +740,4 @@ void ieee80211_crypto_tkip_exit(void)
 
 void ieee80211_tkip_null(void)
 {
-//    printk("============>%s()\n", __func__);
-        return;
 }
index 304579096562aa0011f0159e0b26665aeb4815ea..b522b57a26916ad1d7e96c334f42bb087fcddded 100644 (file)
@@ -337,8 +337,9 @@ ieee80211_rx_frame_decrypt(struct ieee80211_device *ieee, struct sk_buff *skb,
 
 /* Called only as a tasklet (software IRQ), by ieee80211_rx */
 static inline int
-ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee, struct sk_buff *skb,
-                            int keyidx, struct ieee80211_crypt_data *crypt)
+ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee,
+                               struct sk_buff *skb, int keyidx,
+                               struct ieee80211_crypt_data *crypt)
 {
        struct ieee80211_hdr_4addr *hdr;
        int res, hdrlen;
@@ -366,7 +367,7 @@ ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device *ieee, struct sk_buff *s
 /* this function is stolen from ipw2200 driver*/
 #define IEEE_PACKET_RETRY_TIME (5*HZ)
 static int is_duplicate_packet(struct ieee80211_device *ieee,
-                                     struct ieee80211_hdr_4addr *header)
+                              struct ieee80211_hdr_4addr *header)
 {
        u16 fc = le16_to_cpu(header->frame_ctl);
        u16 sc = le16_to_cpu(header->seq_ctl);
@@ -467,7 +468,7 @@ drop:
  * IEEE 802.11 format, i.e., in the format it was sent over air.
  * This function is called only as a tasklet (software IRQ). */
 int ieee80211_rtl_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
-                struct ieee80211_rx_stats *rx_stats)
+                    struct ieee80211_rx_stats *rx_stats)
 {
        struct net_device *dev = ieee->dev;
        //struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev);
@@ -794,9 +795,7 @@ static inline int ieee80211_is_ofdm_rate(u8 rate)
        return 0;
 }
 
-static inline int ieee80211_SignalStrengthTranslate(
-       int  CurrSS
-       )
+static inline int ieee80211_SignalStrengthTranslate(int CurrSS)
 {
        int RetSS;
 
@@ -831,12 +830,10 @@ static inline int ieee80211_SignalStrengthTranslate(
        return RetSS;
 }
 
-static inline void ieee80211_extract_country_ie(
-       struct ieee80211_device *ieee,
-       struct ieee80211_info_element *info_element,
-       struct ieee80211_network *network,
-       u8 *addr2
-)
+static inline void
+ieee80211_extract_country_ie(struct ieee80211_device *ieee,
+                            struct ieee80211_info_element *info_element,
+                            struct ieee80211_network *network, u8 *addr2)
 {
        if (IS_DOT11D_ENABLE(ieee)) {
                if (info_element->len != 0) {
@@ -858,10 +855,8 @@ static inline void ieee80211_extract_country_ie(
 
 }
 
-static int
-ieee80211_TranslateToDbm(
-       unsigned char SignalStrengthIndex       // 0-100 index.
-       )
+/* SignalStrengthIndex is 0-100 */
+static int ieee80211_TranslateToDbm(unsigned char SignalStrengthIndex)
 {
        unsigned char SignalPower; // in dBm.
 
@@ -1197,7 +1192,7 @@ static inline int is_same_network(struct ieee80211_network *src,
 }
 
 inline void update_network(struct ieee80211_network *dst,
-                                 struct ieee80211_network *src)
+                          struct ieee80211_network *src)
 {
        unsigned char quality = src->stats.signalstrength;
        unsigned char signal = 0;
@@ -1281,10 +1276,10 @@ inline void update_network(struct ieee80211_network *dst,
 }
 
 
-inline void ieee80211_process_probe_response(
-       struct ieee80211_device *ieee,
-       struct ieee80211_probe_response *beacon,
-       struct ieee80211_rx_stats *stats)
+inline void
+ieee80211_process_probe_response(struct ieee80211_device *ieee,
+                                struct ieee80211_probe_response *beacon,
+                                struct ieee80211_rx_stats *stats)
 {
        struct ieee80211_network network;
        struct ieee80211_network *target;
index 029070603f661861d9081b374b47ffb6873fd0b8..3af1bf965981896f18b0dce9a4dfc643492c3a91 100644 (file)
 #include <linux/delay.h>
 #include <linux/slab.h>
 #include <linux/interrupt.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
 #include <linux/etherdevice.h>
 
 #include "dot11d.h"
 u8 rsn_authen_cipher_suite[16][4] = {
-       {0x00,0x0F,0xAC,0x00}, //Use group key, //Reserved
-       {0x00,0x0F,0xAC,0x01}, //WEP-40         //RSNA default
-       {0x00,0x0F,0xAC,0x02}, //TKIP           //NONE          //{used just as default}
-       {0x00,0x0F,0xAC,0x03}, //WRAP-historical
-       {0x00,0x0F,0xAC,0x04}, //CCMP
-       {0x00,0x0F,0xAC,0x05}, //WEP-104
+       {0x00, 0x0F, 0xAC, 0x00}, //Use group key, //Reserved
+       {0x00, 0x0F, 0xAC, 0x01}, //WEP-40         //RSNA default
+       {0x00, 0x0F, 0xAC, 0x02}, //TKIP           //NONE               //{used just as default}
+       {0x00, 0x0F, 0xAC, 0x03}, //WRAP-historical
+       {0x00, 0x0F, 0xAC, 0x04}, //CCMP
+       {0x00, 0x0F, 0xAC, 0x05}, //WEP-104
 };
 
 short ieee80211_is_54g(const struct ieee80211_network *net)
@@ -106,7 +106,8 @@ void ieee80211_MFIE_Grate(struct ieee80211_device *ieee, u8 **tag_p)
 }
 
 
-void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p) {
+void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p)
+{
        u8 *tag = *tag_p;
 
        *tag++ = MFIE_TYPE_GENERIC; //0
@@ -118,30 +119,28 @@ void ieee80211_WMM_Info(struct ieee80211_device *ieee, u8 **tag_p) {
        *tag++ = 0x00;
        *tag++ = 0x01;
 #ifdef SUPPORT_USPD
-       if(ieee->current_network.wmm_info & 0x80) {
+       if (ieee->current_network.wmm_info & 0x80)
                *tag++ = 0x0f|MAX_SP_Len;
-       } else {
+       else
                *tag++ = MAX_SP_Len;
-       }
 #else
        *tag++ = MAX_SP_Len;
 #endif
        *tag_p = tag;
 }
 
-void ieee80211_TURBO_Info(struct ieee80211_device *ieee, u8 **tag_p) {
+void ieee80211_TURBO_Info(struct ieee80211_device *ieee, u8 **tag_p)
+{
        u8 *tag = *tag_p;
-
-        *tag++ = MFIE_TYPE_GENERIC; //0
-        *tag++ = 7;
-        *tag++ = 0x00;
-        *tag++ = 0xe0;
-        *tag++ = 0x4c;
-        *tag++ = 0x01;//5
-        *tag++ = 0x02;
-        *tag++ = 0x11;
+       *tag++ = MFIE_TYPE_GENERIC; /* 0 */
+       *tag++ = 7;
+       *tag++ = 0x00;
+       *tag++ = 0xe0;
+       *tag++ = 0x4c;
+       *tag++ = 0x01; /* 5 */
+       *tag++ = 0x02;
+       *tag++ = 0x11;
        *tag++ = 0x00;
-
        *tag_p = tag;
        printk(KERN_ALERT "This is enable turbo mode IE process\n");
 }
@@ -187,7 +186,8 @@ void init_mgmt_queue(struct ieee80211_device *ieee)
 
 void ieee80211_sta_wakeup(struct ieee80211_device *ieee, short nl);
 
-inline void softmac_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee)
+inline void softmac_mgmt_xmit(struct sk_buff *skb,
+                             struct ieee80211_device *ieee)
 {
        unsigned long flags;
        short single = ieee->softmac_features & IEEE_SOFTMAC_SINGLE_QUEUE;
@@ -238,7 +238,8 @@ inline void softmac_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee
 }
 
 
-inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee)
+inline void softmac_ps_mgmt_xmit(struct sk_buff *skb,
+                                struct ieee80211_device *ieee)
 {
 
        short single = ieee->softmac_features & IEEE_SOFTMAC_SINGLE_QUEUE;
@@ -276,10 +277,9 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *i
 //     dev_kfree_skb_any(skb);//edit by thomas
 }
 //by amy for power save
-inline struct sk_buff *ieee80211_disassociate_skb(
-                                                       struct ieee80211_network *beacon,
-                                                       struct ieee80211_device *ieee,
-                                                       u8      asRsn)
+inline struct sk_buff *
+ieee80211_disassociate_skb(struct ieee80211_network *beacon,
+                          struct ieee80211_device *ieee, u8 asRsn)
 {
        struct sk_buff *skb;
        struct ieee80211_disassoc_frame *disass;
@@ -299,12 +299,7 @@ inline struct sk_buff *ieee80211_disassociate_skb(
        disass->reasoncode = asRsn;
        return skb;
 }
-void
-SendDisassociation(
-        struct ieee80211_device *ieee,
-        u8*                     asSta,
-        u8                      asRsn
-)
+void SendDisassociation(struct ieee80211_device *ieee, u8 *asSta, u8 asRsn)
 {
         struct ieee80211_network *beacon = &ieee->current_network;
         struct sk_buff *skb;
@@ -735,8 +730,9 @@ void ieee80211_start_scan_syncro(struct ieee80211_device *ieee)
 
 }
 
-inline struct sk_buff *ieee80211_authentication_req(struct ieee80211_network *beacon,
-       struct ieee80211_device *ieee, int challengelen)
+inline struct sk_buff *
+ieee80211_authentication_req(struct ieee80211_network *beacon,
+                            struct ieee80211_device *ieee, int challengelen)
 {
        struct sk_buff *skb;
        struct ieee80211_authentication *auth;
@@ -768,7 +764,8 @@ inline struct sk_buff *ieee80211_authentication_req(struct ieee80211_network *be
 
 }
 
-static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *dest)
+static struct sk_buff *ieee80211_probe_resp(struct ieee80211_device *ieee,
+                                           u8 *dest)
 {
        u8 *tag;
        int beacon_size;
@@ -969,7 +966,7 @@ static struct sk_buff *ieee80211_auth_resp(struct ieee80211_device *ieee,
 
 }
 
-struct sk_buff* ieee80211_null_func(struct ieee80211_device *ieee,short pwr)
+struct sk_buff *ieee80211_null_func(struct ieee80211_device *ieee, short pwr)
 {
        struct sk_buff *skb;
        struct ieee80211_hdr_3addr* hdr;
@@ -995,7 +992,7 @@ struct sk_buff* ieee80211_null_func(struct ieee80211_device *ieee,short pwr)
 }
 
 
-void ieee80211_resp_to_assoc_rq(struct ieee80211_device *ieee, u8dest)
+void ieee80211_resp_to_assoc_rq(struct ieee80211_device *ieee, u8 *dest)
 {
        struct sk_buff *buf = ieee80211_assoc_resp(ieee, dest);
 
@@ -1006,7 +1003,7 @@ void ieee80211_resp_to_assoc_rq(struct ieee80211_device *ieee, u8* dest)
 }
 
 
-void ieee80211_resp_to_auth(struct ieee80211_device *ieee, int s, u8dest)
+void ieee80211_resp_to_auth(struct ieee80211_device *ieee, int s, u8 *dest)
 {
        struct sk_buff *buf = ieee80211_auth_resp(ieee, s, dest);
 
@@ -1029,7 +1026,9 @@ void ieee80211_resp_to_probe(struct ieee80211_device *ieee, u8 *dest)
 }
 
 
-inline struct sk_buff *ieee80211_association_req(struct ieee80211_network *beacon,struct ieee80211_device *ieee)
+inline struct sk_buff *
+ieee80211_association_req(struct ieee80211_network *beacon,
+                         struct ieee80211_device *ieee)
 {
        struct sk_buff *skb;
        //unsigned long flags;
@@ -1200,7 +1199,8 @@ void ieee80211_associate_step1(struct ieee80211_device *ieee)
        }
 }
 
-void ieee80211_rtl_auth_challenge(struct ieee80211_device *ieee, u8 *challenge, int chlen)
+void ieee80211_rtl_auth_challenge(struct ieee80211_device *ieee, u8 *challenge,
+                                 int chlen)
 {
        u8 *c;
        struct sk_buff *skb;
@@ -1310,7 +1310,8 @@ void ieee80211_associate_procedure_wq(struct work_struct *work)
        up(&ieee->wx_sem);
 }
 
-inline void ieee80211_softmac_new_net(struct ieee80211_device *ieee, struct ieee80211_network *net)
+inline void ieee80211_softmac_new_net(struct ieee80211_device *ieee,
+                                     struct ieee80211_network *net)
 {
        u8 tmp_ssid[IW_ESSID_MAX_SIZE+1];
        int tmp_ssid_len = 0;
@@ -1423,7 +1424,7 @@ void ieee80211_softmac_check_all_nets(struct ieee80211_device *ieee)
 }
 
 
-static inline u16 auth_parse(struct sk_buff *skb, u8** challenge, int *chlen)
+static inline u16 auth_parse(struct sk_buff *skb, u8 **challenge, int *chlen)
 {
        struct ieee80211_authentication *a;
        u8 *t;
@@ -1449,7 +1450,7 @@ static inline u16 auth_parse(struct sk_buff *skb, u8** challenge, int *chlen)
 }
 
 
-int auth_rq_parse(struct sk_buff *skb,u8* dest)
+int auth_rq_parse(struct sk_buff *skb, u8 *dest)
 {
        struct ieee80211_authentication *a;
 
@@ -1467,7 +1468,8 @@ int auth_rq_parse(struct sk_buff *skb,u8* dest)
        return WLAN_STATUS_SUCCESS;
 }
 
-static short probe_rq_parse(struct ieee80211_device *ieee, struct sk_buff *skb, u8 *src)
+static short probe_rq_parse(struct ieee80211_device *ieee, struct sk_buff *skb,
+                           u8 *src)
 {
        u8 *tag;
        u8 *skbend;
@@ -1505,7 +1507,7 @@ static short probe_rq_parse(struct ieee80211_device *ieee, struct sk_buff *skb,
 
 }
 
-int assoc_rq_parse(struct sk_buff *skb,u8* dest)
+int assoc_rq_parse(struct sk_buff *skb, u8 *dest)
 {
        struct ieee80211_assoc_request_frame *a;
 
@@ -1536,8 +1538,8 @@ static inline u16 assoc_parse(struct sk_buff *skb, int *aid)
        return le16_to_cpu(a->status);
 }
 
-static inline void
-ieee80211_rx_probe_rq(struct ieee80211_device *ieee, struct sk_buff *skb)
+static inline void ieee80211_rx_probe_rq(struct ieee80211_device *ieee,
+                                        struct sk_buff *skb)
 {
        u8 dest[ETH_ALEN];
 
@@ -1551,8 +1553,8 @@ ieee80211_rx_probe_rq(struct ieee80211_device *ieee, struct sk_buff *skb)
        }
 }
 
-inline void
-ieee80211_rx_auth_rq(struct ieee80211_device *ieee, struct sk_buff *skb)
+inline void ieee80211_rx_auth_rq(struct ieee80211_device *ieee,
+                                struct sk_buff *skb)
 {
        u8 dest[ETH_ALEN];
        int status;
@@ -1595,7 +1597,8 @@ void ieee80211_sta_ps_send_null_frame(struct ieee80211_device *ieee, short pwr)
 }
 
 
-short ieee80211_sta_ps_sleep(struct ieee80211_device *ieee, u32 *time_h, u32 *time_l)
+short ieee80211_sta_ps_sleep(struct ieee80211_device *ieee, u32 *time_h,
+                            u32 *time_l)
 {
         int timeout = 0;
 
@@ -1770,10 +1773,10 @@ void ieee80211_ps_tx_ack(struct ieee80211_device *ieee, short success)
        spin_unlock_irqrestore(&ieee->lock, flags);
 }
 
-inline int
-ieee80211_rx_frame_softmac(struct ieee80211_device *ieee, struct sk_buff *skb,
-                       struct ieee80211_rx_stats *rx_stats, u16 type,
-                       u16 stype)
+inline int ieee80211_rx_frame_softmac(struct ieee80211_device *ieee,
+                                     struct sk_buff *skb,
+                                     struct ieee80211_rx_stats *rx_stats,
+                                     u16 type, u16 stype)
 {
        struct ieee80211_hdr_3addr *header = (struct ieee80211_hdr_3addr *) skb->data;
        u16 errcode;
@@ -1976,7 +1979,8 @@ associate_complete:
  * to the driver later, when it wakes the queue.
  */
 
-void ieee80211_softmac_xmit(struct ieee80211_txb *txb, struct ieee80211_device *ieee)
+void ieee80211_softmac_xmit(struct ieee80211_txb *txb,
+                           struct ieee80211_device *ieee)
 {
 
 
@@ -2619,7 +2623,8 @@ static int ieee80211_wpa_enable(struct ieee80211_device *ieee, int value)
 }
 
 
-void ieee80211_wpa_assoc_frame(struct ieee80211_device *ieee, char *wpa_ie, int wpa_ie_len)
+void ieee80211_wpa_assoc_frame(struct ieee80211_device *ieee, char *wpa_ie,
+                              int wpa_ie_len)
 {
        /* make sure WPA is enabled */
        ieee80211_wpa_enable(ieee, 1);
@@ -2628,7 +2633,8 @@ void ieee80211_wpa_assoc_frame(struct ieee80211_device *ieee, char *wpa_ie, int
 }
 
 
-static int ieee80211_wpa_mlme(struct ieee80211_device *ieee, int command, int reason)
+static int ieee80211_wpa_mlme(struct ieee80211_device *ieee, int command,
+                             int reason)
 {
 
        int ret = 0;
@@ -2652,7 +2658,7 @@ static int ieee80211_wpa_mlme(struct ieee80211_device *ieee, int command, int re
 
 
 static int ieee80211_wpa_set_wpa_ie(struct ieee80211_device *ieee,
-                             struct ieee_param *param, int plen)
+                                   struct ieee_param *param, int plen)
 {
        u8 *buf;
 
@@ -2706,7 +2712,8 @@ static int ieee80211_wpa_set_auth_algs(struct ieee80211_device *ieee, int value)
        return ret;
 }
 
-static int ieee80211_wpa_set_param(struct ieee80211_device *ieee, u8 name, u32 value)
+static int ieee80211_wpa_set_param(struct ieee80211_device *ieee, u8 name,
+                                  u32 value)
 {
        int ret=0;
        unsigned long flags;
@@ -2784,7 +2791,7 @@ static int ieee80211_wpa_set_param(struct ieee80211_device *ieee, u8 name, u32 v
 /* implementation borrowed from hostap driver */
 
 static int ieee80211_wpa_set_encryption(struct ieee80211_device *ieee,
-                                 struct ieee_param *param, int param_len)
+                                       struct ieee_param *param, int param_len)
 {
        int ret = 0;
 
@@ -2931,7 +2938,8 @@ static int ieee80211_wpa_set_encryption(struct ieee80211_device *ieee,
        return ret;
 }
 
-int ieee80211_wpa_supplicant_ioctl(struct ieee80211_device *ieee, struct iw_point *p)
+int ieee80211_wpa_supplicant_ioctl(struct ieee80211_device *ieee,
+                                  struct iw_point *p)
 {
        struct ieee_param *param;
        int ret=0;
index e5282068e3dee22dfeb10b665fa716212d040a29..46f35644126c3aebc7538a520daa68ddc046f248 100644 (file)
@@ -28,8 +28,9 @@ const long ieee80211_wlan_frequencies[] = {
 };
 
 
-int ieee80211_wx_set_freq(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b)
+int ieee80211_wx_set_freq(struct ieee80211_device *ieee,
+                         struct iw_request_info *a, union iwreq_data *wrqu,
+                         char *b)
 {
        int ret;
        struct iw_freq *fwrq = &wrqu->freq;
@@ -82,8 +83,8 @@ out:
 
 
 int ieee80211_wx_get_freq(struct ieee80211_device *ieee,
-                            struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b)
+                         struct iw_request_info *a, union iwreq_data *wrqu,
+                         char *b)
 {
        struct iw_freq *fwrq = &wrqu->freq;
 
@@ -97,8 +98,8 @@ int ieee80211_wx_get_freq(struct ieee80211_device *ieee,
 }
 
 int ieee80211_wx_get_wap(struct ieee80211_device *ieee,
-                           struct iw_request_info *info,
-                           union iwreq_data *wrqu, char *extra)
+                        struct iw_request_info *info, union iwreq_data *wrqu,
+                        char *extra)
 {
        unsigned long flags;
 
@@ -126,8 +127,7 @@ int ieee80211_wx_get_wap(struct ieee80211_device *ieee,
 
 
 int ieee80211_wx_set_wap(struct ieee80211_device *ieee,
-                        struct iw_request_info *info,
-                        union iwreq_data *awrq,
+                        struct iw_request_info *info, union iwreq_data *awrq,
                         char *extra)
 {
 
@@ -174,8 +174,9 @@ out:
        return ret;
 }
 
-int ieee80211_wx_get_essid(struct ieee80211_device *ieee, struct iw_request_info *a,
-                           union iwreq_data *wrqu, char *b)
+int ieee80211_wx_get_essid(struct ieee80211_device *ieee,
+                          struct iw_request_info *a, union iwreq_data *wrqu,
+                          char *b)
 {
        int len, ret = 0;
        unsigned long flags;
@@ -211,8 +212,8 @@ out:
 }
 
 int ieee80211_wx_set_rate(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                         struct iw_request_info *info, union iwreq_data *wrqu,
+                         char *extra)
 {
 
        u32 target_rate = wrqu->bitrate.value;
@@ -230,8 +231,8 @@ int ieee80211_wx_set_rate(struct ieee80211_device *ieee,
 
 
 int ieee80211_wx_get_rate(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                         struct iw_request_info *info, union iwreq_data *wrqu,
+                         char *extra)
 {
 
        wrqu->bitrate.value = ieee->rate * 100000;
@@ -239,8 +240,9 @@ int ieee80211_wx_get_rate(struct ieee80211_device *ieee,
        return 0;
 }
 
-int ieee80211_wx_set_mode(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b)
+int ieee80211_wx_set_mode(struct ieee80211_device *ieee,
+                         struct iw_request_info *a, union iwreq_data *wrqu,
+                         char *b)
 {
 
        ieee->sync_scan_hurryup = 1;
@@ -305,8 +307,9 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
 
 }
 
-int ieee80211_wx_set_scan(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b)
+int ieee80211_wx_set_scan(struct ieee80211_device *ieee,
+                         struct iw_request_info *a, union iwreq_data *wrqu,
+                         char *b)
 {
        int ret = 0;
 
@@ -333,8 +336,8 @@ out:
 }
 
 int ieee80211_wx_set_essid(struct ieee80211_device *ieee,
-                             struct iw_request_info *a,
-                             union iwreq_data *wrqu, char *extra)
+                          struct iw_request_info *a, union iwreq_data *wrqu,
+                          char *extra)
 {
 
        int ret = 0, len;
@@ -395,8 +398,9 @@ out:
        return ret;
 }
 
-int ieee80211_wx_get_mode(struct ieee80211_device *ieee, struct iw_request_info *a,
-                            union iwreq_data *wrqu, char *b)
+int ieee80211_wx_get_mode(struct ieee80211_device *ieee,
+                         struct iw_request_info *a, union iwreq_data *wrqu,
+                         char *b)
 {
 
        wrqu->mode = ieee->iw_mode;
@@ -404,8 +408,8 @@ int ieee80211_wx_get_mode(struct ieee80211_device *ieee, struct iw_request_info
 }
 
 int ieee80211_wx_set_rawtx(struct ieee80211_device *ieee,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                          struct iw_request_info *info, union iwreq_data *wrqu,
+                          char *extra)
 {
 
        int *parms = (int *)extra;
@@ -440,8 +444,8 @@ int ieee80211_wx_set_rawtx(struct ieee80211_device *ieee,
 }
 
 int ieee80211_wx_get_name(struct ieee80211_device *ieee,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                         struct iw_request_info *info, union iwreq_data *wrqu,
+                         char *extra)
 {
        strlcpy(wrqu->name, "802.11", IFNAMSIZ);
        if (ieee->modulation & IEEE80211_CCK_MODULATION) {
@@ -464,8 +468,8 @@ int ieee80211_wx_get_name(struct ieee80211_device *ieee,
 
 /* this is mostly stolen from hostap */
 int ieee80211_wx_set_power(struct ieee80211_device *ieee,
-                                struct iw_request_info *info,
-                                union iwreq_data *wrqu, char *extra)
+                          struct iw_request_info *info, union iwreq_data *wrqu,
+                          char *extra)
 {
        int ret = 0;
 
@@ -525,8 +529,8 @@ exit:
 
 /* this is stolen from hostap */
 int ieee80211_wx_get_power(struct ieee80211_device *ieee,
-                                struct iw_request_info *info,
-                                union iwreq_data *wrqu, char *extra)
+                          struct iw_request_info *info, union iwreq_data *wrqu,
+                          char *extra)
 {
        int ret = 0;
 
index f5a5219fe14de4accc234d4f22f12dfd343a2463..0dc5ae414270de5e7a6aa6d7572ec78dcd4972bc 100644 (file)
@@ -177,10 +177,8 @@ static inline int ieee80211_put_snap(u8 *data, u16 h_proto)
        return SNAP_SIZE + sizeof(u16);
 }
 
-int ieee80211_encrypt_fragment(
-       struct ieee80211_device *ieee,
-       struct sk_buff *frag,
-       int hdr_len)
+int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
+                              struct sk_buff *frag, int hdr_len)
 {
        struct ieee80211_crypt_data* crypt = ieee->crypt[ieee->tx_keyidx];
        int res;
@@ -279,8 +277,8 @@ static struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size,
  * Classify the to-be send data packet
  * Need to acquire the sent queue index.
  */
-static int
-ieee80211_classify(struct sk_buff *skb, struct ieee80211_network *network)
+static int ieee80211_classify(struct sk_buff *skb,
+                             struct ieee80211_network *network)
 {
        struct ether_header *eh = (struct ether_header *)skb->data;
        unsigned int wme_UP = 0;
@@ -310,8 +308,7 @@ ieee80211_classify(struct sk_buff *skb, struct ieee80211_network *network)
 }
 
 /* SKBs are added to the ieee->tx_queue. */
-int ieee80211_rtl_xmit(struct sk_buff *skb,
-                      struct net_device *dev)
+int ieee80211_rtl_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct ieee80211_device *ieee = netdev_priv(dev);
        struct ieee80211_txb *txb = NULL;
index 24d39ccc13378e4f16d6c380e9c6b8d754276400..3b7955f0ff987a96c6a077bf8e5d5504f5f9f0e6 100644 (file)
@@ -633,8 +633,8 @@ done:
        return ret;
 }
 int ieee80211_wx_set_mlme(struct ieee80211_device *ieee,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                         struct iw_request_info *info,
+                         union iwreq_data *wrqu, char *extra)
 {
        struct iw_mlme *mlme = (struct iw_mlme *) extra;
 //     printk("\ndkgadfslkdjgalskdf===============>%s(), cmd:%x\n", __func__, mlme->cmd);
@@ -653,8 +653,8 @@ int ieee80211_wx_set_mlme(struct ieee80211_device *ieee,
 }
 
 int ieee80211_wx_set_auth(struct ieee80211_device *ieee,
-                              struct iw_request_info *info,
-                              struct iw_param *data, char *extra)
+                         struct iw_request_info *info,
+                         struct iw_param *data, char *extra)
 {
 /*
         struct ieee80211_security sec = {
index d052f4a9a839ed6f95234d695ba7a12e00b6108d..e9602f67cac883698abf5d7007410f643c30fb01 100644 (file)
@@ -639,20 +639,20 @@ typedef struct r8180_priv
                ((_ac) == WME_AC_BK) ? BK_PRIORITY : \
                BE_PRIORITY)
 
-short rtl8180_tx(struct net_device *dev,u8* skbuf, int len,int priority,
-       short morefrag,short fragdesc,int rate);
+short rtl8180_tx(struct net_device *dev, u8 *skbuf, int len, int priority,
+                short morefrag, short fragdesc, int rate);
 
 u8 read_nic_byte(struct net_device *dev, int x);
 u32 read_nic_dword(struct net_device *dev, int x);
 u16 read_nic_word(struct net_device *dev, int x) ;
-void write_nic_byte(struct net_device *dev, int x,u8 y);
-void write_nic_word(struct net_device *dev, int x,u16 y);
-void write_nic_dword(struct net_device *dev, int x,u32 y);
+void write_nic_byte(struct net_device *dev, int x, u8 y);
+void write_nic_word(struct net_device *dev, int x, u16 y);
+void write_nic_dword(struct net_device *dev, int x, u32 y);
 void force_pci_posting(struct net_device *dev);
 
 void rtl8180_rtx_disable(struct net_device *);
-void rtl8180_set_anaparam(struct net_device *dev,u32 a);
-void rtl8185_set_anaparam2(struct net_device *dev,u32 a);
+void rtl8180_set_anaparam(struct net_device *dev, u32 a);
+void rtl8185_set_anaparam2(struct net_device *dev, u32 a);
 void rtl8180_set_hw_wep(struct net_device *dev);
 void rtl8180_no_hw_wep(struct net_device *dev);
 void rtl8180_update_msr(struct net_device *dev);
@@ -661,7 +661,7 @@ void rtl8180_beacon_rx_disable(struct net_device *dev);
 int rtl8180_down(struct net_device *dev);
 int rtl8180_up(struct net_device *dev);
 void rtl8180_commit(struct net_device *dev);
-void rtl8180_set_chan(struct net_device *dev,short ch);
+void rtl8180_set_chan(struct net_device *dev, short ch);
 void write_phy(struct net_device *dev, u8 adr, u8 data);
 void write_phy_cck(struct net_device *dev, u8 adr, u32 data);
 void write_phy_ofdm(struct net_device *dev, u8 adr, u32 data);
@@ -671,7 +671,8 @@ void IPSEnter(struct net_device *dev);
 void IPSLeave(struct net_device *dev);
 int get_curr_tx_free_desc(struct net_device *dev, int priority);
 void UpdateInitialGain(struct net_device *dev);
-bool SetAntennaConfig87SE(struct net_device *dev, u8  DefaultAnt, bool bAntDiversity);
+bool SetAntennaConfig87SE(struct net_device *dev, u8 DefaultAnt,
+                         bool bAntDiversity);
 
 //#ifdef CONFIG_RTL8185B
 void rtl8185b_adapter_start(struct net_device *dev);
@@ -684,6 +685,17 @@ void fix_tx_fifo(struct net_device *dev);
 void rtl8225z2_SetTXPowerLevel(struct net_device *dev, short ch);
 void rtl8180_rate_adapter(struct work_struct * work);
 //#endif
-bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet, u32 ChangeSource);
+bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet,
+                        u32 ChangeSource);
 
 #endif
+
+/* fun with the built-in ieee80211 stack... */
+extern int ieee80211_crypto_init(void);
+extern void ieee80211_crypto_deinit(void);
+extern int ieee80211_crypto_tkip_init(void);
+extern void ieee80211_crypto_tkip_exit(void);
+extern int ieee80211_crypto_ccmp_init(void);
+extern void ieee80211_crypto_ccmp_exit(void);
+extern int ieee80211_crypto_wep_init(void);
+extern void ieee80211_crypto_wep_exit(void);
index 76a67386b927326e99c793059ce3093d07e52b63..297136b3c57d4728aa7759a00625257d23b37ea8 100644 (file)
@@ -79,7 +79,7 @@ module_param(hwwep, int, S_IRUGO|S_IWUSR);
 MODULE_PARM_DESC(hwwep, " Try to use hardware WEP support. Still broken and not available on all cards");
 
 static int rtl8180_pci_probe(struct pci_dev *pdev,
-                                      const struct pci_device_id *id);
+                            const struct pci_device_id *id);
 
 static void rtl8180_pci_remove(struct pci_dev *pdev);
 
@@ -387,7 +387,8 @@ static short buffer_add(struct buffer **buffer, u32 *buf, dma_addr_t dma,
        return 0;
 }
 
-void buffer_free(struct net_device *dev, struct buffer **buffer, int len, short consistent)
+void buffer_free(struct net_device *dev, struct buffer **buffer, int len,
+                short consistent)
 {
 
        struct buffer *tmp, *next;
@@ -1855,7 +1856,7 @@ short rtl8180_tx(struct net_device *dev, u8 *txbuf, int len, int priority,
 
                if (remain == len && !descfrag) {
                        ownbit_flag = false;
-                       *tail = *tail | (1<<29) ; /* fist segment of the packet */
+                       *tail = *tail | (1<<29); /* fist segment of the packet */
                        *tail = *tail | (len);
                } else {
                        ownbit_flag = true;
@@ -2238,7 +2239,8 @@ static CHANNEL_LIST ChannelPlan[] = {
        {{1,2,3,4,5,6,7,8,9,10,11,12,13},13} /* world wide 13: ch1~ch11 active scan, ch12~13 passive //lzm add 080826 */
 };
 
-static void rtl8180_set_channel_map(u8 channel_plan, struct ieee80211_device *ieee)
+static void rtl8180_set_channel_map(u8 channel_plan,
+                                   struct ieee80211_device *ieee)
 {
        int i;
 
@@ -2830,11 +2832,8 @@ static struct net_device_stats *rtl8180_stats(struct net_device *dev)
 /*
  * Change current and default preamble mode.
  */
-bool
-MgntActSet_802_11_PowerSaveMode(
-       struct r8180_priv *priv,
-       RT_PS_MODE              rtPsMode
-)
+bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv,
+                                    RT_PS_MODE rtPsMode)
 {
        /* Currently, we do not change power save mode on IBSS mode. */
        if (priv->ieee80211->iw_mode == IW_MODE_ADHOC)
@@ -3161,7 +3160,7 @@ static const struct net_device_ops rtl8180_netdev_ops = {
 };
 
 static int rtl8180_pci_probe(struct pci_dev *pdev,
-                                      const struct pci_device_id *id)
+                            const struct pci_device_id *id)
 {
        unsigned long ioaddr = 0;
        struct net_device *dev = NULL;
@@ -3310,16 +3309,6 @@ static void rtl8180_pci_remove(struct pci_dev *pdev)
        DMESG("wlan driver removed\n");
 }
 
-/* fun with the built-in ieee80211 stack... */
-extern int ieee80211_crypto_init(void);
-extern void ieee80211_crypto_deinit(void);
-extern int ieee80211_crypto_tkip_init(void);
-extern void ieee80211_crypto_tkip_exit(void);
-extern int ieee80211_crypto_ccmp_init(void);
-extern void ieee80211_crypto_ccmp_exit(void);
-extern int ieee80211_crypto_wep_init(void);
-extern void ieee80211_crypto_wep_exit(void);
-
 static int __init rtl8180_pci_module_init(void)
 {
        int ret;
index 732c06ac1026ad16075b301d6fc44f29487c37e9..cb4046f346efedbd552f9fe944f0ad32bcc215b6 100644 (file)
@@ -5,7 +5,7 @@
 /* #include "r8180_hw.h"       */
 /* #include "r8180_93cx6.h"    */
 void SwAntennaDiversityRxOk8185(struct net_device *dev, u8 SignalStrength);
-bool SetAntenna8185(struct net_device *dev,    u8 u1bAntennaIndex);
+bool SetAntenna8185(struct net_device *dev, u8 u1bAntennaIndex);
 bool SwitchAntenna(struct net_device *dev);
 void SwAntennaDiversity(struct net_device *dev);
 void SwAntennaDiversityTimerCallback(struct net_device *dev);
index c94ca0794a5d522d781db2aa8d2082e13c2370da..de084f07a071bbd4e814be2ed6f51e9b0bc075c3 100644 (file)
@@ -28,7 +28,8 @@ u16 RF_ReadReg(struct net_device *dev, u8 offset);
 
 void rtl8180_set_mode(struct net_device *dev, int mode);
 void rtl8180_set_mode(struct net_device *dev, int mode);
-bool SetZebraRFPowerState8185(struct net_device *dev, RT_RF_POWER_STATE  eRFPowerState);
+bool SetZebraRFPowerState8185(struct net_device *dev,
+                             RT_RF_POWER_STATE eRFPowerState);
 void rtl8225z4_rf_sleep(struct net_device *dev);
 void rtl8225z4_rf_wakeup(struct net_device *dev);
 
index 4e01653e098a3b782e6844fd23430ced355ee2f2..bae68759bd6aff454a3b117babea275bac250b5b 100644 (file)
@@ -21,6 +21,7 @@
 #include "r8180.h"
 #include "r8180_hw.h"
 
+#include <net/iw_handler.h>
 #include "ieee80211/dot11d.h"
 
 u32 rtl8180_rates[] = {1000000, 2000000, 5500000, 11000000,
@@ -74,8 +75,9 @@ static int r8180_wx_set_key(struct net_device *dev,
 }
 
 
-static int r8180_wx_set_beaconinterval(struct net_device *dev, struct iw_request_info *aa,
-                         union iwreq_data *wrqu, char *b)
+static int r8180_wx_set_beaconinterval(struct net_device *dev,
+                                      struct iw_request_info *aa,
+                                      union iwreq_data *wrqu, char *b)
 {
        int *parms = (int *)b;
        int bi = parms[0];
@@ -473,9 +475,8 @@ static int r8180_wx_get_frag(struct net_device *dev,
 
 
 static int r8180_wx_set_wap(struct net_device *dev,
-                        struct iw_request_info *info,
-                        union iwreq_data *awrq,
-                        char *extra)
+                           struct iw_request_info *info,
+                           union iwreq_data *awrq, char *extra)
 {
        int ret;
        struct r8180_priv *priv = ieee80211_priv(dev);
@@ -537,8 +538,10 @@ static int r8180_wx_get_enc(struct net_device *dev,
 }
 
 
-static int r8180_wx_set_scan_type(struct net_device *dev, struct iw_request_info *aa, union
-       iwreq_data *wrqu, char *p)      {
+static int r8180_wx_set_scan_type(struct net_device *dev,
+                                 struct iw_request_info *aa,
+                                 union iwreq_data *wrqu, char *p)
+{
 
        struct r8180_priv *priv = ieee80211_priv(dev);
        int *parms = (int*)p;
@@ -553,8 +556,8 @@ static int r8180_wx_set_scan_type(struct net_device *dev, struct iw_request_info
 }
 
 static int r8180_wx_set_retry(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
+                             struct iw_request_info *info,
+                             union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        int err = 0;
@@ -601,8 +604,8 @@ exit:
 }
 
 static int r8180_wx_get_retry(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
+                             struct iw_request_info *info,
+                             union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -625,8 +628,8 @@ static int r8180_wx_get_retry(struct net_device *dev,
 }
 
 static int r8180_wx_get_sens(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
+                            struct iw_request_info *info,
+                            union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        if (priv->rf_set_sens == NULL)
@@ -637,8 +640,8 @@ static int r8180_wx_get_sens(struct net_device *dev,
 
 
 static int r8180_wx_set_sens(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
+                            struct iw_request_info *info,
+                            union iwreq_data *wrqu, char *extra)
 {
 
        struct r8180_priv *priv = ieee80211_priv(dev);
@@ -666,8 +669,8 @@ exit:
 
 
 static int r8180_wx_set_rawtx(struct net_device *dev,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                             struct iw_request_info *info,
+                             union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        int ret;
@@ -686,8 +689,8 @@ static int r8180_wx_set_rawtx(struct net_device *dev,
 }
 
 static int r8180_wx_get_power(struct net_device *dev,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                             struct iw_request_info *info,
+                             union iwreq_data *wrqu, char *extra)
 {
        int ret;
        struct r8180_priv *priv = ieee80211_priv(dev);
@@ -702,8 +705,8 @@ static int r8180_wx_get_power(struct net_device *dev,
 }
 
 static int r8180_wx_set_power(struct net_device *dev,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                             struct iw_request_info *info,
+                             union iwreq_data *wrqu, char *extra)
 {
        int ret;
        struct r8180_priv *priv = ieee80211_priv(dev);
@@ -728,8 +731,8 @@ static int r8180_wx_set_power(struct net_device *dev,
 }
 
 static int r8180_wx_set_rts(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                           struct iw_request_info *info,
+                           union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -750,8 +753,8 @@ static int r8180_wx_set_rts(struct net_device *dev,
        return 0;
 }
 static int r8180_wx_get_rts(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                           struct iw_request_info *info,
+                           union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -841,8 +844,8 @@ static int r8180_wx_set_iwmode(struct net_device *dev,
        return ret;
 }
 static int r8180_wx_get_preamble(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                                struct iw_request_info *info,
+                                union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -858,8 +861,8 @@ static int r8180_wx_get_preamble(struct net_device *dev,
        return 0;
 }
 static int r8180_wx_set_preamble(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                                struct iw_request_info *info,
+                                union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        int ret = 0;
@@ -881,8 +884,8 @@ static int r8180_wx_set_preamble(struct net_device *dev,
        return ret;
 }
 static int r8180_wx_get_siglevel(struct net_device *dev,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                                struct iw_request_info *info,
+                                union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        int ret = 0;
@@ -900,8 +903,8 @@ static int r8180_wx_get_siglevel(struct net_device *dev,
        return ret;
 }
 static int r8180_wx_get_sigqual(struct net_device *dev,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                               struct iw_request_info *info,
+                               union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        int ret = 0;
@@ -959,8 +962,8 @@ static int r8180_wx_reset_stats(struct net_device *dev,
 
 }
 static int r8180_wx_radio_on(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
+                            struct iw_request_info *info,
+                            union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -978,8 +981,8 @@ static int r8180_wx_radio_on(struct net_device *dev,
 }
 
 static int r8180_wx_radio_off(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
+                             struct iw_request_info *info,
+                             union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -996,8 +999,8 @@ static int r8180_wx_radio_off(struct net_device *dev,
 
 }
 static int r8180_wx_get_channelplan(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                                   struct iw_request_info *info,
+                                   union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
 
@@ -1013,8 +1016,8 @@ static int r8180_wx_get_channelplan(struct net_device *dev,
        return 0;
 }
 static int r8180_wx_set_channelplan(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                                   struct iw_request_info *info,
+                                   union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        int *val = (int *)extra;
@@ -1043,8 +1046,8 @@ static int r8180_wx_set_channelplan(struct net_device *dev,
 }
 
 static int r8180_wx_get_version(struct net_device *dev,
-                              struct iw_request_info *info,
-                              union iwreq_data *wrqu, char *extra)
+                               struct iw_request_info *info,
+                               union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        /* struct ieee80211_device *ieee; */
@@ -1059,8 +1062,8 @@ static int r8180_wx_get_version(struct net_device *dev,
 /* added by amy 080818 */
 /*receive datarate from user typing valid rate is from 2 to 108 (1 - 54M), if input 0, return to normal rate adaptive. */
 static int r8180_wx_set_forcerate(struct net_device *dev,
-                            struct iw_request_info *info,
-                            union iwreq_data *wrqu, char *extra)
+                                 struct iw_request_info *info,
+                                 union iwreq_data *wrqu, char *extra)
 {
        struct r8180_priv *priv = ieee80211_priv(dev);
        u8 forcerate = *extra;
@@ -1084,8 +1087,8 @@ static int r8180_wx_set_forcerate(struct net_device *dev,
 }
 
 static int r8180_wx_set_enc_ext(struct net_device *dev,
-                                                                               struct iw_request_info *info,
-                                                                               union iwreq_data *wrqu, char *extra)
+                               struct iw_request_info *info,
+                               union iwreq_data *wrqu, char *extra)
 {
 
        struct r8180_priv *priv = ieee80211_priv(dev);
@@ -1118,8 +1121,8 @@ static int r8180_wx_set_auth(struct net_device *dev,
 }
 
 static int r8180_wx_set_mlme(struct net_device *dev,
-                                                                               struct iw_request_info *info,
-                                                                               union iwreq_data *wrqu, char *extra)
+                            struct iw_request_info *info,
+                            union iwreq_data *wrqu, char *extra)
 {
        int ret = 0;
        struct r8180_priv *priv = ieee80211_priv(dev);
@@ -1156,65 +1159,48 @@ static int r8180_wx_set_gen_ie(struct net_device *dev,
 
 
 }
-static iw_handler r8180_wx_handlers[] =        {
-               NULL,                                   /* SIOCSIWCOMMIT */
-               r8180_wx_get_name,                      /* SIOCGIWNAME */
-               dummy,                                  /* SIOCSIWNWID */
-               dummy,                                  /* SIOCGIWNWID */
-               r8180_wx_set_freq,                      /* SIOCSIWFREQ */
-               r8180_wx_get_freq,                      /* SIOCGIWFREQ */
-               r8180_wx_set_mode,                      /* SIOCSIWMODE */
-               r8180_wx_get_mode,                      /* SIOCGIWMODE */
-               r8180_wx_set_sens,                      /* SIOCSIWSENS */
-               r8180_wx_get_sens,                      /* SIOCGIWSENS */
-               NULL,                                   /* SIOCSIWRANGE */
-               rtl8180_wx_get_range,                   /* SIOCGIWRANGE */
-               NULL,                                   /* SIOCSIWPRIV */
-               NULL,                                   /* SIOCGIWPRIV */
-               NULL,                                   /* SIOCSIWSTATS */
-               NULL,                                   /* SIOCGIWSTATS */
-               dummy,                                  /* SIOCSIWSPY */
-               dummy,                                  /* SIOCGIWSPY */
-               NULL,                                   /* SIOCGIWTHRSPY */
-               NULL,                                   /* SIOCWIWTHRSPY */
-               r8180_wx_set_wap,                       /* SIOCSIWAP */
-               r8180_wx_get_wap,                       /* SIOCGIWAP */
-               r8180_wx_set_mlme,                      /* SIOCSIWMLME*/
-               dummy,                                  /* SIOCGIWAPLIST -- deprecated */
-               r8180_wx_set_scan,                      /* SIOCSIWSCAN */
-               r8180_wx_get_scan,                      /* SIOCGIWSCAN */
-               r8180_wx_set_essid,                     /* SIOCSIWESSID */
-               r8180_wx_get_essid,                     /* SIOCGIWESSID */
-               dummy,                                  /* SIOCSIWNICKN */
-               dummy,                                  /* SIOCGIWNICKN */
-               NULL,                                   /* -- hole -- */
-               NULL,                                   /* -- hole -- */
-               r8180_wx_set_rate,                      /* SIOCSIWRATE */
-               r8180_wx_get_rate,                      /* SIOCGIWRATE */
-               r8180_wx_set_rts,                       /* SIOCSIWRTS */
-               r8180_wx_get_rts,                       /* SIOCGIWRTS */
-               r8180_wx_set_frag,                      /* SIOCSIWFRAG */
-               r8180_wx_get_frag,                      /* SIOCGIWFRAG */
-               dummy,                                  /* SIOCSIWTXPOW */
-               dummy,                                  /* SIOCGIWTXPOW */
-               r8180_wx_set_retry,                     /* SIOCSIWRETRY */
-               r8180_wx_get_retry,                     /* SIOCGIWRETRY */
-               r8180_wx_set_enc,                       /* SIOCSIWENCODE */
-               r8180_wx_get_enc,                       /* SIOCGIWENCODE */
-               r8180_wx_set_power,                     /* SIOCSIWPOWER */
-               r8180_wx_get_power,                     /* SIOCGIWPOWER */
-               NULL,                                   /*---hole---*/
-               NULL,                                   /*---hole---*/
-               r8180_wx_set_gen_ie,                    /* SIOCSIWGENIE */
-               NULL,                                   /* SIOCSIWGENIE */
-               r8180_wx_set_auth,                      /* SIOCSIWAUTH */
-               NULL,                                   /* SIOCSIWAUTH */
-               r8180_wx_set_enc_ext,                   /* SIOCSIWENCODEEXT */
-               NULL,                                   /* SIOCSIWENCODEEXT */
-               NULL,                                   /* SIOCSIWPMKSA */
-               NULL,                                   /*---hole---*/
-};
 
+static const iw_handler r8180_wx_handlers[] =  {
+       IW_HANDLER(SIOCGIWNAME,         r8180_wx_get_name),
+       IW_HANDLER(SIOCSIWNWID,         dummy),
+       IW_HANDLER(SIOCGIWNWID,         dummy),
+       IW_HANDLER(SIOCSIWFREQ,         r8180_wx_set_freq),
+       IW_HANDLER(SIOCGIWFREQ,         r8180_wx_get_freq),
+       IW_HANDLER(SIOCSIWMODE,         r8180_wx_set_mode),
+       IW_HANDLER(SIOCGIWMODE,         r8180_wx_get_mode),
+       IW_HANDLER(SIOCSIWSENS,         r8180_wx_set_sens),
+       IW_HANDLER(SIOCGIWSENS,         r8180_wx_get_sens),
+       IW_HANDLER(SIOCGIWRANGE,        rtl8180_wx_get_range),
+       IW_HANDLER(SIOCSIWSPY,          dummy),
+       IW_HANDLER(SIOCGIWSPY,          dummy),
+       IW_HANDLER(SIOCSIWAP,           r8180_wx_set_wap),
+       IW_HANDLER(SIOCGIWAP,           r8180_wx_get_wap),
+       IW_HANDLER(SIOCSIWMLME,         r8180_wx_set_mlme),
+       IW_HANDLER(SIOCGIWAPLIST,       dummy),         /* deprecated */
+       IW_HANDLER(SIOCSIWSCAN,         r8180_wx_set_scan),
+       IW_HANDLER(SIOCGIWSCAN,         r8180_wx_get_scan),
+       IW_HANDLER(SIOCSIWESSID,        r8180_wx_set_essid),
+       IW_HANDLER(SIOCGIWESSID,        r8180_wx_get_essid),
+       IW_HANDLER(SIOCSIWNICKN,        dummy),
+       IW_HANDLER(SIOCGIWNICKN,        dummy),
+       IW_HANDLER(SIOCSIWRATE,         r8180_wx_set_rate),
+       IW_HANDLER(SIOCGIWRATE,         r8180_wx_get_rate),
+       IW_HANDLER(SIOCSIWRTS,          r8180_wx_set_rts),
+       IW_HANDLER(SIOCGIWRTS,          r8180_wx_get_rts),
+       IW_HANDLER(SIOCSIWFRAG,         r8180_wx_set_frag),
+       IW_HANDLER(SIOCGIWFRAG,         r8180_wx_get_frag),
+       IW_HANDLER(SIOCSIWTXPOW,        dummy),
+       IW_HANDLER(SIOCGIWTXPOW,        dummy),
+       IW_HANDLER(SIOCSIWRETRY,        r8180_wx_set_retry),
+       IW_HANDLER(SIOCGIWRETRY,        r8180_wx_get_retry),
+       IW_HANDLER(SIOCSIWENCODE,       r8180_wx_set_enc),
+       IW_HANDLER(SIOCGIWENCODE,       r8180_wx_get_enc),
+       IW_HANDLER(SIOCSIWPOWER,        r8180_wx_set_power),
+       IW_HANDLER(SIOCGIWPOWER,        r8180_wx_get_power),
+       IW_HANDLER(SIOCSIWGENIE,        r8180_wx_set_gen_ie),
+       IW_HANDLER(SIOCSIWAUTH,         r8180_wx_set_auth),
+       IW_HANDLER(SIOCSIWENCODEEXT,    r8180_wx_set_enc_ext),
+};
 
 static const struct iw_priv_args r8180_private_args[] = {
        {
@@ -1350,7 +1336,7 @@ static iw_handler r8180_private_handler[] = {
 };
 
 static inline int is_same_network(struct ieee80211_network *src,
-                                                                       struct ieee80211_network *dst,
+                                 struct ieee80211_network *dst,
                                  struct ieee80211_device *ieee)
 {
                /* A network is only a duplicate if the channel, BSSID, ESSID
index dc52a3e584d838a7fca7a64e5d551df729c0a2d7..c8b9baff1dbce491adff7db3aed358bf48464c28 100644 (file)
@@ -497,7 +497,7 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev)
          */
                RF_WriteReg(dev, 0x0f, (priv->XtalCal_Xin<<5) |
                            (priv->XtalCal_Xout<<1) | BIT11 | BIT9); mdelay(1);
-               printk("ZEBRA_Config_85BASIC_HardCode(): (%02x)\n",
+               netdev_info(dev, "ZEBRA_Config_85BASIC_HardCode(): (%02x)\n",
                      (priv->XtalCal_Xin<<5) | (priv->XtalCal_Xout<<1) |
                       BIT11 | BIT9);
        } else {
@@ -870,9 +870,10 @@ static u8 GetSupportedWirelessMode8185(struct net_device *dev)
        return WIRELESS_MODE_B | WIRELESS_MODE_G;
 }
 
-static void ActUpdateChannelAccessSetting(struct net_device *dev,
-                                  WIRELESS_MODE WirelessMode,
-                                  PCHANNEL_ACCESS_SETTING ChnlAccessSetting)
+static void
+ActUpdateChannelAccessSetting(struct net_device *dev,
+                             WIRELESS_MODE WirelessMode,
+                             PCHANNEL_ACCESS_SETTING ChnlAccessSetting)
 {
        AC_CODING       eACI;
 
@@ -1084,7 +1085,7 @@ static bool MgntDisconnect(struct net_device *dev, u8 asRsn)
  *             PASSIVE LEVEL.
  */
 static bool SetRFPowerState(struct net_device *dev,
-               RT_RF_POWER_STATE eRFPowerState)
+                           RT_RF_POWER_STATE eRFPowerState)
 {
        struct  r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev);
        bool    bResult = false;
@@ -1097,8 +1098,8 @@ static bool SetRFPowerState(struct net_device *dev,
        return bResult;
 }
 
-bool MgntActSet_RF_State(struct net_device *dev,
-               RT_RF_POWER_STATE StateToSet, u32 ChangeSource)
+bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet,
+                        u32 ChangeSource)
 {
        struct  r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev);
        bool    bActionAllowed = false;
@@ -1125,7 +1126,7 @@ bool MgntActSet_RF_State(struct net_device *dev,
                                 *      to be stuck here.
                                 */
                                if (RFWaitCounter > 1000) { /* 1sec */
-                                       printk("MgntActSet_RF_State(): Wait too long to set RF\n");
+                                       netdev_info(dev, "MgntActSet_RF_State(): Wait too long to set RF\n");
                                        /* TODO: Reset RF state? */
                                        return false;
                                }
index 10c9c6560b20207226575a184c4ed04a5b555442..c47990a62b7ce1c38b20ddd40341533020372b90 100644 (file)
@@ -296,7 +296,7 @@ u32 _rtw_write_port_and_wait(struct adapter *adapter, u32 addr, u32 cnt, u8 *pme
        if (ret == _SUCCESS)
                ret = rtw_sctx_wait(&sctx);
 
-        return ret;
+       return ret;
 }
 
 void _rtw_write_port_cancel(struct adapter *adapter)
index 7ab5ff039c8807da5d5d9fbcdac16859a4fa4a3b..6519a7b3f833794f8218d6d1563f997ef74bef48 100644 (file)
@@ -4419,7 +4419,7 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr
        if (ret == _SUCCESS)
                ret = rtw_sctx_wait(&sctx);
 
-        return ret;
+       return ret;
 }
 
 s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe)
index a594e51d2e1ca974b9bb946b56e9e9457c533c2e..01662f78e53da64ec540c725fc4077b30afe2e46 100644 (file)
@@ -685,7 +685,7 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr
 
 _func_enter_;
 
-       hw_hdr_offset = TXDESC_SIZE + (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);;
+       hw_hdr_offset = TXDESC_SIZE + (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
 
        if (pattrib->encrypt == _TKIP_) {/* if (psecuritypriv->dot11PrivacyAlgrthm == _TKIP_PRIVACY_) */
                /* encode mic code */
index 52b3fba0fae147590b350f22a93f2690ace4715f..a291d7ae6f4225b19a9cb6dcb123a0ccf5b2b67c 100644 (file)
@@ -2304,7 +2304,7 @@ void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter, u8 *PROMContent, bool
                if (registry_par->antdiv_cfg == 2) { /*  2:By EFUSE */
                        pHalData->AntDivCfg = (PROMContent[EEPROM_RF_BOARD_OPTION_88E]&0x18)>>3;
                        if (PROMContent[EEPROM_RF_BOARD_OPTION_88E] == 0xFF)
-                               pHalData->AntDivCfg = (EEPROM_DEFAULT_BOARD_OPTION&0x18)>>3;;
+                               pHalData->AntDivCfg = (EEPROM_DEFAULT_BOARD_OPTION&0x18)>>3;
                } else {
                        pHalData->AntDivCfg = registry_par->antdiv_cfg;  /*  0:OFF , 1:ON, 2:By EFUSE */
                }
index 05e2475cfd61347f6c5c8e0b824da1aec76e9450..511f61cbb9e0ae175585048e0324a67f1de3e3b9 100644 (file)
@@ -86,7 +86,7 @@ void update_recvframe_attrib_88e(union recv_frame *precvframe, struct recv_stat
        pattrib = &precvframe->u.hdr.attrib;
        _rtw_memset(pattrib, 0, sizeof(struct rx_pkt_attrib));
 
-       pattrib->crc_err = (u8)((le32_to_cpu(report.rxdw0) >> 14) & 0x1);;/* u8)prxreport->crc32; */
+       pattrib->crc_err = (u8)((le32_to_cpu(report.rxdw0) >> 14) & 0x1);/* u8)prxreport->crc32; */
 
        /*  update rx report to recv_frame attribute */
        pattrib->pkt_rpt_type = (u8)((le32_to_cpu(report.rxdw3) >> 14) & 0x3);/* prxreport->rpt_sel; */
index ae545877023428b103df7af913ca9e10753ed939..a002d2e75e9f6193339314017601c67e3e4d079e 100644 (file)
@@ -7228,25 +7228,25 @@ static int rtw_mp_thermal(struct net_device *dev,
        if (copy_from_user(extra, wrqu->pointer, wrqu->length))
                return -EFAULT;
 
-        bwrite = strncmp(extra, "write", 6); /*  strncmp true is 0 */
+       bwrite = strncmp(extra, "write", 6); /*  strncmp true is 0 */
 
-        Hal_GetThermalMeter(padapter, &val);
+       Hal_GetThermalMeter(padapter, &val);
 
-        if (bwrite == 0) {
-                       EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-                       if (2 > max_available_size) {
-                               DBG_88E("no available efuse!\n");
-                               return -EFAULT;
-                       }
-                       if (rtw_efuse_map_write(padapter, addr, cnt, &val) == _FAIL) {
-                               DBG_88E("rtw_efuse_map_write error\n");
-                               return -EFAULT;
-                       } else {
-                                sprintf(extra, " efuse write ok :%d", val);
-                       }
-        } else {
-                        sprintf(extra, "%d", val);
-        }
+       if (bwrite == 0) {
+               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
+               if (2 > max_available_size) {
+                       DBG_88E("no available efuse!\n");
+                       return -EFAULT;
+               }
+               if (rtw_efuse_map_write(padapter, addr, cnt, &val) == _FAIL) {
+                       DBG_88E("rtw_efuse_map_write error\n");
+                       return -EFAULT;
+               } else {
+                        sprintf(extra, " efuse write ok :%d", val);
+               }
+       } else {
+                sprintf(extra, "%d", val);
+       }
        wrqu->length = strlen(extra);
 
        return 0;
index a1ae72772c5fa6294ce4543bfda410f5cdb4c673..2ffb4184fd0811f97871d3c9fcab881f54052488 100644 (file)
@@ -52,7 +52,7 @@ u32 rtw_atoi(u8 *s)
        }
        if (flag == 1)
                num = num * -1;
-        return num;
+       return num;
 }
 
 inline u8 *_rtw_vmalloc(u32 sz)
index 7d14779310d370f7a70b35b56a00ef261bd671af..b21b1566424b994019b4c58a90d254e26ec8181b 100644 (file)
@@ -71,7 +71,7 @@ struct rtw_usb_drv {
 };
 
 static struct rtw_usb_drv rtl8188e_usb_drv = {
-       .usbdrv.name = (char *)"r8188eu",
+       .usbdrv.name = "r8188eu",
        .usbdrv.probe = rtw_drv_init,
        .usbdrv.disconnect = rtw_dev_remove,
        .usbdrv.id_table = rtw_usb_id_tbl,
index 1260f10944ef07a5c1707f63c74047f8fe9b9687..eb33c517fcc8241c6a633154a97bd5a7d6ad1f03 100644 (file)
@@ -144,7 +144,7 @@ void Dot11d_UpdateCountryIe(struct rtllib_device *dev, u8 *pTaddr,
                        return;
                }
 
-               for (j = 0 ; j < pTriple->NumChnls; j++) {
+               for (j = 0; j < pTriple->NumChnls; j++) {
                        pDot11dInfo->channel_map[pTriple->FirstChnl + j] = 1;
                        pDot11dInfo->MaxTxPwrDbmList[pTriple->FirstChnl + j] =
                                                 pTriple->MaxTxPowerInDbm;
index fb7683fa5ffd93d3bcaee6741e7e6a79bae5828a..eeea50260f1d08368ade615e22420945b97c6581 100644 (file)
@@ -87,7 +87,10 @@ static inline void cpMacAddr(unsigned char *des, unsigned char *src)
 #define CIE_WATCHDOG_TH 1
 #define GET_CIE_WATCHDOG(__pIeeeDev)                           \
         (GET_DOT11D_INFO(__pIeeeDev)->CountryIeWatchdog)
-#define RESET_CIE_WATCHDOG(__pIeeeDev) GET_CIE_WATCHDOG(__pIeeeDev) = 0
+static inline void RESET_CIE_WATCHDOG(struct rtllib_device *__pIeeeDev)
+{
+       GET_CIE_WATCHDOG(__pIeeeDev) = 0;
+}
 #define UPDATE_CIE_WATCHDOG(__pIeeeDev) (++GET_CIE_WATCHDOG(__pIeeeDev))
 
 #define IS_DOT11D_STATE_DONE(__pIeeeDev)                       \
index 2cace9a4525aac87d44f6ce5b838aff929097e53..4a35f9b5602d47f1a91431652f740b255759e5de 100644 (file)
@@ -30,7 +30,7 @@
 #include "rtl_dm.h"
 #include "rtl_wx.h"
 
-extern int WDCAPARA_ADD[];
+static int WDCAPARA_ADD[] = {EDCAPARA_BE, EDCAPARA_BK, EDCAPARA_VI, EDCAPARA_VO};
 
 void rtl8192e_start_beacon(struct net_device *dev)
 {
@@ -193,11 +193,12 @@ void rtl8192e_SetHwReg(struct net_device *dev, u8 variable, u8 *val)
 
                dm_init_edca_turbo(dev);
 
-               u4bAcParam = ((((u32)(qos_parameters->tx_op_limit[pAcParam])) <<
+               u4bAcParam = (((le16_to_cpu(
+                                       qos_parameters->tx_op_limit[pAcParam])) <<
                             AC_PARAM_TXOP_LIMIT_OFFSET) |
-                            (((u32)(qos_parameters->cw_max[pAcParam])) <<
+                            ((le16_to_cpu(qos_parameters->cw_max[pAcParam])) <<
                             AC_PARAM_ECW_MAX_OFFSET) |
-                            (((u32)(qos_parameters->cw_min[pAcParam])) <<
+                            ((le16_to_cpu(qos_parameters->cw_min[pAcParam])) <<
                             AC_PARAM_ECW_MIN_OFFSET) |
                             (((u32)u1bAIFS) << AC_PARAM_AIFS_OFFSET));
 
@@ -1271,7 +1272,7 @@ void  rtl8192_tx_fill_desc(struct net_device *dev, struct tx_desc *pdesc,
        pdesc->LastSeg = 1;
        pdesc->TxBufferSize = skb->len;
 
-       pdesc->TxBuffAddr = cpu_to_le32(mapping);
+       pdesc->TxBuffAddr = mapping;
 }
 
 void  rtl8192_tx_fill_cmd_desc(struct net_device *dev,
@@ -1301,7 +1302,7 @@ void  rtl8192_tx_fill_cmd_desc(struct net_device *dev,
                entry_tmp->RATid = (u8)DESC_PACKET_TYPE_INIT;
        }
        entry->TxBufferSize = skb->len;
-       entry->TxBuffAddr = cpu_to_le32(mapping);
+       entry->TxBuffAddr = mapping;
        entry->OWN = 1;
 }
 
index fa5603a562c34478c2175b7029afae3a319aa47b..c46c65c5542f3009ce8f91df3ea828e658f85e7c 100644 (file)
@@ -28,7 +28,6 @@
 #include "r8190P_rtl8256.h" /* RTL8225 Radio frontend */
 #include "r8192E_cmdpkt.h"
 
-extern int hwwep;
 void CamResetAllEntry(struct net_device *dev)
 {
        u32 ulcommand = 0;
index d93caca9657d2ea8bf50c633425128802649b5e7..c01abc23213efd36255531bda0cef2f753514cfe 100644 (file)
@@ -562,8 +562,8 @@ void rtl8192_update_cap(struct net_device *dev, u16 cap)
 }
 
 static struct rtllib_qos_parameters def_qos_parameters = {
-       {3, 3, 3, 3},
-       {7, 7, 7, 7},
+       {cpu_to_le16(3), cpu_to_le16(3), cpu_to_le16(3), cpu_to_le16(3)},
+       {cpu_to_le16(7), cpu_to_le16(7), cpu_to_le16(7), cpu_to_le16(7)},
        {2, 2, 2, 2},
        {0, 0, 0, 0},
        {0, 0, 0, 0}
@@ -585,8 +585,6 @@ static void rtl8192_update_beacon(void *data)
        rtl8192_update_cap(dev, net->capability);
 }
 
-int WDCAPARA_ADD[] = {EDCAPARA_BE, EDCAPARA_BK, EDCAPARA_VI, EDCAPARA_VO};
-
 static void rtl8192_qos_activate(void *data)
 {
        struct r8192_priv *priv = container_of_work_rsl(data, struct r8192_priv,
@@ -1845,7 +1843,7 @@ static void rtl8192_free_tx_ring(struct net_device *dev, unsigned int prio)
                struct tx_desc *entry = &ring->desc[ring->idx];
                struct sk_buff *skb = __skb_dequeue(&ring->queue);
 
-               pci_unmap_single(priv->pdev, le32_to_cpu(entry->TxBuffAddr),
+               pci_unmap_single(priv->pdev, entry->TxBuffAddr,
                        skb->len, PCI_DMA_TODEVICE);
                kfree_skb(skb);
                ring->idx = (ring->idx + 1) % ring->entries;
@@ -1950,7 +1948,7 @@ static void rtl8192_tx_isr(struct net_device *dev, int prio)
                }
 
                skb = __skb_dequeue(&ring->queue);
-               pci_unmap_single(priv->pdev, le32_to_cpu(entry->TxBuffAddr),
+               pci_unmap_single(priv->pdev, entry->TxBuffAddr,
                skb->len, PCI_DMA_TODEVICE);
 
                kfree_skb(skb);
@@ -2011,7 +2009,7 @@ short rtl8192_tx(struct net_device *dev, struct sk_buff *skb)
        fwinfo_size = sizeof(struct tx_fwinfo_8190pci);
 
        header = (struct rtllib_hdr_1addr *)(((u8 *)skb->data) + fwinfo_size);
-       fc = header->frame_ctl;
+       fc = le16_to_cpu(header->frame_ctl);
        type = WLAN_FC_GET_TYPE(fc);
        stype = WLAN_FC_GET_STYPE(fc);
        pda_addr = header->addr1;
@@ -2101,7 +2099,7 @@ static short rtl8192_alloc_rx_desc_ring(struct net_device *dev)
                                dev_kfree_skb_any(skb);
                                return -1;
                        }
-                       entry->BufferAddress = cpu_to_le32(*mapping);
+                       entry->BufferAddress = *mapping;
 
                        entry->Length = priv->rxbuffersize;
                        entry->OWN = 1;
@@ -2137,8 +2135,8 @@ static int rtl8192_alloc_tx_desc_ring(struct net_device *dev,
 
        for (i = 0; i < entries; i++)
                ring[i].NextDescAddress =
-                       cpu_to_le32((u32)dma + ((i + 1) % entries) *
-                       sizeof(*ring));
+                       (u32)dma + ((i + 1) % entries) *
+                       sizeof(*ring);
 
        return 0;
 }
@@ -2198,7 +2196,7 @@ void rtl8192_pci_resetdescring(struct net_device *dev)
                                                 __skb_dequeue(&ring->queue);
 
                                pci_unmap_single(priv->pdev,
-                                                le32_to_cpu(entry->TxBuffAddr),
+                                                entry->TxBuffAddr,
                                                 skb->len, PCI_DMA_TODEVICE);
                                kfree_skb(skb);
                                ring->idx = (ring->idx + 1) % ring->entries;
@@ -2400,7 +2398,7 @@ static void rtl8192_rx_normal(struct net_device *dev)
                        }
                }
 done:
-               pdesc->BufferAddress = cpu_to_le32(*((dma_addr_t *)skb->cb));
+               pdesc->BufferAddress = *((dma_addr_t *)skb->cb);
                pdesc->OWN = 1;
                pdesc->Length = priv->rxbuffersize;
                if (priv->rx_idx[rx_queue_idx] == priv->rxringcount-1)
@@ -2692,7 +2690,7 @@ out:
 }
 
 
-irqreturn_t rtl8192_interrupt(int irq, void *netdev)
+static irqreturn_t rtl8192_interrupt(int irq, void *netdev)
 {
        struct net_device *dev = (struct net_device *) netdev;
        struct r8192_priv *priv = (struct r8192_priv *)rtllib_priv(dev);
index b015bf61cf057b718fb780ec40f5ea7f1658eb38..ce239be8f2f6957c2b720ab50f772390ca612da7 100644 (file)
 #define MAX_RX_COUNT                           64
 #define MAX_TX_QUEUE_COUNT                     9
 
+extern int hwwep;
+
 enum RTL819x_PHY_PARAM {
        RTL819X_PHY_MACPHY_REG                  = 0,
        RTL819X_PHY_MACPHY_REG_PG               = 1,
index 32fbbc9d0d92cf40534ee3d1464119b17d80e602..adc6cc7ca3d6f2070dae8448a3d3b9f61c2a2d20 100644 (file)
@@ -115,14 +115,14 @@ static struct sk_buff *rtllib_ADDBA(struct rtllib_device *ieee, u8 *Dst,
 
        if (ACT_ADDBARSP == type) {
                RT_TRACE(COMP_DBG, "====>to send ADDBARSP\n");
-               tmp = cpu_to_le16(StatusCode);
+               tmp = StatusCode;
                memcpy(tag, (u8 *)&tmp, 2);
                tag += 2;
        }
-       tmp = cpu_to_le16(pBA->BaParamSet.shortData);
+       tmp = pBA->BaParamSet.shortData;
        memcpy(tag, (u8 *)&tmp, 2);
        tag += 2;
-       tmp = cpu_to_le16(pBA->BaTimeoutValue);
+       tmp = pBA->BaTimeoutValue;
        memcpy(tag, (u8 *)&tmp, 2);
        tag += 2;
 
@@ -178,10 +178,10 @@ static struct sk_buff *rtllib_DELBA(struct rtllib_device *ieee, u8 *dst,
        *tag ++= ACT_CAT_BA;
        *tag ++= ACT_DELBA;
 
-       tmp = cpu_to_le16(DelbaParamSet.shortData);
+       tmp = DelbaParamSet.shortData;
        memcpy(tag, (u8 *)&tmp, 2);
        tag += 2;
-       tmp = cpu_to_le16(ReasonCode);
+       tmp = ReasonCode;
        memcpy(tag, (u8 *)&tmp, 2);
        tag += 2;
 
index e51cb49ce10edef2f0f8b35e87bf1b9a0ee3e969..5e5c76bcdbd049e539da4c5b5079ddf7ed574e9b 100644 (file)
@@ -443,13 +443,13 @@ static struct lib80211_crypto_ops rtllib_crypt_ccmp = {
 };
 
 
-int __init rtllib_crypto_ccmp_init(void)
+static int __init rtllib_crypto_ccmp_init(void)
 {
        return lib80211_register_crypto_ops(&rtllib_crypt_ccmp);
 }
 
 
-void __exit rtllib_crypto_ccmp_exit(void)
+static void __exit rtllib_crypto_ccmp_exit(void)
 {
        lib80211_unregister_crypto_ops(&rtllib_crypt_ccmp);
 }
index 5cfd73baf1cc489325054afdaaa92b6f2c0192a7..d2768986c53e72dc46f2f2bb75c402b4ee3d34f5 100644 (file)
@@ -173,7 +173,7 @@ static inline u16 Mk16(u8 hi, u8 lo)
 
 static inline u16 Mk16_le(u16 *v)
 {
-       return le16_to_cpu(*v);
+       return *v;
 }
 
 
@@ -752,13 +752,13 @@ static struct lib80211_crypto_ops rtllib_crypt_tkip = {
 };
 
 
-int __init rtllib_crypto_tkip_init(void)
+static int __init rtllib_crypto_tkip_init(void)
 {
        return lib80211_register_crypto_ops(&rtllib_crypt_tkip);
 }
 
 
-void __exit rtllib_crypto_tkip_exit(void)
+static void __exit rtllib_crypto_tkip_exit(void)
 {
        lib80211_unregister_crypto_ops(&rtllib_crypt_tkip);
 }
index c4df6e01ef7401692db11509ea6abf162269efa7..b0e5f1ff07eeabb2f0aed1f148221ea29805f217 100644 (file)
@@ -270,13 +270,13 @@ static struct lib80211_crypto_ops rtllib_crypt_wep = {
 };
 
 
-int __init rtllib_crypto_wep_init(void)
+static int __init rtllib_crypto_wep_init(void)
 {
        return lib80211_register_crypto_ops(&rtllib_crypt_wep);
 }
 
 
-void __exit rtllib_crypto_wep_exit(void)
+static void __exit rtllib_crypto_wep_exit(void)
 {
        lib80211_unregister_crypto_ops(&rtllib_crypt_wep);
 }
index 51d46e04d3f51a3634d0fa58d66969fb06a1e47b..136909eff6d5ce77d747fd2592d4f9154abbcedd 100644 (file)
@@ -237,7 +237,7 @@ static const struct file_operations fops = {
        .release = single_release,
 };
 
-int __init rtllib_init(void)
+static int __init rtllib_init(void)
 {
        struct proc_dir_entry *e;
 
@@ -257,7 +257,7 @@ int __init rtllib_init(void)
        return 0;
 }
 
-void __exit rtllib_exit(void)
+static void __exit rtllib_exit(void)
 {
        if (rtllib_proc) {
                remove_proc_entry("debug_level", rtllib_proc);
index 1a011b9b9da61840789103ef5c9dd4631806a202..1fab69d313ba75dee3ec9c9728f1dd2837b8a0a9 100644 (file)
@@ -490,7 +490,7 @@ void rtllib_indicate_packets(struct rtllib_device *ieee, struct rtllib_rxb **prx
                        } else {
                                u16 len;
                        /* Leave Ethernet header part of hdr and full payload */
-                               len = htons(sub_skb->len);
+                               len = sub_skb->len;
                                memcpy(skb_push(sub_skb, 2), &len, 2);
                                memcpy(skb_push(sub_skb, ETH_ALEN), prxb->src, ETH_ALEN);
                                memcpy(skb_push(sub_skb, ETH_ALEN), prxb->dst, ETH_ALEN);
@@ -1224,7 +1224,7 @@ static void rtllib_rx_indicate_pkt_legacy(struct rtllib_device *ieee,
                        } else {
                                u16 len;
                                /* Leave Ethernet header part of hdr and full payload */
-                               len = htons(sub_skb->len);
+                               len = sub_skb->len;
                                memcpy(skb_push(sub_skb, 2), &len, 2);
                                memcpy(skb_push(sub_skb, ETH_ALEN), src, ETH_ALEN);
                                memcpy(skb_push(sub_skb, ETH_ALEN), dst, ETH_ALEN);
@@ -1632,13 +1632,13 @@ static int rtllib_qos_convert_ac_to_parameters(struct rtllib_qos_parameter_info
                /* WMM spec P.11: The minimum value for AIFSN shall be 2 */
                qos_param->aifs[aci] = (qos_param->aifs[aci] < 2) ? 2 : qos_param->aifs[aci];
 
-               qos_param->cw_min[aci] = ac_params->ecw_min_max & 0x0F;
+               qos_param->cw_min[aci] = cpu_to_le16(ac_params->ecw_min_max & 0x0F);
 
-               qos_param->cw_max[aci] = (ac_params->ecw_min_max & 0xF0) >> 4;
+               qos_param->cw_max[aci] = cpu_to_le16((ac_params->ecw_min_max & 0xF0) >> 4);
 
                qos_param->flag[aci] =
                    (ac_params->aci_aifsn & 0x10) ? 0x01 : 0x00;
-               qos_param->tx_op_limit[aci] = le16_to_cpu(ac_params->tx_op_limit);
+               qos_param->tx_op_limit[aci] = ac_params->tx_op_limit;
        }
        return rc;
 }
@@ -2260,9 +2260,9 @@ static inline int rtllib_network_init(
        memcpy(network->bssid, beacon->header.addr3, ETH_ALEN);
        network->capability = le16_to_cpu(beacon->capability);
        network->last_scanned = jiffies;
-       network->time_stamp[0] = le32_to_cpu(beacon->time_stamp[0]);
-       network->time_stamp[1] = le32_to_cpu(beacon->time_stamp[1]);
-       network->beacon_interval = le32_to_cpu(beacon->beacon_interval);
+       network->time_stamp[0] = beacon->time_stamp[0];
+       network->time_stamp[1] = beacon->time_stamp[1];
+       network->beacon_interval = le16_to_cpu(beacon->beacon_interval);
        /* Where to pull this? beacon->listen_interval;*/
        network->listen_interval = 0x0A;
        network->rates_len = network->rates_ex_len = 0;
@@ -2528,29 +2528,30 @@ static inline void rtllib_process_probe_response(
                "'%s' ( %pM ): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n",
                escape_essid(info_element->data, info_element->len),
                beacon->header.addr3,
-               (beacon->capability & (1<<0xf)) ? '1' : '0',
-               (beacon->capability & (1<<0xe)) ? '1' : '0',
-               (beacon->capability & (1<<0xd)) ? '1' : '0',
-               (beacon->capability & (1<<0xc)) ? '1' : '0',
-               (beacon->capability & (1<<0xb)) ? '1' : '0',
-               (beacon->capability & (1<<0xa)) ? '1' : '0',
-               (beacon->capability & (1<<0x9)) ? '1' : '0',
-               (beacon->capability & (1<<0x8)) ? '1' : '0',
-               (beacon->capability & (1<<0x7)) ? '1' : '0',
-               (beacon->capability & (1<<0x6)) ? '1' : '0',
-               (beacon->capability & (1<<0x5)) ? '1' : '0',
-               (beacon->capability & (1<<0x4)) ? '1' : '0',
-               (beacon->capability & (1<<0x3)) ? '1' : '0',
-               (beacon->capability & (1<<0x2)) ? '1' : '0',
-               (beacon->capability & (1<<0x1)) ? '1' : '0',
-               (beacon->capability & (1<<0x0)) ? '1' : '0');
+               (le16_to_cpu(beacon->capability) & (1<<0xf)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0xe)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0xd)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0xc)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0xb)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0xa)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x9)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x8)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x7)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x6)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x5)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x4)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x3)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x2)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x1)) ? '1' : '0',
+               (le16_to_cpu(beacon->capability) & (1<<0x0)) ? '1' : '0');
 
        if (rtllib_network_init(ieee, beacon, network, stats)) {
                RTLLIB_DEBUG_SCAN("Dropped '%s' ( %pM) via %s.\n",
                                  escape_essid(info_element->data,
                                  info_element->len),
                                  beacon->header.addr3,
-                                 WLAN_FC_GET_STYPE(beacon->header.frame_ctl) ==
+                                 WLAN_FC_GET_STYPE(
+                                         le16_to_cpu(beacon->header.frame_ctl)) ==
                                  RTLLIB_STYPE_PROBE_RESP ?
                                  "PROBE RESPONSE" : "BEACON");
                goto free_network;
@@ -2560,7 +2561,7 @@ static inline void rtllib_process_probe_response(
        if (!rtllib_legal_channel(ieee, network->channel))
                goto free_network;
 
-       if (WLAN_FC_GET_STYPE(beacon->header.frame_ctl) ==
+       if (WLAN_FC_GET_STYPE(le16_to_cpu(beacon->header.frame_ctl)) ==
            RTLLIB_STYPE_PROBE_RESP) {
                if (IsPassiveChannel(ieee, network->channel)) {
                        printk(KERN_INFO "GetScanInfo(): For Global Domain, "
@@ -2629,7 +2630,8 @@ static inline void rtllib_process_probe_response(
                RTLLIB_DEBUG_SCAN("Adding '%s' ( %pM) via %s.\n",
                                  escape_essid(network->ssid,
                                  network->ssid_len), network->bssid,
-                                 WLAN_FC_GET_STYPE(beacon->header.frame_ctl) ==
+                                 WLAN_FC_GET_STYPE(
+                                         le16_to_cpu(beacon->header.frame_ctl)) ==
                                  RTLLIB_STYPE_PROBE_RESP ?
                                  "PROBE RESPONSE" : "BEACON");
                memcpy(target, network, sizeof(*target));
@@ -2640,7 +2642,8 @@ static inline void rtllib_process_probe_response(
                RTLLIB_DEBUG_SCAN("Updating '%s' ( %pM) via %s.\n",
                                  escape_essid(target->ssid,
                                  target->ssid_len), target->bssid,
-                                 WLAN_FC_GET_STYPE(beacon->header.frame_ctl) ==
+                                 WLAN_FC_GET_STYPE(
+                                         le16_to_cpu(beacon->header.frame_ctl)) ==
                                  RTLLIB_STYPE_PROBE_RESP ?
                                  "PROBE RESPONSE" : "BEACON");
 
@@ -2682,15 +2685,17 @@ void rtllib_rx_mgt(struct rtllib_device *ieee,
 {
        struct rtllib_hdr_4addr *header = (struct rtllib_hdr_4addr *)skb->data ;
 
-       if (WLAN_FC_GET_STYPE(header->frame_ctl) != RTLLIB_STYPE_PROBE_RESP &&
-           WLAN_FC_GET_STYPE(header->frame_ctl) != RTLLIB_STYPE_BEACON)
+       if ((WLAN_FC_GET_STYPE(le16_to_cpu(header->frame_ctl)) !=
+           RTLLIB_STYPE_PROBE_RESP) &&
+           (WLAN_FC_GET_STYPE(le16_to_cpu(header->frame_ctl)) !=
+           RTLLIB_STYPE_BEACON))
                ieee->last_rx_ps_time = jiffies;
 
-       switch (WLAN_FC_GET_STYPE(header->frame_ctl)) {
+       switch (WLAN_FC_GET_STYPE(le16_to_cpu(header->frame_ctl))) {
 
        case RTLLIB_STYPE_BEACON:
                RTLLIB_DEBUG_MGMT("received BEACON (%d)\n",
-                                 WLAN_FC_GET_STYPE(header->frame_ctl));
+                                 WLAN_FC_GET_STYPE(le16_to_cpu(header->frame_ctl)));
                RTLLIB_DEBUG_SCAN("Beacon\n");
                rtllib_process_probe_response(
                                ieee, (struct rtllib_probe_response *)header,
@@ -2705,14 +2710,15 @@ void rtllib_rx_mgt(struct rtllib_device *ieee,
 
        case RTLLIB_STYPE_PROBE_RESP:
                RTLLIB_DEBUG_MGMT("received PROBE RESPONSE (%d)\n",
-                       WLAN_FC_GET_STYPE(header->frame_ctl));
+                       WLAN_FC_GET_STYPE(le16_to_cpu(header->frame_ctl)));
                RTLLIB_DEBUG_SCAN("Probe response\n");
                rtllib_process_probe_response(ieee,
                              (struct rtllib_probe_response *)header, stats);
                break;
        case RTLLIB_STYPE_PROBE_REQ:
                RTLLIB_DEBUG_MGMT("received PROBE RESQUEST (%d)\n",
-                                 WLAN_FC_GET_STYPE(header->frame_ctl));
+                                 WLAN_FC_GET_STYPE(
+                                         le16_to_cpu(header->frame_ctl)));
                RTLLIB_DEBUG_SCAN("Probe request\n");
                if ((ieee->softmac_features & IEEE_SOFTMAC_PROBERS) &&
                    ((ieee->iw_mode == IW_MODE_ADHOC ||
index 933bd6deaca123035dd271dfd0ddf67bbc290e57..eeec19cde229e2c09b06ac438752b0f52f666226 100644 (file)
@@ -227,7 +227,7 @@ inline void softmac_mgmt_xmit(struct sk_buff *skb, struct rtllib_device *ieee)
        /* called with 2nd param 0, no mgmt lock required */
        rtllib_sta_wakeup(ieee, 0);
 
-       if (header->frame_ctl == RTLLIB_STYPE_BEACON)
+       if (le16_to_cpu(header->frame_ctl) == RTLLIB_STYPE_BEACON)
                tcb_desc->queue_index = BEACON_QUEUE;
        else
                tcb_desc->queue_index = MGNT_QUEUE;
@@ -295,7 +295,7 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb,
        u16 fc, type, stype;
        struct cb_desc *tcb_desc = (struct cb_desc *)(skb->cb + 8);
 
-       fc = header->frame_ctl;
+       fc = le16_to_cpu(header->frame_ctl);
        type = WLAN_FC_GET_TYPE(fc);
        stype = WLAN_FC_GET_STYPE(fc);
 
@@ -807,18 +807,18 @@ inline struct sk_buff *rtllib_authentication_req(struct rtllib_network *beacon,
        auth = (struct rtllib_authentication *)
                skb_put(skb, sizeof(struct rtllib_authentication));
 
-       auth->header.frame_ctl = RTLLIB_STYPE_AUTH;
+       auth->header.frame_ctl = cpu_to_le16(RTLLIB_STYPE_AUTH);
        if (challengelen)
-               auth->header.frame_ctl |= RTLLIB_FCTL_WEP;
+               auth->header.frame_ctl |= cpu_to_le16(RTLLIB_FCTL_WEP);
 
-       auth->header.duration_id = 0x013a;
+       auth->header.duration_id = cpu_to_le16(0x013a);
        memcpy(auth->header.addr1, beacon->bssid, ETH_ALEN);
        memcpy(auth->header.addr2, ieee->dev->dev_addr, ETH_ALEN);
        memcpy(auth->header.addr3, beacon->bssid, ETH_ALEN);
        if (ieee->auth_mode == 0)
                auth->algorithm = WLAN_AUTH_OPEN;
        else if (ieee->auth_mode == 1)
-               auth->algorithm = WLAN_AUTH_SHARED_KEY;
+               auth->algorithm = cpu_to_le16(WLAN_AUTH_SHARED_KEY);
        else if (ieee->auth_mode == 2)
                auth->algorithm = WLAN_AUTH_OPEN;
        auth->transaction = cpu_to_le16(ieee->associate_seq);
@@ -921,8 +921,8 @@ static struct sk_buff *rtllib_probe_resp(struct rtllib_device *ieee, u8 *dest)
 
        if (ieee->short_slot && (ieee->current_network.capability &
            WLAN_CAPABILITY_SHORT_SLOT_TIME))
-               cpu_to_le16((beacon_buf->capability |=
-                                WLAN_CAPABILITY_SHORT_SLOT_TIME));
+               beacon_buf->capability |=
+                       cpu_to_le16(WLAN_CAPABILITY_SHORT_SLOT_TIME);
 
        crypt = ieee->crypt_info.crypt[ieee->crypt_info.tx_keyidx];
        if (encrypt)
@@ -952,7 +952,7 @@ static struct sk_buff *rtllib_probe_resp(struct rtllib_device *ieee, u8 *dest)
                u16 val16;
                *(tag++) = MFIE_TYPE_IBSS_SET;
                *(tag++) = 2;
-                val16 = cpu_to_le16(ieee->current_network.atim_window);
+               val16 = ieee->current_network.atim_window;
                memcpy((u8 *)tag, (u8 *)&val16, 2);
                tag += 2;
        }
@@ -1260,7 +1260,7 @@ inline struct sk_buff *rtllib_association_req(struct rtllib_network *beacon,
 
 
        hdr->header.frame_ctl = RTLLIB_STYPE_ASSOC_REQ;
-       hdr->header.duration_id = 37;
+       hdr->header.duration_id = cpu_to_le16(37);
        memcpy(hdr->header.addr1, beacon->bssid, ETH_ALEN);
        memcpy(hdr->header.addr2, ieee->dev->dev_addr, ETH_ALEN);
        memcpy(hdr->header.addr3, beacon->bssid, ETH_ALEN);
@@ -1279,7 +1279,7 @@ inline struct sk_buff *rtllib_association_req(struct rtllib_network *beacon,
                hdr->capability |= cpu_to_le16(WLAN_CAPABILITY_SHORT_SLOT_TIME);
 
 
-       hdr->listen_interval = beacon->listen_interval;
+       hdr->listen_interval = cpu_to_le16(beacon->listen_interval);
 
        hdr->info_element[0].id = MFIE_TYPE_SSID;
 
@@ -3633,7 +3633,7 @@ out:
 }
 EXPORT_SYMBOL(rtllib_wpa_supplicant_ioctl);
 
-void rtllib_MgntDisconnectIBSS(struct rtllib_device *rtllib)
+static void rtllib_MgntDisconnectIBSS(struct rtllib_device *rtllib)
 {
        u8      OpMode;
        u8      i;
@@ -3658,7 +3658,7 @@ void rtllib_MgntDisconnectIBSS(struct rtllib_device *rtllib)
 
 }
 
-void rtllib_MlmeDisassociateRequest(struct rtllib_device *rtllib, u8 *asSta,
+static void rtllib_MlmeDisassociateRequest(struct rtllib_device *rtllib, u8 *asSta,
                                    u8 asRsn)
 {
        u8 i;
@@ -3684,7 +3684,7 @@ void rtllib_MlmeDisassociateRequest(struct rtllib_device *rtllib, u8 *asSta,
 
 }
 
-void
+static void
 rtllib_MgntDisconnectAP(
        struct rtllib_device *rtllib,
        u8 asRsn
index 3183627823fb58fb3def9fb89090f98281732ec4..77964885b3f22d2d51dae39b93da7e78088ee312 100644 (file)
@@ -171,7 +171,7 @@ inline int rtllib_put_snap(u8 *data, u16 h_proto)
        snap->oui[1] = oui[1];
        snap->oui[2] = oui[2];
 
-       *(u16 *)(data + SNAP_SIZE) = htons(h_proto);
+       *(u16 *)(data + SNAP_SIZE) = h_proto;
 
        return SNAP_SIZE + sizeof(u16);
 }
@@ -231,7 +231,7 @@ static struct rtllib_txb *rtllib_alloc_txb(int nr_frags, int txb_size,
 
        memset(txb, 0, sizeof(struct rtllib_txb));
        txb->nr_frags = nr_frags;
-       txb->frag_size = txb_size;
+       txb->frag_size = cpu_to_le16(txb_size);
 
        for (i = 0; i < nr_frags; i++) {
                txb->fragments[i] = dev_alloc_skb(txb_size);
@@ -610,7 +610,7 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
                        }
 
                        txb->encrypted = 0;
-                       txb->payload_size = skb->len;
+                       txb->payload_size = cpu_to_le16(skb->len);
                        memcpy(skb_put(txb->fragments[0], skb->len), skb->data,
                               skb->len);
 
@@ -764,7 +764,7 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
                        goto failed;
                }
                txb->encrypted = encrypt;
-               txb->payload_size = bytes;
+               txb->payload_size = cpu_to_le16(bytes);
 
                if (qos_actived)
                        txb->queue_index = UP2AC(skb->priority);
@@ -812,10 +812,10 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
                        }
                        if ((qos_actived) && (!bIsMulticast)) {
                                frag_hdr->seq_ctl =
-                                        rtllib_query_seqnum(ieee, skb_frag,
-                                                            header.addr1);
+                                        cpu_to_le16(rtllib_query_seqnum(ieee, skb_frag,
+                                                            header.addr1));
                                frag_hdr->seq_ctl =
-                                        cpu_to_le16(frag_hdr->seq_ctl<<4 | i);
+                                        cpu_to_le16(le16_to_cpu(frag_hdr->seq_ctl)<<4 | i);
                        } else {
                                frag_hdr->seq_ctl =
                                         cpu_to_le16(ieee->seq_ctrl[0]<<4 | i);
@@ -870,7 +870,7 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
                }
 
                txb->encrypted = 0;
-               txb->payload_size = skb->len;
+               txb->payload_size = cpu_to_le16(skb->len);
                memcpy(skb_put(txb->fragments[0], skb->len), skb->data,
                       skb->len);
        }
index ba0d23a1cfbe262f028e31dac3726f04a2395d36..dda1b2a6b84b85065f83a1df83d7d0c10c2d11bc 100644 (file)
@@ -47,13 +47,13 @@ static int do_cmd(struct net_device *dev, struct ifreq *ifr, int cmd, int *data)
 {
        int ret = -1;
        struct if_bypass *bypass_cb;
-       static int (*ioctl) (struct net_device *, struct ifreq *, int);
 
        bypass_cb = (struct if_bypass *)ifr;
        bypass_cb->cmd = cmd;
        bypass_cb->data = *data;
-       if ((dev->netdev_ops) && (ioctl = dev->netdev_ops->ndo_do_ioctl)) {
-               ret = ioctl(dev, ifr, SIOCGIFBYPASS);
+
+       if (dev->netdev_ops && dev->netdev_ops->ndo_do_ioctl) {
+               ret = dev->netdev_ops->ndo_do_ioctl(dev, ifr, SIOCGIFBYPASS);
                *data = bypass_cb->data;
        }
 
@@ -480,7 +480,6 @@ static int get_bypass_info(int if_index, struct bp_info *bp_info)
                SET_BPLIB_INT_FN2(get_bypass_info, int, if_index,
                                  struct bp_info *, bp_info, ret);
        } else {
-               static int (*ioctl) (struct net_device *, struct ifreq *, int);
                struct net_device *dev;
 
                struct net_device *n;
@@ -493,9 +492,10 @@ static int get_bypass_info(int if_index, struct bp_info *bp_info)
                                bypass_cb = (struct if_bypass_info *)&ifr;
                                bypass_cb->cmd = GET_BYPASS_INFO;
 
-                               if ((dev->netdev_ops) &&
-                                   (ioctl = dev->netdev_ops->ndo_do_ioctl)) {
-                                       ret = ioctl(dev, &ifr, SIOCGIFBYPASS);
+                               if (dev->netdev_ops &&
+                                       dev->netdev_ops->ndo_do_ioctl) {
+                                       ret = dev->netdev_ops->ndo_do_ioctl(dev,
+                                               &ifr, SIOCGIFBYPASS);
                                }
 
                                else
index 47502fa5f3f60a50db71b21a90be9dc9ce9c54ba..ef5933b935906365355b7031d5a70c6c705ca9b0 100644 (file)
@@ -37,8 +37,6 @@
 #include <linux/input.h>
 #include <linux/kmod.h>
 
-#include <linux/bootmem.h>     /* for alloc_bootmem */
-
 /* speakup_*_selection */
 #include <linux/module.h>
 #include <linux/sched.h>
index 135428856d47a88487ddb679a5db7ee7341f122c..4e18fb4053446382cc30e77bc7f7c08f03af92c0 100644 (file)
@@ -6,6 +6,10 @@
 #include "spk_priv.h"
 #include "serialio.h"
 
+#ifndef SERIAL_PORT_DFNS
+#define SERIAL_PORT_DFNS
+#endif
+
 static void start_serial_interrupt(int irq);
 
 static const struct old_serial_port rs_table[] = {
index 55d68b5ad1650d18fa3cf2fb2a5fe60f2f3536e4..0a937732a190f829e930bb558ef6ebfe0fabbaca 100644 (file)
@@ -36,30 +36,4 @@ struct old_serial_port {
 
 #define spk_serial_tx_busy() ((inb(speakup_info.port_tts + UART_LSR) & BOTH_EMPTY) != BOTH_EMPTY)
 
-/* 2.6.22 doesn't have them any more, hardcode it for now (these values should
- * be fine for 99% cases) */
-#ifndef BASE_BAUD
-#define BASE_BAUD (1843200 / 16)
-#endif
-#ifndef STD_COM_FLAGS
-#ifdef CONFIG_SERIAL_DETECT_IRQ
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ)
-#define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_AUTO_IRQ)
-#else
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
-#define STD_COM4_FLAGS ASYNC_BOOT_AUTOCONF
-#endif
-#endif
-#ifndef SERIAL_PORT_DFNS
-#define SERIAL_PORT_DFNS                       \
-       /* UART CLK   PORT IRQ     FLAGS        */                      \
-       { 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS },      /* ttyS0 */     \
-       { 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS },      /* ttyS1 */     \
-       { 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS },      /* ttyS2 */     \
-       { 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS },     /* ttyS3 */
-#endif
-#ifndef IRQF_SHARED
-#define IRQF_SHARED SA_SHIRQ
-#endif
-
 #endif
index 4a800dadd7036bda258a808d0e957b5d42be39c6..f961e0ec9da81c7ca5ee3e2f628887eb94d12017 100644 (file)
@@ -359,7 +359,7 @@ int cmm_free_buf(struct cmm_object *hcmm_mgr, void *buf_pa, u32 ul_seg_id)
  *      Return the communication memory manager object for this device.
  *      This is typically called from the client process.
  */
-int cmm_get_handle(void *hprocessor, struct cmm_object ** ph_cmm_mgr)
+int cmm_get_handle(void *hprocessor, struct cmm_object **ph_cmm_mgr)
 {
        int status = 0;
        struct dev_object *hdev_obj;
@@ -449,8 +449,7 @@ int cmm_register_gppsm_seg(struct cmm_object *hcmm_mgr,
        struct cmm_mnode *new_node;
        s32 slot_seg;
 
-       dev_dbg(bridge, "%s: dw_gpp_base_pa %x ul_size %x dsp_addr_offset %x "
-                       "dw_dsp_base %x ul_dsp_size %x gpp_base_va %x\n",
+       dev_dbg(bridge, "%s: dw_gpp_base_pa %x ul_size %x dsp_addr_offset %x dw_dsp_base %x ul_dsp_size %x gpp_base_va %x\n",
                        __func__, dw_gpp_base_pa, ul_size, dsp_addr_offset,
                        dw_dsp_base, ul_dsp_size, gpp_base_va);
 
@@ -828,7 +827,7 @@ int cmm_xlator_free_buf(struct cmm_xlatorobject *xlator, void *buf_va)
  *  Purpose:
  *      Set/Get translator info.
  */
-int cmm_xlator_info(struct cmm_xlatorobject *xlator, u8 ** paddr,
+int cmm_xlator_info(struct cmm_xlatorobject *xlator, u8 **paddr,
                           u32 ul_size, u32 segm_id, bool set_info)
 {
        struct cmm_xlator *xlator_obj = (struct cmm_xlator *)xlator;
index 41e88abe47af1f518ddf7f0ac955d8ca0812203e..996a02d27d34b06f89fcb038af16c3a04a4a8f63 100644 (file)
@@ -378,8 +378,8 @@ int dbll_get_sect(struct dbll_library_obj *lib, char *name, u32 *paddr,
                opened_doff = false;
        }
 
-       dev_dbg(bridge, "%s: lib: %p name: %s paddr: %p psize: %p, "
-               "status 0x%x\n", __func__, lib, name, paddr, psize, status);
+       dev_dbg(bridge, "%s: lib: %p name: %s paddr: %p psize: %p, status 0x%x\n",
+                       __func__, lib, name, paddr, psize, status);
 
        return status;
 }
@@ -705,8 +705,8 @@ func_cont:
                opened_doff = false;
        }
 
-       dev_dbg(bridge, "%s: lib: %p name: %s buf: %p size: 0x%x, "
-               "status 0x%x\n", __func__, lib, name, buf, size, status);
+       dev_dbg(bridge, "%s: lib: %p name: %s buf: %p size: 0x%x, status 0x%x\n",
+                       __func__, lib, name, buf, size, status);
        return status;
 }
 
@@ -915,10 +915,10 @@ static struct dynload_symbol *dbll_find_symbol(struct dynamic_loader_sym *this,
                        status = dbll_get_addr((struct dbll_library_obj *)lib,
                                               (char *)name, &dbll_sym);
                        if (!status) {
-                               status =
-                                   dbll_get_c_addr((struct dbll_library_obj *)
-                                                   lib, (char *)name,
-                                                   &dbll_sym);
+                               status = dbll_get_c_addr(
+                                               (struct dbll_library_obj *)
+                                               lib, (char *)name,
+                                               &dbll_sym);
                        }
                }
        }
@@ -1172,8 +1172,7 @@ func_cont:
                if (!run_addr_flag)
                        info->run_addr = info->load_addr;
                info->context = (u32) rmm_addr_obj.segid;
-               dev_dbg(bridge, "%s: %s base = 0x%x len = 0x%x, "
-                       "info->run_addr 0x%x, info->load_addr 0x%x\n",
+               dev_dbg(bridge, "%s: %s base = 0x%x len = 0x%x, info->run_addr 0x%x, info->load_addr 0x%x\n",
                        __func__, info->name, info->load_addr / DSPWORDSIZE,
                        info->size / DSPWORDSIZE, info->run_addr,
                        info->load_addr);
@@ -1399,7 +1398,7 @@ void find_symbol_callback(void *elem, void *user_data)
  * @sym_addr_output:   Symbol Output address
  * @name_output:               String with the dsp symbol
  *
- *     This function retrieves the dsp symbol from the dsp binary.
+ *     This function retrieves the dsp symbol from the dsp binary.
  */
 bool dbll_find_dsp_symbol(struct dbll_library_obj *zl_lib, u32 address,
                                u32 offset_range, u32 *sym_addr_output,
index 6234ffb5e8a3998275ca6c7d3b93947df706a0e9..616dc1f63070c00a5aafd9851ebe7fd51a6757da 100644 (file)
@@ -606,7 +606,7 @@ int dev_get_node_manager(struct dev_object *hdev_obj,
  *  ======== dev_get_symbol ========
  */
 int dev_get_symbol(struct dev_object *hdev_obj,
-                         const char *str_sym, u32 * pul_value)
+                         const char *str_sym, u32 *pul_value)
 {
        int status = 0;
        struct cod_manager *cod_mgr;
@@ -916,8 +916,8 @@ static void store_interface_fxns(struct bridge_drv_interface *drv_fxns,
 
        /* Local helper macro: */
 #define  STORE_FXN(cast, pfn) \
-    (intf_fxns->pfn = ((drv_fxns->pfn != NULL) ? drv_fxns->pfn : \
-    (cast)fxn_not_implemented))
+       (intf_fxns->pfn = ((drv_fxns->pfn != NULL) ? drv_fxns->pfn : \
+                          (cast)fxn_not_implemented))
 
        bridge_version = MAKEVERSION(drv_fxns->brd_api_major_version,
                                     drv_fxns->brd_api_minor_version);
index 7c9f83916068088497694b10e98cedc7bb5cec2f..fcf564aa566d4b94ecf34d45f11cad3ea1717a5f 100644 (file)
@@ -217,8 +217,8 @@ int dmm_map_memory(struct dmm_object *dmm_mgr, u32 addr, u32 size)
                status = -ENOENT;
        spin_unlock(&dmm_obj->dmm_lock);
 
-       dev_dbg(bridge, "%s dmm_mgr %p, addr %x, size %x\n\tstatus %x, "
-               "chunk %p", __func__, dmm_mgr, addr, size, status, chunk);
+       dev_dbg(bridge, "%s dmm_mgr %p, addr %x, size %x\n\tstatus %x, chunk %p",
+                       __func__, dmm_mgr, addr, size, status, chunk);
 
        return status;
 }
@@ -268,9 +268,9 @@ int dmm_reserve_memory(struct dmm_object *dmm_mgr, u32 size,
 
        spin_unlock(&dmm_obj->dmm_lock);
 
-       dev_dbg(bridge, "%s dmm_mgr %p, size %x, prsv_addr %p\n\tstatus %x, "
-               "rsv_addr %x, rsv_size %x\n", __func__, dmm_mgr, size,
-               prsv_addr, status, rsv_addr, rsv_size);
+       dev_dbg(bridge, "%s dmm_mgr %p, size %x, prsv_addr %p\n\tstatus %x, rsv_addr %x, rsv_size %x\n",
+                       __func__, dmm_mgr, size,
+                       prsv_addr, status, rsv_addr, rsv_size);
 
        return status;
 }
@@ -299,8 +299,8 @@ int dmm_un_map_memory(struct dmm_object *dmm_mgr, u32 addr, u32 *psize)
        }
        spin_unlock(&dmm_obj->dmm_lock);
 
-       dev_dbg(bridge, "%s: dmm_mgr %p, addr %x, psize %p\n\tstatus %x, "
-               "chunk %p\n", __func__, dmm_mgr, addr, psize, status, chunk);
+       dev_dbg(bridge, "%s: dmm_mgr %p, addr %x, psize %p\n\tstatus %x, chunk %p\n",
+                       __func__, dmm_mgr, addr, psize, status, chunk);
 
        return status;
 }
@@ -475,11 +475,11 @@ u32 dmm_mem_map_dump(struct dmm_object *dmm_mgr)
                }
        }
        spin_unlock(&dmm_mgr->dmm_lock);
-       printk(KERN_INFO "Total DSP VA FREE memory = %d Mbytes\n",
+       dev_info(bridge, "Total DSP VA FREE memory = %d Mbytes\n",
               freemem / (1024 * 1024));
-       printk(KERN_INFO "Total DSP VA USED memory= %d Mbytes \n",
+       dev_info(bridge, "Total DSP VA USED memory= %d Mbytes\n",
               (((table_size * PG_SIZE4K) - freemem)) / (1024 * 1024));
-       printk(KERN_INFO "DSP VA - Biggest FREE block = %d Mbytes \n\n",
+       dev_info(bridge, "DSP VA - Biggest FREE block = %d Mbytes\n",
               (bigsize * PG_SIZE4K / (1024 * 1024)));
 
        return 0;
index 70db4ff99ec6f160ebfaf3cb75e598b46c81c5a8..b7d5c8cbb2a1e026cfc65604bccc745fc828f129 100644 (file)
@@ -162,7 +162,7 @@ static u8 size_cmd[] = {
        ARRAY_SIZE(cmm_cmd),
 };
 
-static inline void _cp_fm_usr(void *to, const void __user * from,
+static inline void _cp_fm_usr(void *to, const void __user *from,
                              int *err, unsigned long bytes)
 {
        if (*err)
@@ -507,7 +507,7 @@ u32 mgrwrap_wait_for_bridge_events(union trapped_args *args, void *pr_ctxt)
 /*
  * ======== MGRWRAP_GetProcessResourceInfo ========
  */
-u32 __deprecated mgrwrap_get_process_resources_info(union trapped_args * args,
+u32 __deprecated mgrwrap_get_process_resources_info(union trapped_args *args,
                                                    void *pr_ctxt)
 {
        pr_err("%s: deprecated dspbridge ioctl\n", __func__);
@@ -581,7 +581,7 @@ func_end:
 /*
  * ======== procwrap_detach ========
  */
-u32 __deprecated procwrap_detach(union trapped_args * args, void *pr_ctxt)
+u32 __deprecated procwrap_detach(union trapped_args *args, void *pr_ctxt)
 {
        /* proc_detach called at bridge_release only */
        pr_err("%s: deprecated dspbridge ioctl\n", __func__);
@@ -1564,7 +1564,7 @@ u32 strmwrap_free_buffer(union trapped_args *args, void *pr_ctxt)
 /*
  * ======== strmwrap_get_event_handle ========
  */
-u32 __deprecated strmwrap_get_event_handle(union trapped_args * args,
+u32 __deprecated strmwrap_get_event_handle(union trapped_args *args,
                                           void *pr_ctxt)
 {
        pr_err("%s: deprecated dspbridge ioctl\n", __func__);
@@ -1793,7 +1793,7 @@ u32 strmwrap_select(union trapped_args *args, void *pr_ctxt)
 /*
  * ======== cmmwrap_calloc_buf ========
  */
-u32 __deprecated cmmwrap_calloc_buf(union trapped_args * args, void *pr_ctxt)
+u32 __deprecated cmmwrap_calloc_buf(union trapped_args *args, void *pr_ctxt)
 {
        /* This operation is done in kernel */
        pr_err("%s: deprecated dspbridge ioctl\n", __func__);
@@ -1803,7 +1803,7 @@ u32 __deprecated cmmwrap_calloc_buf(union trapped_args * args, void *pr_ctxt)
 /*
  * ======== cmmwrap_free_buf ========
  */
-u32 __deprecated cmmwrap_free_buf(union trapped_args * args, void *pr_ctxt)
+u32 __deprecated cmmwrap_free_buf(union trapped_args *args, void *pr_ctxt)
 {
        /* This operation is done in kernel */
        pr_err("%s: deprecated dspbridge ioctl\n", __func__);
index db48a789d3085a4a53aee4624eecf5692632f5b8..5d1d4a18330016b83e5abf3276b938a4e682f05a 100644 (file)
@@ -102,11 +102,13 @@ static int tweak_clear_halt_cmd(struct urb *urb)
 
        ret = usb_clear_halt(urb->dev, target_pipe);
        if (ret < 0)
-               dev_err(&urb->dev->dev, "usb_clear_halt error: devnum %d endp "
-                       "%d ret %d\n", urb->dev->devnum, target_endp, ret);
+               dev_err(&urb->dev->dev,
+                       "usb_clear_halt error: devnum %d endp %d ret %d\n",
+                       urb->dev->devnum, target_endp, ret);
        else
-               dev_info(&urb->dev->dev, "usb_clear_halt done: devnum %d endp "
-                        "%d\n", urb->dev->devnum, target_endp);
+               dev_info(&urb->dev->dev,
+                        "usb_clear_halt done: devnum %d endp %d\n",
+                        urb->dev->devnum, target_endp);
 
        return ret;
 }
@@ -127,11 +129,13 @@ static int tweak_set_interface_cmd(struct urb *urb)
 
        ret = usb_set_interface(urb->dev, interface, alternate);
        if (ret < 0)
-               dev_err(&urb->dev->dev, "usb_set_interface error: inf %u alt "
-                       "%u ret %d\n", interface, alternate, ret);
+               dev_err(&urb->dev->dev,
+                       "usb_set_interface error: inf %u alt %u ret %d\n",
+                       interface, alternate, ret);
        else
-               dev_info(&urb->dev->dev, "usb_set_interface done: inf %u alt "
-                        "%u\n", interface, alternate);
+               dev_info(&urb->dev->dev,
+                       "usb_set_interface done: inf %u alt %u\n",
+                       interface, alternate);
 
        return ret;
 }
index e3fc749c1e7e016b217d627d8a5aedeb767fcb97..4470cd321d650b469fe60e724ada16d2e543f297 100644 (file)
@@ -155,8 +155,9 @@ static void usbip_dump_usb_device(struct usb_device *udev)
 
        dev_dbg(dev, "parent %p, bus %p\n", udev->parent, udev->bus);
 
-       dev_dbg(dev, "descriptor %p, config %p, actconfig %p, "
-               "rawdescriptors %p\n", &udev->descriptor, udev->config,
+       dev_dbg(dev,
+               "descriptor %p, config %p, actconfig %p, rawdescriptors %p\n",
+               &udev->descriptor, udev->config,
                udev->actconfig, udev->rawdescriptors);
 
        dev_dbg(dev, "have_langid %d, string_langid %d\n",
index e810ad53e2acfe519a448eedc84830fcc547afae..aa22c631191c3e22d34b0ccd99f1934e5f004f0d 100644 (file)
@@ -220,8 +220,7 @@ static inline void hub_descriptor(struct usb_hub_descriptor *desc)
        memset(desc, 0, sizeof(*desc));
        desc->bDescriptorType = 0x29;
        desc->bDescLength = 9;
-       desc->wHubCharacteristics = (__force __u16)
-               (__constant_cpu_to_le16(0x0001));
+       desc->wHubCharacteristics = (__constant_cpu_to_le16(0x0001));
        desc->bNbrPorts = VHCI_NPORTS;
        desc->u.hs.DeviceRemovable[0] = 0xff;
        desc->u.hs.DeviceRemovable[1] = 0xff;
@@ -348,8 +347,8 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
                                        USB_PORT_STAT_ENABLE;
                        }
                }
-               ((u16 *) buf)[0] = cpu_to_le16(dum->port_status[rhport]);
-               ((u16 *) buf)[1] = cpu_to_le16(dum->port_status[rhport] >> 16);
+               ((__le16 *) buf)[0] = cpu_to_le16(dum->port_status[rhport]);
+               ((__le16 *) buf)[1] = cpu_to_le16(dum->port_status[rhport] >> 16);
 
                usbip_dbg_vhci_rh(" GetPortStatus bye %x %x\n", ((u16 *)buf)[0],
                                  ((u16 *)buf)[1]);
@@ -537,7 +536,7 @@ static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
                        goto no_need_xmit;
 
                case USB_REQ_GET_DESCRIPTOR:
-                       if (ctrlreq->wValue == (USB_DT_DEVICE << 8))
+                       if (ctrlreq->wValue == cpu_to_le16(USB_DT_DEVICE << 8))
                                usbip_dbg_vhci_hc("Not yet?: "
                                                  "Get_Descriptor to device 0 "
                                                  "(get max pipe size)\n");
@@ -1108,7 +1107,7 @@ static struct platform_driver vhci_driver = {
        .suspend = vhci_hcd_suspend,
        .resume = vhci_hcd_resume,
        .driver = {
-               .name = (char *) driver_name,
+               .name = driver_name,
                .owner = THIS_MODULE,
        },
 };
@@ -1125,7 +1124,7 @@ static void the_pdev_release(struct device *dev)
 
 static struct platform_device the_pdev = {
        /* should be the same name as driver_name */
-       .name = (char *) driver_name,
+       .name = driver_name,
        .id = -1,
        .dev = {
                .release = the_pdev_release,
index 959568a1eb6a03da7260685acec030f8ccebeebf..fa14659ba43cf49a2950593813eb033e61fd646e 100644 (file)
@@ -1865,7 +1865,7 @@ BBvCalculateParameter(
                break;
 
        case RATE_5M:
-               if (bCCK == false)
+               if (!bCCK)
                        cbBitCount++;
                cbUsCount = (cbBitCount * 10) / 55;
                cbTmp = (cbUsCount * 55) / 10;
@@ -1879,7 +1879,7 @@ BBvCalculateParameter(
 
        case RATE_11M:
 
-               if (bCCK == false)
+               if (!bCCK)
                        cbBitCount++;
                cbUsCount = cbBitCount / 11;
                cbTmp = cbUsCount * 11;
index a23b591eeac3d7432a73e78990342ef0ce65c15d..d7efd0173a9a42a6ddd810c631cecebae4f23215 100644 (file)
@@ -64,7 +64,6 @@
 
 /*---------------------  Static Variables  --------------------------*/
 static int msglevel = MSG_LEVEL_INFO;
-//static int          msglevel                =MSG_LEVEL_DEBUG;
 
 const unsigned short awHWRetry0[5][5] = {
        {RATE_18M, RATE_18M, RATE_12M, RATE_12M, RATE_12M},
@@ -131,27 +130,26 @@ BSSpSearchBSSList(
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
                        "BSSpSearchBSSList BSSID[%pM]\n", pbyDesireBSSID);
                if ((!is_broadcast_ether_addr(pbyDesireBSSID)) &&
-                   (memcmp(pbyDesireBSSID, ZeroBSSID, 6) != 0)) {
+                   (memcmp(pbyDesireBSSID, ZeroBSSID, 6) != 0))
                        pbyBSSID = pbyDesireBSSID;
-               }
        }
        if (pbyDesireSSID != NULL) {
-               if (((PWLAN_IE_SSID)pbyDesireSSID)->len != 0) {
+               if (((PWLAN_IE_SSID)pbyDesireSSID)->len != 0)
                        pSSID = (PWLAN_IE_SSID) pbyDesireSSID;
-               }
        }
 
        if (pbyBSSID != NULL) {
-               // match BSSID first
+               /* match BSSID first */
                for (ii = 0; ii < MAX_BSS_NUM; ii++) {
                        pCurrBSS = &(pMgmt->sBSSList[ii]);
-                       if (pDevice->bLinkPass == false) pCurrBSS->bSelected = false;
+                       if (!pDevice->bLinkPass)
+                               pCurrBSS->bSelected = false;
                        if ((pCurrBSS->bActive) &&
-                           (pCurrBSS->bSelected == false)) {
+                           (!pCurrBSS->bSelected)) {
                                if (ether_addr_equal(pCurrBSS->abyBSSID,
                                                     pbyBSSID)) {
                                        if (pSSID != NULL) {
-                                               // compare ssid
+                                               /* compare ssid */
                                                if (!memcmp(pSSID->abySSID,
                                                            ((PWLAN_IE_SSID)pCurrBSS->abySSID)->abySSID,
                                                            pSSID->len)) {
@@ -176,26 +174,26 @@ BSSpSearchBSSList(
                        }
                }
        } else {
-               // ignore BSSID
+               /* ignore BSSID */
                for (ii = 0; ii < MAX_BSS_NUM; ii++) {
                        pCurrBSS = &(pMgmt->sBSSList[ii]);
-                       //2007-0721-01<Add>by MikeLiu
+                       /* 2007-0721-01<Add>by MikeLiu */
                        pCurrBSS->bSelected = false;
                        if (pCurrBSS->bActive) {
                                if (pSSID != NULL) {
-                                       // matched SSID
+                                       /* matched SSID */
                                        if (!!memcmp(pSSID->abySSID,
                                                     ((PWLAN_IE_SSID)pCurrBSS->abySSID)->abySSID,
                                                     pSSID->len) ||
                                            (pSSID->len != ((PWLAN_IE_SSID)pCurrBSS->abySSID)->len)) {
-                                               // SSID not match skip this BSS
+                                               /* SSID not match skip this BSS */
                                                continue;
                                        }
                                }
                                if (((pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA) && WLAN_GET_CAP_INFO_ESS(pCurrBSS->wCapInfo)) ||
                                    ((pMgmt->eConfigMode == WMAC_CONFIG_ESS_STA) && WLAN_GET_CAP_INFO_IBSS(pCurrBSS->wCapInfo))
 ) {
-                                       // Type not match skip this BSS
+                                       /* Type not match skip this BSS */
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "BSS type mismatch.... Config[%d] BSS[0x%04x]\n", pMgmt->eConfigMode, pCurrBSS->wCapInfo);
                                        continue;
                                }
@@ -203,50 +201,23 @@ BSSpSearchBSSList(
                                if (ePhyType != PHY_TYPE_AUTO) {
                                        if (((ePhyType == PHY_TYPE_11A) && (PHY_TYPE_11A != pCurrBSS->eNetworkTypeInUse)) ||
                                            ((ePhyType != PHY_TYPE_11A) && (PHY_TYPE_11A == pCurrBSS->eNetworkTypeInUse))) {
-                                               // PhyType not match skip this BSS
+                                               /* PhyType not match skip this BSS */
                                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Physical type mismatch.... ePhyType[%d] BSS[%d]\n", ePhyType, pCurrBSS->eNetworkTypeInUse);
                                                continue;
                                        }
                                }
-/*
-  if (pMgmt->eAuthenMode < WMAC_AUTH_WPA) {
-  if (pCurrBSS->bWPAValid == true) {
-  // WPA AP will reject connection of station without WPA enable.
-  continue;
-  }
-  } else if ((pMgmt->eAuthenMode == WMAC_AUTH_WPA) ||
-  (pMgmt->eAuthenMode == WMAC_AUTH_WPAPSK)) {
-  if (pCurrBSS->bWPAValid == false) {
-  // station with WPA enable can't join NonWPA AP.
-  continue;
-  }
-  } else if ((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) ||
-  (pMgmt->eAuthenMode == WMAC_AUTH_WPA2PSK)) {
-  if (pCurrBSS->bWPA2Valid == false) {
-  // station with WPA2 enable can't join NonWPA2 AP.
-  continue;
-  }
-  }
-*/
+
                                if (pSelect == NULL) {
                                        pSelect = pCurrBSS;
                                } else {
-                                       // compare RSSI, select signal strong one
-                                       if (pCurrBSS->uRSSI < pSelect->uRSSI) {
+                                       /* compare RSSI, select signal strong one */
+                                       if (pCurrBSS->uRSSI < pSelect->uRSSI)
                                                pSelect = pCurrBSS;
-                                       }
                                }
                        }
                }
                if (pSelect != NULL) {
                        pSelect->bSelected = true;
-/*
-  if (pDevice->bRoaming == false)  {
-  //       Einsn Add @20070907
-  memset(pbyDesireSSID, 0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-  memcpy(pbyDesireSSID,pCurrBSS->abySSID,WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-  }*/
-
                        return pSelect;
                }
        }
@@ -278,7 +249,6 @@ BSSvClearBSSList(
                        if (pMgmt->sBSSList[ii].bActive &&
                            ether_addr_equal(pMgmt->sBSSList[ii].abyBSSID,
                                             pMgmt->abyCurrBSSID)) {
-                               // bKeepCurrBSSID = false;
                                continue;
                        }
                }
@@ -385,7 +355,7 @@ BSSbInsertToBSSList(
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Get free KnowBSS node failed.\n");
                return false;
        }
-       // save the BSS info
+       /* save the BSS info */
        pBSSList->bActive = true;
        memcpy(pBSSList->abyBSSID, abyBSSIDAddr, WLAN_BSSID_LEN);
        HIDWORD(pBSSList->qwBSSTimestamp) = cpu_to_le32(HIDWORD(qwTimestamp));
@@ -416,15 +386,14 @@ BSSbInsertToBSSList(
        pBSSList->sERP.byERP = psERP->byERP;
        pBSSList->sERP.bERPExist = psERP->bERPExist;
 
-       // Check if BSS is 802.11a/b/g
+       /* check if BSS is 802.11a/b/g */
        if (pBSSList->uChannel > CB_MAX_CHANNEL_24G) {
                pBSSList->eNetworkTypeInUse = PHY_TYPE_11A;
        } else {
-               if (pBSSList->sERP.bERPExist == true) {
+               if (pBSSList->sERP.bERPExist)
                        pBSSList->eNetworkTypeInUse = PHY_TYPE_11G;
-               } else {
+               else
                        pBSSList->eNetworkTypeInUse = PHY_TYPE_11B;
-               }
        }
 
        pBSSList->byRxRate = pRxPacket->byRxRate;
@@ -434,10 +403,9 @@ BSSbInsertToBSSList(
 
        if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) &&
            (pMgmt->eCurrState == WMAC_STATE_ASSOC)) {
-               // assoc with BSS
-               if (pBSSList == pMgmt->pCurrBSS) {
+               /* assoc with BSS */
+               if (pBSSList == pMgmt->pCurrBSS)
                        bParsingQuiet = true;
-               }
        }
 
        WPA_ClearRSN(pBSSList);
@@ -463,7 +431,7 @@ BSSbInsertToBSSList(
                }
        }
 
-       if ((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || (pBSSList->bWPA2Valid == true)) {
+       if ((pMgmt->eAuthenMode == WMAC_AUTH_WPA2) || pBSSList->bWPA2Valid) {
                PSKeyItem  pTransmitKey = NULL;
                bool bIs802_1x = false;
 
@@ -473,13 +441,13 @@ BSSbInsertToBSSList(
                                break;
                        }
                }
-               if ((bIs802_1x == true) && (pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len) &&
+               if (bIs802_1x && (pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len) &&
                    (!memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->abySSID, pSSID->len))) {
                        bAdd_PMKID_Candidate((void *)pDevice, pBSSList->abyBSSID, &pBSSList->sRSNCapObj);
 
-                       if ((pDevice->bLinkPass == true) && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) {
-                               if ((KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, PAIRWISE_KEY, &pTransmitKey) == true) ||
-                                   (KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, GROUP_KEY, &pTransmitKey) == true)) {
+                       if (pDevice->bLinkPass && (pMgmt->eCurrState == WMAC_STATE_ASSOC)) {
+                               if (KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, PAIRWISE_KEY, &pTransmitKey) ||
+                                   KeybGetTransmitKey(&(pDevice->sKey), pDevice->abyBSSID, GROUP_KEY, &pTransmitKey)) {
                                        pDevice->gsPMKIDCandidate.StatusType = Ndis802_11StatusType_PMKID_CandidateList;
                                        pDevice->gsPMKIDCandidate.Version = 1;
 
@@ -490,7 +458,7 @@ BSSbInsertToBSSList(
        }
 
        if (pDevice->bUpdateBBVGA) {
-               // Moniter if RSSI is too strong.
+               /* monitor if RSSI is too strong */
                pBSSList->byRSSIStatCnt = 0;
                RFvRSSITodBm(pDevice, (unsigned char)(pRxPacket->uRSSI), &pBSSList->ldBmMAX);
                pBSSList->ldBmAverage[0] = pBSSList->ldBmMAX;
@@ -498,16 +466,15 @@ BSSbInsertToBSSList(
                        pBSSList->ldBmAverage[ii] = 0;
        }
 
-       if ((pIE_Country != NULL) &&
-           (pMgmt->b11hEnable == true)) {
+       if ((pIE_Country != NULL) && pMgmt->b11hEnable) {
                set_country_info(pMgmt->pAdapter, pBSSList->eNetworkTypeInUse,
                                 pIE_Country);
        }
 
-       if ((bParsingQuiet == true) && (pIE_Quiet != NULL)) {
+       if (bParsingQuiet && (pIE_Quiet != NULL)) {
                if ((((PWLAN_IE_QUIET)pIE_Quiet)->len == 8) &&
                    (((PWLAN_IE_QUIET)pIE_Quiet)->byQuietCount != 0)) {
-                       // valid EID
+                       /* valid EID */
                        if (pQuiet == NULL) {
                                pQuiet = (PWLAN_IE_QUIET)pIE_Quiet;
                                CARDbSetQuiet(pMgmt->pAdapter,
@@ -530,8 +497,7 @@ BSSbInsertToBSSList(
                }
        }
 
-       if ((bParsingQuiet == true) &&
-           (pQuiet != NULL)) {
+       if (bParsingQuiet && (pQuiet != NULL)) {
                CARDbStartQuiet(pMgmt->pAdapter);
        }
 
@@ -552,7 +518,7 @@ BSSbInsertToBSSList(
  *    true if success.
  *
  -*/
-// TODO: input structure modify
+/* TODO: input structure modify */
 
 bool
 BSSbUpdateToBSSList(
@@ -593,7 +559,6 @@ BSSbUpdateToBSSList(
        pBSSList->wCapInfo = cpu_to_le16(wCapInfo);
        pBSSList->uClearCount = 0;
        pBSSList->uChannel = byCurrChannel;
-//    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "BSSbUpdateToBSSList: pBSSList->uChannel: %d\n", pBSSList->uChannel);
 
        if (pSSID->len > WLAN_SSID_MAXLEN)
                pSSID->len = WLAN_SSID_MAXLEN;
@@ -602,23 +567,21 @@ BSSbUpdateToBSSList(
                memcpy(pBSSList->abySSID, pSSID, pSSID->len + WLAN_IEHDR_LEN);
        memcpy(pBSSList->abySuppRates, pSuppRates, pSuppRates->len + WLAN_IEHDR_LEN);
 
-       if (pExtSuppRates != NULL) {
+       if (pExtSuppRates != NULL)
                memcpy(pBSSList->abyExtSuppRates, pExtSuppRates, pExtSuppRates->len + WLAN_IEHDR_LEN);
-       } else {
+       else
                memset(pBSSList->abyExtSuppRates, 0, WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1);
-       }
        pBSSList->sERP.byERP = psERP->byERP;
        pBSSList->sERP.bERPExist = psERP->bERPExist;
 
-       // Check if BSS is 802.11a/b/g
+       /* check if BSS is 802.11a/b/g */
        if (pBSSList->uChannel > CB_MAX_CHANNEL_24G) {
                pBSSList->eNetworkTypeInUse = PHY_TYPE_11A;
        } else {
-               if (pBSSList->sERP.bERPExist == true) {
+               if (pBSSList->sERP.bERPExist)
                        pBSSList->eNetworkTypeInUse = PHY_TYPE_11G;
-               } else {
+               else
                        pBSSList->eNetworkTypeInUse = PHY_TYPE_11B;
-               }
        }
 
        pBSSList->byRxRate = pRxPacket->byRxRate;
@@ -629,13 +592,12 @@ BSSbUpdateToBSSList(
 
        if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) &&
            (pMgmt->eCurrState == WMAC_STATE_ASSOC)) {
-               // assoc with BSS
-               if (pBSSList == pMgmt->pCurrBSS) {
+               /* assoc with BSS */
+               if (pBSSList == pMgmt->pCurrBSS)
                        bParsingQuiet = true;
-               }
        }
 
-       WPA_ClearRSN(pBSSList);         //mike update
+       WPA_ClearRSN(pBSSList);         /* mike update */
 
        if (pRSNWPA != NULL) {
                unsigned int uLen = pRSNWPA->len + 2;
@@ -646,7 +608,7 @@ BSSbUpdateToBSSList(
                }
        }
 
-       WPA2_ClearRSN(pBSSList);  //mike update
+       WPA2_ClearRSN(pBSSList);  /* mike update */
 
        if (pRSN != NULL) {
                unsigned int uLen = pRSN->len + 2;
@@ -659,27 +621,25 @@ BSSbUpdateToBSSList(
 
        if (pRxPacket->uRSSI != 0) {
                RFvRSSITodBm(pDevice, (unsigned char)(pRxPacket->uRSSI), &ldBm);
-               // Moniter if RSSI is too strong.
+               /* monitor if RSSI is too strong */
                pBSSList->byRSSIStatCnt++;
                pBSSList->byRSSIStatCnt %= RSSI_STAT_COUNT;
                pBSSList->ldBmAverage[pBSSList->byRSSIStatCnt] = ldBm;
                for (ii = 0; ii < RSSI_STAT_COUNT; ii++) {
-                       if (pBSSList->ldBmAverage[ii] != 0) {
+                       if (pBSSList->ldBmAverage[ii] != 0)
                                pBSSList->ldBmMAX = max(pBSSList->ldBmAverage[ii], ldBm);
-                       }
                }
        }
 
-       if ((pIE_Country != NULL) &&
-           (pMgmt->b11hEnable == true)) {
+       if ((pIE_Country != NULL) && pMgmt->b11hEnable) {
                set_country_info(pMgmt->pAdapter, pBSSList->eNetworkTypeInUse,
                                 pIE_Country);
        }
 
-       if ((bParsingQuiet == true) && (pIE_Quiet != NULL)) {
+       if (bParsingQuiet && (pIE_Quiet != NULL)) {
                if ((((PWLAN_IE_QUIET)pIE_Quiet)->len == 8) &&
                    (((PWLAN_IE_QUIET)pIE_Quiet)->byQuietCount != 0)) {
-                       // valid EID
+                       /* valid EID */
                        if (pQuiet == NULL) {
                                pQuiet = (PWLAN_IE_QUIET)pIE_Quiet;
                                CARDbSetQuiet(pMgmt->pAdapter,
@@ -702,8 +662,7 @@ BSSbUpdateToBSSList(
                }
        }
 
-       if ((bParsingQuiet == true) &&
-           (pQuiet != NULL)) {
+       if (bParsingQuiet && (pQuiet != NULL)) {
                CARDbStartQuiet(pMgmt->pAdapter);
        }
 
@@ -732,7 +691,7 @@ BSSDBbIsSTAInNodeDB(void *pMgmtObject, unsigned char *abyDstAddr,
        PSMgmtObject    pMgmt = (PSMgmtObject) pMgmtObject;
        unsigned int ii;
 
-       // Index = 0 reserved for AP Node
+       /* Index = 0 reserved for AP Node */
        for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) {
                if (pMgmt->sNodeDBTable[ii].bActive) {
                        if (ether_addr_equal(abyDstAddr,
@@ -765,8 +724,10 @@ BSSvCreateOneNode(void *hDeviceContext, unsigned int *puNodeIndex)
        unsigned int BigestCount = 0;
        unsigned int SelectIndex;
        struct sk_buff  *skb;
-       // Index = 0 reserved for AP Node (In STA mode)
-       // Index = 0 reserved for Broadcast/MultiCast (In AP mode)
+       /*
+        * Index = 0 reserved for AP Node (In STA mode)
+        * Index = 0 reserved for Broadcast/MultiCast (In AP mode)
+        */
        SelectIndex = 1;
        for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) {
                if (pMgmt->sNodeDBTable[ii].bActive) {
@@ -779,11 +740,11 @@ BSSvCreateOneNode(void *hDeviceContext, unsigned int *puNodeIndex)
                }
        }
 
-       // if not found replace uInActiveCount is largest one.
+       /* if not found replace uInActiveCount is largest one */
        if (ii == (MAX_NODE_NUM + 1)) {
                *puNodeIndex = SelectIndex;
                DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Replace inactive node = %d\n", SelectIndex);
-               // clear ps buffer
+               /* clear ps buffer */
                if (pMgmt->sNodeDBTable[*puNodeIndex].sTxPSQueue.next != NULL) {
                        while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[*puNodeIndex].sTxPSQueue)) != NULL)
                                dev_kfree_skb(skb);
@@ -795,7 +756,7 @@ BSSvCreateOneNode(void *hDeviceContext, unsigned int *puNodeIndex)
        memset(&pMgmt->sNodeDBTable[*puNodeIndex], 0, sizeof(KnownNodeDB));
        pMgmt->sNodeDBTable[*puNodeIndex].bActive = true;
        pMgmt->sNodeDBTable[*puNodeIndex].uRatePollTimeout = FALLBACK_POLL_SECOND;
-       // for AP mode PS queue
+       /* for AP mode PS queue */
        skb_queue_head_init(&pMgmt->sNodeDBTable[*puNodeIndex].sTxPSQueue);
        pMgmt->sNodeDBTable[*puNodeIndex].byAuthSequence = 0;
        pMgmt->sNodeDBTable[*puNodeIndex].wEnQueueCnt = 0;
@@ -826,9 +787,9 @@ BSSvRemoveOneNode(
 
        while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[uNodeIndex].sTxPSQueue)) != NULL)
                dev_kfree_skb(skb);
-       // clear context
+       /* clear context */
        memset(&pMgmt->sNodeDBTable[uNodeIndex], 0, sizeof(KnownNodeDB));
-       // clear tx bit map
+       /* clear tx bit map */
        pMgmt->abyPSTxMap[pMgmt->sNodeDBTable[uNodeIndex].wAID >> 3] &=  ~byMask[pMgmt->sNodeDBTable[uNodeIndex].wAID & 7];
 
        return;
@@ -859,9 +820,8 @@ BSSvUpdateAPNode(
        memset(&pMgmt->sNodeDBTable[0], 0, sizeof(KnownNodeDB));
 
        pMgmt->sNodeDBTable[0].bActive = true;
-       if (pDevice->eCurrentPHYType == PHY_TYPE_11B) {
+       if (pDevice->eCurrentPHYType == PHY_TYPE_11B)
                uRateLen = WLAN_RATES_MAXLEN_11B;
-       }
        pMgmt->abyCurrSuppRates[1] = RATEuSetIE((PWLAN_IE_SUPP_RATES)pSuppRates,
                                                (PWLAN_IE_SUPP_RATES)pMgmt->abyCurrSuppRates,
                                                uRateLen);
@@ -882,12 +842,10 @@ BSSvUpdateAPNode(
        pMgmt->sNodeDBTable[0].wTxDataRate = pMgmt->sNodeDBTable[0].wMaxSuppRate;
        pMgmt->sNodeDBTable[0].bShortPreamble = WLAN_GET_CAP_INFO_SHORTPREAMBLE(*pwCapInfo);
        pMgmt->sNodeDBTable[0].uRatePollTimeout = FALLBACK_POLL_SECOND;
-#ifdef PLICE_DEBUG
-       printk("BSSvUpdateAPNode:MaxSuppRate is %d\n", pMgmt->sNodeDBTable[0].wMaxSuppRate);
-#endif
-       // Auto rate fallback function initiation.
-       // RATEbInit(pDevice);
-       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pMgmt->sNodeDBTable[0].wTxDataRate = %d \n", pMgmt->sNodeDBTable[0].wTxDataRate);
+       netdev_dbg(pDevice->dev, "BSSvUpdateAPNode:MaxSuppRate is %d\n",
+                  pMgmt->sNodeDBTable[0].wMaxSuppRate);
+       /* auto rate fallback function initiation */
+       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pMgmt->sNodeDBTable[0].wTxDataRate = %d\n", pMgmt->sNodeDBTable[0].wTxDataRate);
 };
 
 /*+
@@ -926,9 +884,9 @@ BSSvAddMulticastNode(
                          &(pMgmt->sNodeDBTable[0].byTopOFDMBasicRate)
 );
        pMgmt->sNodeDBTable[0].wTxDataRate = pMgmt->sNodeDBTable[0].wMaxBasicRate;
-#ifdef PLICE_DEBUG
-       printk("BSSvAddMultiCastNode:pMgmt->sNodeDBTable[0].wTxDataRate is %d\n", pMgmt->sNodeDBTable[0].wTxDataRate);
-#endif
+       netdev_dbg(pDevice->dev,
+                  "BSSvAddMultiCastNode:pMgmt->sNodeDBTable[0].wTxDataRate is %d\n",
+                  pMgmt->sNodeDBTable[0].wTxDataRate);
        pMgmt->sNodeDBTable[0].uRatePollTimeout = FALLBACK_POLL_SECOND;
 };
 
@@ -944,7 +902,7 @@ BSSvAddMulticastNode(
  *    none.
  *
  -*/
-//2008-4-14 <add> by chester for led issue
+/* 2008-4-14 <add> by chester for led issue */
 #ifdef FOR_LED_ON_NOTEBOOK
 bool cc = false;
 unsigned int status;
@@ -961,7 +919,7 @@ BSSvSecondCallBack(
        unsigned int uSleepySTACnt = 0;
        unsigned int uNonShortSlotSTACnt = 0;
        unsigned int uLongPreambleSTACnt = 0;
-       viawget_wpa_header *wpahdr;  //DavidWang
+       viawget_wpa_header *wpahdr;  /* DavidWang */
 
        spin_lock_irq(&pDevice->lock);
 
@@ -969,51 +927,47 @@ BSSvSecondCallBack(
 
        pDevice->byERPFlag &=
                ~(WLAN_SET_ERP_BARKER_MODE(1) | WLAN_SET_ERP_NONERP_PRESENT(1));
-       //2008-4-14 <add> by chester for led issue
+       /* 2008-4-14 <add> by chester for led issue */
 #ifdef FOR_LED_ON_NOTEBOOK
        MACvGPIOIn(pDevice->PortOffset, &pDevice->byGPIO);
-       if (((!(pDevice->byGPIO & GPIO0_DATA) && (pDevice->bHWRadioOff == false)) || ((pDevice->byGPIO & GPIO0_DATA) && (pDevice->bHWRadioOff == true))) && (cc == false)) {
+       if (((!(pDevice->byGPIO & GPIO0_DATA) && (!pDevice->bHWRadioOff)) ||
+            ((pDevice->byGPIO & GPIO0_DATA) && pDevice->bHWRadioOff)) &&
+           (!cc)) {
                cc = true;
-       } else if (cc == true) {
-               if (pDevice->bHWRadioOff == true) {
-                       if (!(pDevice->byGPIO & GPIO0_DATA))
-//||(!(pDevice->byGPIO & GPIO0_DATA) && (pDevice->byRadioCtl & EEP_RADIOCTL_INV)))
-                       {
-                               if (status == 1) goto start;
+       } else if (cc) {
+               if (pDevice->bHWRadioOff) {
+                       if (!(pDevice->byGPIO & GPIO0_DATA)) {
+                               if (status == 1)
+                                       goto start;
                                status = 1;
                                CARDbRadioPowerOff(pDevice);
                                pMgmt->sNodeDBTable[0].bActive = false;
                                pMgmt->eCurrMode = WMAC_MODE_STANDBY;
                                pMgmt->eCurrState = WMAC_STATE_IDLE;
-                               //netif_stop_queue(pDevice->dev);
                                pDevice->bLinkPass = false;
 
                        }
-                       if (pDevice->byGPIO & GPIO0_DATA)
-//||(!(pDevice->byGPIO & GPIO0_DATA) && (pDevice->byRadioCtl & EEP_RADIOCTL_INV)))
-                       {
-                               if (status == 2) goto start;
+                       if (pDevice->byGPIO & GPIO0_DATA) {
+                               if (status == 2)
+                                       goto start;
                                status = 2;
                                CARDbRadioPowerOn(pDevice);
                        }
                } else {
-                       if (pDevice->byGPIO & GPIO0_DATA)
-//||(!(pDevice->byGPIO & GPIO0_DATA) && (pDevice->byRadioCtl & EEP_RADIOCTL_INV)))
-                       {
-                               if (status == 3) goto start;
+                       if (pDevice->byGPIO & GPIO0_DATA) {
+                               if (status == 3)
+                                       goto start;
                                status = 3;
                                CARDbRadioPowerOff(pDevice);
                                pMgmt->sNodeDBTable[0].bActive = false;
                                pMgmt->eCurrMode = WMAC_MODE_STANDBY;
                                pMgmt->eCurrState = WMAC_STATE_IDLE;
-                               //netif_stop_queue(pDevice->dev);
                                pDevice->bLinkPass = false;
 
                        }
-                       if (!(pDevice->byGPIO & GPIO0_DATA))
-//||(!(pDevice->byGPIO & GPIO0_DATA) && (pDevice->byRadioCtl & EEP_RADIOCTL_INV)))
-                       {
-                               if (status == 4) goto start;
+                       if (!(pDevice->byGPIO & GPIO0_DATA)) {
+                               if (status == 4)
+                                       goto start;
                                status = 4;
                                CARDbRadioPowerOn(pDevice);
                        }
@@ -1025,14 +979,15 @@ start:
        if (pDevice->wUseProtectCntDown > 0) {
                pDevice->wUseProtectCntDown--;
        } else {
-               // disable protect mode
+               /* disable protect mode */
                pDevice->byERPFlag &= ~(WLAN_SET_ERP_USE_PROTECTION(1));
        }
 
        {
                pDevice->byReAssocCount++;
-               if ((pDevice->byReAssocCount > 10) && (pDevice->bLinkPass != true)) {  //10 sec timeout
-                       printk("Re-association timeout!!!\n");
+               /* 10 sec timeout */
+               if ((pDevice->byReAssocCount > 10) && (!pDevice->bLinkPass)) {
+                       netdev_info(pDevice->dev, "Re-association timeout!!!\n");
                        pDevice->byReAssocCount = 0;
 #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT
                        {
@@ -1043,7 +998,7 @@ start:
                                wireless_send_event(pDevice->dev, SIOCGIWAP, &wrqu, NULL);
                        }
 #endif
-               } else if (pDevice->bLinkPass == true)
+               } else if (pDevice->bLinkPass)
                        pDevice->byReAssocCount = 0;
        }
 
@@ -1053,7 +1008,7 @@ start:
 
        for (ii = 0; ii < (MAX_NODE_NUM + 1); ii++) {
                if (pMgmt->sNodeDBTable[ii].bActive) {
-                       // Increase in-activity counter
+                       /* increase in-activity counter */
                        pMgmt->sNodeDBTable[ii].uInActiveCount++;
 
                        if (ii > 0) {
@@ -1067,7 +1022,7 @@ start:
                                if (pMgmt->sNodeDBTable[ii].eNodeState >= NODE_ASSOC) {
                                        pDevice->uAssocCount++;
 
-                                       // check if Non ERP exist
+                                       /* check if Non ERP exist */
                                        if (pMgmt->sNodeDBTable[ii].uInActiveCount < ERP_RECOVER_COUNT) {
                                                if (!pMgmt->sNodeDBTable[ii].bShortPreamble) {
                                                        pDevice->byERPFlag |= WLAN_SET_ERP_BARKER_MODE(1);
@@ -1082,43 +1037,39 @@ start:
                                        }
                                }
 
-                               // check if any STA in PS mode
+                               /* check if any STA in PS mode */
                                if (pMgmt->sNodeDBTable[ii].bPSEnable)
                                        uSleepySTACnt++;
 
                        }
 
-                       // Rate fallback check
+                       /* rate fallback check */
                        if (!pDevice->bFixRate) {
-/*
-  if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (ii == 0))
-  RATEvTxRateFallBack(pDevice, &(pMgmt->sNodeDBTable[ii]));
-*/
                                if (ii > 0) {
-                                       // ii = 0 for multicast node (AP & Adhoc)
+                                       /* ii = 0 for multicast node (AP & Adhoc) */
                                        RATEvTxRateFallBack((void *)pDevice, &(pMgmt->sNodeDBTable[ii]));
                                } else {
-                                       // ii = 0 reserved for unicast AP node (Infra STA)
+                                       /* ii = 0 reserved for unicast AP node (Infra STA) */
                                        if (pMgmt->eCurrMode == WMAC_MODE_ESS_STA)
-#ifdef PLICE_DEBUG
-                                               printk("SecondCallback:Before:TxDataRate is %d\n", pMgmt->sNodeDBTable[0].wTxDataRate);
-#endif
+                                               netdev_dbg(pDevice->dev,
+                                                          "SecondCallback:Before:TxDataRate is %d\n",
+                                                          pMgmt->sNodeDBTable[0].wTxDataRate);
                                        RATEvTxRateFallBack((void *)pDevice, &(pMgmt->sNodeDBTable[ii]));
-#ifdef PLICE_DEBUG
-                                       printk("SecondCallback:After:TxDataRate is %d\n", pMgmt->sNodeDBTable[0].wTxDataRate);
-#endif
+                                       netdev_dbg(pDevice->dev,
+                                                  "SecondCallback:After:TxDataRate is %d\n",
+                                                  pMgmt->sNodeDBTable[0].wTxDataRate);
 
                                }
 
                        }
 
-                       // check if pending PS queue
+                       /* check if pending PS queue */
                        if (pMgmt->sNodeDBTable[ii].wEnQueueCnt != 0) {
-                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Index= %d, Queue = %d pending \n",
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Index= %d, Queue = %d pending\n",
                                        ii, pMgmt->sNodeDBTable[ii].wEnQueueCnt);
                                if ((ii > 0) && (pMgmt->sNodeDBTable[ii].wEnQueueCnt > 15)) {
                                        BSSvRemoveOneNode(pDevice, ii);
-                                       DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Pending many queues PS STA Index = %d remove \n", ii);
+                                       DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Pending many queues PS STA Index = %d remove\n", ii);
                                        continue;
                                }
                        }
@@ -1127,7 +1078,7 @@ start:
        }
 
        if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && (pDevice->eCurrentPHYType == PHY_TYPE_11G)) {
-               // on/off protect mode
+               /* on/off protect mode */
                if (WLAN_GET_ERP_USE_PROTECTION(pDevice->byERPFlag)) {
                        if (!pDevice->bProtectMode) {
                                MACvEnableProtectMD(pDevice->PortOffset);
@@ -1139,7 +1090,7 @@ start:
                                pDevice->bProtectMode = false;
                        }
                }
-               // on/off short slot time
+               /* on/off short slot time */
 
                if (uNonShortSlotSTACnt > 0) {
                        if (pDevice->bShortSlotTime) {
@@ -1155,7 +1106,7 @@ start:
                        }
                }
 
-               // on/off barker long preamble mode
+               /* on/off barker long preamble mode */
 
                if (uLongPreambleSTACnt > 0) {
                        if (!pDevice->bBarkerPreambleMd) {
@@ -1171,7 +1122,7 @@ start:
 
        }
 
-       // Check if any STA in PS mode, enable DTIM multicast deliver
+       /* check if any STA in PS mode, enable DTIM multicast deliver */
        if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
                if (uSleepySTACnt > 0)
                        pMgmt->sNodeDBTable[0].bPSEnable = true;
@@ -1184,11 +1135,10 @@ start:
 
        if ((pMgmt->eCurrMode == WMAC_MODE_STANDBY) ||
            (pMgmt->eCurrMode == WMAC_MODE_ESS_STA)) {
-               if (pMgmt->sNodeDBTable[0].bActive) { // Assoc with BSS
-                       if (pDevice->bUpdateBBVGA) {
-                               // s_vCheckSensitivity((void *) pDevice);
+               /* assoc with BSS */
+               if (pMgmt->sNodeDBTable[0].bActive) {
+                       if (pDevice->bUpdateBBVGA)
                                s_vCheckPreEDThreshold((void *)pDevice);
-                       }
 
                        if ((pMgmt->sNodeDBTable[0].uInActiveCount >= (LOST_BEACON_COUNT/2)) &&
                            (pDevice->byBBVGACurrent != pDevice->abyBBVGA[0])) {
@@ -1232,12 +1182,18 @@ start:
                        if (pDevice->uAutoReConnectTime < 10) {
                                pDevice->uAutoReConnectTime++;
 #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT
-                               //network manager support need not do Roaming scan???
-                               if (pDevice->bWPASuppWextEnabled == true)
+                               /*
+                                * network manager support need not do
+                                * Roaming scan???
+                                */
+                               if (pDevice->bWPASuppWextEnabled)
                                        pDevice->uAutoReConnectTime = 0;
 #endif
                        } else {
-                               //mike use old encryption status for wpa reauthen
+                               /*
+                                * mike use old encryption status
+                                * for wpa reauthentication
+                                */
                                if (pDevice->bWPADEVUp)
                                        pDevice->eEncryptionStatus = pDevice->eOldEncryptionStatus;
 
@@ -1252,7 +1208,7 @@ start:
        }
 
        if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) {
-               // if adhoc started which essid is NULL string, rescanning.
+               /* if adhoc started which essid is NULL string, rescanning */
                if ((pMgmt->eCurrState == WMAC_STATE_STARTED) && (pCurrSSID->len == 0)) {
                        if (pDevice->uAutoReConnectTime < 10) {
                                pDevice->uAutoReConnectTime++;
@@ -1262,13 +1218,11 @@ start:
                                bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, NULL);
                                bScheduleCommand((void *)pDevice, WLAN_CMD_SSID, NULL);
                                pDevice->uAutoReConnectTime = 0;
-                       };
+                       }
                }
                if (pMgmt->eCurrState == WMAC_STATE_JOINTED) {
-                       if (pDevice->bUpdateBBVGA) {
-                               //s_vCheckSensitivity((void *) pDevice);
+                       if (pDevice->bUpdateBBVGA)
                                s_vCheckPreEDThreshold((void *)pDevice);
-                       }
                        if (pMgmt->sNodeDBTable[0].uInActiveCount >= ADHOC_LOST_BEACON_COUNT) {
                                DBG_PRT(MSG_LEVEL_NOTICE, KERN_INFO "Lost other STA beacon [%d] sec, started !\n", pMgmt->sNodeDBTable[0].uInActiveCount);
                                pMgmt->sNodeDBTable[0].uInActiveCount = 0;
@@ -1318,40 +1272,31 @@ BSSvUpdateNodeTxCounter(
        unsigned short wFallBackRate = RATE_1M;
        unsigned char byFallBack;
        unsigned int ii;
-//     unsigned int txRetryTemp;
-//PLICE_DEBUG->
-       //txRetryTemp = byTxRetry;
-//PLICE_DEBUG <-
        pTxBufHead = (PSTxBufHead) pbyBuffer;
-       if (pTxBufHead->wFIFOCtl & FIFOCTL_AUTO_FB_0) {
+       if (pTxBufHead->wFIFOCtl & FIFOCTL_AUTO_FB_0)
                byFallBack = AUTO_FB_0;
-       } else if (pTxBufHead->wFIFOCtl & FIFOCTL_AUTO_FB_1) {
+       else if (pTxBufHead->wFIFOCtl & FIFOCTL_AUTO_FB_1)
                byFallBack = AUTO_FB_1;
-       } else {
+       else
                byFallBack = AUTO_FB_NONE;
-       }
-       wRate = pTxBufHead->wReserved; //?wRate
+       wRate = pTxBufHead->wReserved;
 
-       // Only Unicast using support rates
+       /* Only Unicast using support rates */
        if (pTxBufHead->wFIFOCtl & FIFOCTL_NEEDACK) {
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wRate %04X, byTsr0 %02X, byTsr1 %02X\n", wRate, byTsr0, byTsr1);
                if (pMgmt->eCurrMode == WMAC_MODE_ESS_STA) {
                        pMgmt->sNodeDBTable[0].uTxAttempts += 1;
                        if ((byTsr1 & TSR1_TERR) == 0) {
-                               // transmit success, TxAttempts at least plus one
+                               /* transmit success, TxAttempts at least plus one */
                                pMgmt->sNodeDBTable[0].uTxOk[MAX_RATE]++;
                                if ((byFallBack == AUTO_FB_NONE) ||
                                    (wRate < RATE_18M)) {
                                        wFallBackRate = wRate;
                                } else if (byFallBack == AUTO_FB_0) {
-//PLICE_DEBUG
                                        if (byTxRetry < 5)
                                                wFallBackRate = awHWRetry0[wRate-RATE_18M][byTxRetry];
-                                       //wFallBackRate = awHWRetry0[wRate-RATE_12M][byTxRetry];
-                                       //wFallBackRate = awHWRetry0[wRate-RATE_18M][txRetryTemp] +1;
                                        else
                                                wFallBackRate = awHWRetry0[wRate-RATE_18M][4];
-                                       //wFallBackRate = awHWRetry0[wRate-RATE_12M][4];
                                } else if (byFallBack == AUTO_FB_1) {
                                        if (byTxRetry < 5)
                                                wFallBackRate = awHWRetry1[wRate-RATE_18M][byTxRetry];
@@ -1369,18 +1314,11 @@ BSSvUpdateNodeTxCounter(
                                    (wRate < RATE_18M)) {
                                        pMgmt->sNodeDBTable[0].uTxFail[wRate] += byTxRetry;
                                } else if (byFallBack == AUTO_FB_0) {
-//PLICE_DEBUG
-                                       for (ii = 0; ii < byTxRetry; ii++)
-                                               //for (ii=0;ii<txRetryTemp;ii++)
-                                       {
-                                               if (ii < 5) {
-//PLICE_DEBUG
+                                       for (ii = 0; ii < byTxRetry; ii++) {
+                                               if (ii < 5)
                                                        wFallBackRate = awHWRetry0[wRate-RATE_18M][ii];
-                                                       //wFallBackRate = awHWRetry0[wRate-RATE_12M][ii];
-                                               } else {
+                                               else
                                                        wFallBackRate = awHWRetry0[wRate-RATE_18M][4];
-                                                       //wFallBackRate = awHWRetry0[wRate-RATE_12M][4];
-                                               }
                                                pMgmt->sNodeDBTable[0].uTxFail[wFallBackRate]++;
                                        }
                                } else if (byFallBack == AUTO_FB_1) {
@@ -1402,7 +1340,7 @@ BSSvUpdateNodeTxCounter(
                        if (BSSDBbIsSTAInNodeDB((void *)pMgmt,  &(pMACHeader->abyAddr1[0]), &uNodeIndex)) {
                                pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts += 1;
                                if ((byTsr1 & TSR1_TERR) == 0) {
-                                       // transmit success, TxAttempts at least plus one
+                                       /* transmit success, TxAttempts at least plus one */
                                        pMgmt->sNodeDBTable[uNodeIndex].uTxOk[MAX_RATE]++;
                                        if ((byFallBack == AUTO_FB_NONE) ||
                                            (wRate < RATE_18M)) {
@@ -1485,7 +1423,7 @@ BSSvClearNodeDBTable(
 
        for (ii = uStartIndex; ii < (MAX_NODE_NUM + 1); ii++) {
                if (pMgmt->sNodeDBTable[ii].bActive) {
-                       // check if sTxPSQueue has been initial
+                       /* check if sTxPSQueue has been initial */
                        if (pMgmt->sNodeDBTable[ii].sTxPSQueue.next != NULL) {
                                while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) != NULL) {
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "PS skb != NULL %d\n", ii);
@@ -1517,7 +1455,7 @@ void s_vCheckSensitivity(
            ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED))) {
                pBSSList = BSSpAddrIsInBSSList(pDevice, pMgmt->abyCurrBSSID, (PWLAN_IE_SSID)pMgmt->abyCurrSSID);
                if (pBSSList != NULL) {
-                       // Updata BB Reg if RSSI is too strong.
+                       /* Update BB Reg if RSSI is too strong */
                        long    LocalldBmAverage = 0;
                        long    uNumofdBm = 0;
                        for (ii = 0; ii < RSSI_STAT_COUNT; ii++) {
@@ -1556,9 +1494,8 @@ BSSvClearAnyBSSJoinRecord(
        PSMgmtObject    pMgmt = pDevice->pMgmt;
        unsigned int ii;
 
-       for (ii = 0; ii < MAX_BSS_NUM; ii++) {
+       for (ii = 0; ii < MAX_BSS_NUM; ii++)
                pMgmt->sBSSList[ii].bSelected = false;
-       }
        return;
 }
 
@@ -1580,19 +1517,18 @@ void s_uCalculateLinkQual(
                pDevice->scStatistic.RxOkCnt;
        TxOkRatio = (TxCnt < 6) ? 4000 : ((pDevice->scStatistic.TxNoRetryOkCount * 4000) / TxCnt);
        RxOkRatio = (RxCnt < 6) ? 2000 : ((pDevice->scStatistic.RxOkCnt * 2000) / RxCnt);
-//decide link quality
-       if (pDevice->bLinkPass != true) {
+       /* decide link quality */
+       if (!pDevice->bLinkPass) {
                pDevice->scStatistic.LinkQuality = 0;
                pDevice->scStatistic.SignalStren = 0;
        } else {
                RFvRSSITodBm(pDevice, (unsigned char)(pDevice->uCurrRSSI), &ldBm);
-               if (-ldBm < 50)  {
+               if (-ldBm < 50)
                        RssiRatio = 4000;
-               } else if (-ldBm > 90) {
+               else if (-ldBm > 90)
                        RssiRatio = 0;
-               } else {
+               else
                        RssiRatio = (40-(-ldBm-50))*4000/40;
-               }
                pDevice->scStatistic.SignalStren = RssiRatio/40;
                pDevice->scStatistic.LinkQuality = (RssiRatio+TxOkRatio+RxOkRatio)/100;
        }
@@ -1616,10 +1552,8 @@ void s_vCheckPreEDThreshold(
        if ((pMgmt->eCurrState == WMAC_STATE_ASSOC) ||
            ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED))) {
                pBSSList = BSSpAddrIsInBSSList(pDevice, pMgmt->abyCurrBSSID, (PWLAN_IE_SSID)pMgmt->abyCurrSSID);
-               if (pBSSList != NULL) {
+               if (pBSSList != NULL)
                        pDevice->byBBPreEDRSSI = (unsigned char) (~(pBSSList->ldBmAverRange) + 1);
-                       //BBvUpdatePreEDThreshold(pDevice, false);
-               }
        }
        return;
 }
index fbf18e23e78ecb3230cbf45787f3bf91bcc6610b..db38ca05113064a8e9879b328f8ee8d272653974 100644 (file)
@@ -1053,7 +1053,7 @@ CARDbAdd_PMKID_Candidate(
        for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) {
                pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii];
                if (!memcmp(pCandidateList->BSSID, pbyBSSID, ETH_ALEN)) {
-                       if ((bRSNCapExist == true) && (wRSNCap & BIT0)) {
+                       if (bRSNCapExist && (wRSNCap & BIT0)) {
                                pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED;
                        } else {
                                pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED);
@@ -1064,7 +1064,7 @@ CARDbAdd_PMKID_Candidate(
 
        // New Candidate
        pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[pDevice->gsPMKIDCandidate.NumCandidates];
-       if ((bRSNCapExist == true) && (wRSNCap & BIT0)) {
+       if (bRSNCapExist && (wRSNCap & BIT0)) {
                pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED;
        } else {
                pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED);
@@ -1190,7 +1190,7 @@ CARDbStartMeasure(
                }
        } while (pDevice->uNumOfMeasureEIDs != 0);
 
-       if (bExpired == false) {
+       if (!bExpired) {
                MACvSelectPage1(pDevice->PortOffset);
                VNSvOutPortD(pDevice->PortOffset + MAC_REG_MSRSTART, LODWORD(qwStartTSF));
                VNSvOutPortD(pDevice->PortOffset + MAC_REG_MSRSTART + 4, HIDWORD(qwStartTSF));
@@ -1280,7 +1280,7 @@ CARDbSetQuiet(
        PSDevice    pDevice = (PSDevice) pDeviceHandler;
        unsigned int ii = 0;
 
-       if (bResetQuiet == true) {
+       if (bResetQuiet) {
                MACvRegBitsOff(pDevice->PortOffset, MAC_REG_MSRCTL, (MSRCTL_QUIETTXCHK | MSRCTL_QUIETEN));
                for (ii = 0; ii < MAX_QUIET_COUNT; ii++) {
                        pDevice->sQuiet[ii].bEnable = false;
@@ -2013,7 +2013,7 @@ QWORD CARDqGetTSFOffset(unsigned char byRxRate, QWORD qwTSF1, QWORD qwTSF2)
                HIDWORD(qwTSFOffset) = HIDWORD(qwTSF1) - HIDWORD(qwTSF2) - 1;
        } else {
                HIDWORD(qwTSFOffset) = HIDWORD(qwTSF1) - HIDWORD(qwTSF2);
-       };
+       }
        return qwTSFOffset;
 }
 
index ba9481fa654f137e0b6dd54e746174ad6cc2ac70..3198a31e2ed7a3726e091e303e2ec6a2fdab1043 100644 (file)
@@ -441,8 +441,8 @@ void init_channel_table(void *pDeviceHandler)
                break;
        }
 
-       if ((pDevice->dwDiagRefCount != 0) || (pDevice->b11hEnable == true)) {
-               if (bMultiBand == true) {
+       if ((pDevice->dwDiagRefCount != 0) || pDevice->b11hEnable) {
+               if (bMultiBand) {
                        for (ii = 0; ii < CARD_MAX_CHANNEL_TBL; ii++) {
                                sChannelTbl[ii + 1].bValid = true;
                                pDevice->abyRegPwr[ii + 1] = pDevice->abyOFDMDefaultPwr[ii + 1];
@@ -463,7 +463,7 @@ void init_channel_table(void *pDeviceHandler)
                        }
                }
        } else if (pDevice->byZoneType <= CCODE_MAX) {
-               if (bMultiBand == true) {
+               if (bMultiBand) {
                        for (ii = 0; ii < CARD_MAX_CHANNEL_TBL; ii++) {
                                if (ChannelRuleTab[pDevice->byZoneType].bChannelIdxList[ii] != 0) {
                                        sChannelTbl[ii + 1].bValid = true;
@@ -531,7 +531,7 @@ bool set_channel(void *pDeviceHandler, unsigned int uConnectionChannel)
                return bResult;
        }
 
-       if (sChannelTbl[uConnectionChannel].bValid == false) {
+       if (!sChannelTbl[uConnectionChannel].bValid) {
                return false;
        }
 
@@ -557,7 +557,7 @@ bool set_channel(void *pDeviceHandler, unsigned int uConnectionChannel)
        bResult &= RFbSelectChannel(pDevice->PortOffset, pDevice->byRFType, (unsigned char)uConnectionChannel);
 
        // Init Synthesizer Table
-       if (pDevice->bEnablePSMode == true)
+       if (pDevice->bEnablePSMode)
                RFvWriteWakeProgSyn(pDevice->PortOffset, pDevice->byRFType, uConnectionChannel);
 
        //DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "CARDbSetMediaChannel: %d\n", (unsigned char)uConnectionChannel);
@@ -766,7 +766,7 @@ unsigned char auto_channel_select(void *pDeviceHandler, CARD_PHY_TYPE ePHYType)
 
        if (ePHYType == PHY_TYPE_11A) {
                for (ii = CB_MAX_CHANNEL_24G + 1; ii <= CB_MAX_CHANNEL; ii++) {
-                       if (sChannelTbl[ii].bValid == true) {
+                       if (sChannelTbl[ii].bValid) {
                                if (byOptionChannel == 0) {
                                        byOptionChannel = (unsigned char) ii;
                                }
@@ -780,7 +780,7 @@ unsigned char auto_channel_select(void *pDeviceHandler, CARD_PHY_TYPE ePHYType)
        } else {
                byOptionChannel = 0;
                for (ii = 1; ii <= CB_MAX_CHANNEL_24G; ii++) {
-                       if (sChannelTbl[ii].bValid == true) {
+                       if (sChannelTbl[ii].bValid) {
                                if (sChannelTbl[ii].byMAP == 0) {
                                        aiWeight[ii] += 100;
                                } else if (sChannelTbl[ii].byMAP & 0x01) {
@@ -807,7 +807,7 @@ unsigned char auto_channel_select(void *pDeviceHandler, CARD_PHY_TYPE ePHYType)
                        }
                }
                for (ii = 1; ii <= CB_MAX_CHANNEL_24G; ii++) {
-                       if ((sChannelTbl[ii].bValid == true) &&
+                       if (sChannelTbl[ii].bValid &&
                            (aiWeight[ii] > aiWeight[byOptionChannel])) {
                                byOptionChannel = (unsigned char) ii;
                        }
index e7b6bc7de4ac20ffa233293e7278c815356c27fc..c9a89cd7633cfacfe6594d33e9d86cad8fff92f4 100644 (file)
@@ -218,8 +218,7 @@ RATEvParseMaxRate(
 
        for (ii = 0; ii < uRateLen; ii++) {
                byRate = (unsigned char)(pItemRates->abyRates[ii]);
-               if (WLAN_MGMT_IS_BASICRATE(byRate) &&
-                   (bUpdateBasicRate == true))  {
+               if (WLAN_MGMT_IS_BASICRATE(byRate) && bUpdateBasicRate)  {
                        // Add to basic rate set, update pDevice->byTopCCKBasicRate and pDevice->byTopOFDMBasicRate
                        CARDbAddBasicRate((void *)pDevice, wGetRateIdx(byRate));
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "ParseMaxRate AddBasicRate: %d\n", wGetRateIdx(byRate));
@@ -329,7 +328,7 @@ RATEvTxRateFallBack(
 
        for (ii = 0; ii < MAX_RATE; ii++) {
                if (psNodeDBTable->wSuppRate & (0x0001<<ii)) {
-                       if (bAutoRate[ii] == true) {
+                       if (bAutoRate[ii]) {
                                wIdxUpRate = (unsigned short) ii;
                        }
                } else {
@@ -354,8 +353,7 @@ RATEvTxRateFallBack(
        wIdxDownRate = psNodeDBTable->wTxDataRate;
        for (ii = psNodeDBTable->wTxDataRate; ii > 0;) {
                ii--;
-               if ((dwThroughputTbl[ii] > dwThroughput) &&
-                   (bAutoRate[ii] == true)) {
+               if ((dwThroughputTbl[ii] > dwThroughput) && bAutoRate[ii]) {
                        dwThroughput = dwThroughputTbl[ii];
                        wIdxDownRate = (unsigned short) ii;
                }
index e93fdc88d84456ed52a8cb6cdaf9c02289c695c2..68cbaee2977518670a7bf608cfe889cf18fb40e6 100644 (file)
@@ -561,7 +561,7 @@ static void device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType)
                        pDevice->byTxAntennaMode = ANT_B;
                        pDevice->dwTxAntennaSel = 1;
                        pDevice->dwRxAntennaSel = 1;
-                       if (pDevice->bTxRxAntInv == true)
+                       if (pDevice->bTxRxAntInv)
                                pDevice->byRxAntennaMode = ANT_A;
                        else
                                pDevice->byRxAntennaMode = ANT_B;
@@ -578,13 +578,13 @@ static void device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType)
                        pDevice->dwRxAntennaSel = 0;
                        if (byValue & EEP_ANTENNA_AUX) {
                                pDevice->byTxAntennaMode = ANT_A;
-                               if (pDevice->bTxRxAntInv == true)
+                               if (pDevice->bTxRxAntInv)
                                        pDevice->byRxAntennaMode = ANT_B;
                                else
                                        pDevice->byRxAntennaMode = ANT_A;
                        } else {
                                pDevice->byTxAntennaMode = ANT_B;
-                               if (pDevice->bTxRxAntInv == true)
+                               if (pDevice->bTxRxAntInv)
                                        pDevice->byRxAntennaMode = ANT_A;
                                else
                                        pDevice->byRxAntennaMode = ANT_B;
@@ -635,7 +635,7 @@ static void device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType)
                pDevice->byRFType &= RF_MASK;
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pDevice->byRFType = %x\n", pDevice->byRFType);
 
-               if (pDevice->bZoneRegExist == false) {
+               if (!pDevice->bZoneRegExist) {
                        pDevice->byZoneType = pDevice->abyEEPROM[EEP_OFS_ZONETYPE];
                }
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pDevice->byZoneType = %x\n", pDevice->byZoneType);
@@ -742,7 +742,7 @@ static void device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType)
                        if (!(pDevice->byGPIO & GPIO0_DATA)) { pDevice->bHWRadioOff = false; }
 
                }
-               if ((pDevice->bRadioControlOff == true)) {
+               if (pDevice->bRadioControlOff) {
                        CARDbRadioPowerOff(pDevice);
                } else  CARDbRadioPowerOn(pDevice);
 #else
@@ -751,7 +751,7 @@ static void device_init_registers(PSDevice pDevice, DEVICE_INIT_TYPE InitType)
                        pDevice->bHWRadioOff = true;
                }
        }
-       if ((pDevice->bHWRadioOff == true) || (pDevice->bRadioControlOff == true)) {
+       if (pDevice->bHWRadioOff || pDevice->bRadioControlOff) {
                CARDbRadioPowerOff(pDevice);
        }
 
@@ -809,7 +809,7 @@ static bool device_release_WPADEV(PSDevice pDevice)
        int ii = 0;
        // wait_queue_head_t    Set_wait;
        //send device close to wpa_supplicnat layer
-       if (pDevice->bWPADEVUp == true) {
+       if (pDevice->bWPADEVUp) {
                wpahdr = (viawget_wpa_header *)pDevice->skb->data;
                wpahdr->type = VIAWGET_DEVICECLOSE_MSG;
                wpahdr->resp_ie_len = 0;
@@ -826,7 +826,7 @@ static bool device_release_WPADEV(PSDevice pDevice)
                //wait release WPADEV
                //    init_waitqueue_head(&Set_wait);
                //    wait_event_timeout(Set_wait, ((pDevice->wpadev==NULL)&&(pDevice->skb == NULL)),5*HZ);    //1s wait
-               while ((pDevice->bWPADEVUp == true)) {
+               while (pDevice->bWPADEVUp) {
                        set_current_state(TASK_UNINTERRUPTIBLE);
                        schedule_timeout(HZ / 20);          //wait 50ms
                        ii++;
@@ -892,7 +892,7 @@ vt6655_probe(struct pci_dev *pcid, const struct pci_device_id *ent)
 #ifdef DEBUG
        printk("Before get pci_info memaddr is %x\n", pDevice->memaddr);
 #endif
-       if (device_get_pci_info(pDevice, pcid) == false) {
+       if (!device_get_pci_info(pDevice, pcid)) {
                printk(KERN_ERR DEVICE_NAME ": Failed to find PCI device.\n");
                device_free_info(pDevice);
                return -ENODEV;
@@ -1633,7 +1633,7 @@ static int device_tx_srv(PSDevice pDevice, unsigned int uIdx) {
                        bFull = true;
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " AC0DMA is Full = %d\n", pDevice->iTDUsed[uIdx]);
                }
-               if (netif_queue_stopped(pDevice->dev) && (bFull == false)) {
+               if (netif_queue_stopped(pDevice->dev) && !bFull) {
                        netif_wake_queue(pDevice->dev);
                }
        }
@@ -1798,7 +1798,7 @@ static int  device_open(struct net_device *dev) {
        pDevice->byReAssocCount = 0;
        pDevice->bWPADEVUp = false;
        // Patch: if WEP key already set by iwconfig but device not yet open
-       if ((pDevice->bEncryptionEnable == true) && (pDevice->bTransmitKey == true)) {
+       if (pDevice->bEncryptionEnable && pDevice->bTransmitKey) {
                KeybSetDefaultKey(&(pDevice->sKey),
                                  (unsigned long)(pDevice->byKeyIndex | (1 << 31)),
                                  pDevice->uKeyLength,
@@ -1895,7 +1895,7 @@ static int device_dma0_tx_80211(struct sk_buff *skb, struct net_device *dev) {
                return 0;
        }
 
-       if (pDevice->bStopTx0Pkt == true) {
+       if (pDevice->bStopTx0Pkt) {
                dev_kfree_skb_irq(skb);
                spin_unlock_irq(&pDevice->lock);
                return 0;
@@ -1924,7 +1924,7 @@ bool device_dma0_xmit(PSDevice pDevice, struct sk_buff *skb, unsigned int uNodeI
        SKeyItem        STempKey;
 //    unsigned char byKeyIndex = 0;
 
-       if (pDevice->bStopTx0Pkt == true) {
+       if (pDevice->bStopTx0Pkt) {
                dev_kfree_skb_irq(skb);
                return false;
        }
@@ -1993,14 +1993,14 @@ bool device_dma0_xmit(PSDevice pDevice, struct sk_buff *skb, unsigned int uNodeI
        } else if (pDevice->eCurrentPHYType == PHY_TYPE_11A) {
                byPktType = PK_TYPE_11A;
        } else {
-               if (pDevice->bProtectMode == true) {
+               if (pDevice->bProtectMode) {
                        byPktType = PK_TYPE_11GB;
                } else {
                        byPktType = PK_TYPE_11GA;
                }
        }
 
-       if (pDevice->bEncryptionEnable == true)
+       if (pDevice->bEncryptionEnable)
                bNeedEncryption = true;
 
        if (pDevice->bEnableHostWEP) {
@@ -2076,7 +2076,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
        bool bNodeExist = false;
 
        spin_lock_irq(&pDevice->lock);
-       if (pDevice->bLinkPass == false) {
+       if (!pDevice->bLinkPass) {
                dev_kfree_skb_irq(skb);
                spin_unlock_irq(&pDevice->lock);
                return 0;
@@ -2130,7 +2130,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
                        }
                }
 
-               if (bNodeExist == false) {
+               if (!bNodeExist) {
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_DEBUG "Unknown STA not found in node DB \n");
                        dev_kfree_skb_irq(skb);
                        spin_unlock_irq(&pDevice->lock);
@@ -2149,7 +2149,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
                cbFrameBodySize += 8;
        }
 
-       if (pDevice->bEncryptionEnable == true) {
+       if (pDevice->bEncryptionEnable) {
                bNeedEncryption = true;
                // get Transmit key
                do {
@@ -2196,7 +2196,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
 
        if (pDevice->bEnableHostWEP) {
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_DEBUG "acdma0: STA index %d\n", uNodeIndex);
-               if (pDevice->bEncryptionEnable == true) {
+               if (pDevice->bEncryptionEnable) {
                        pTransmitKey = &STempKey;
                        pTransmitKey->byCipherSuite = pMgmt->sNodeDBTable[uNodeIndex].byCipherSuite;
                        pTransmitKey->dwKeyIndex = pMgmt->sNodeDBTable[uNodeIndex].dwKeyIndex;
@@ -2286,7 +2286,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
        } else if (pDevice->eCurrentPHYType == PHY_TYPE_11A) {
                byPktType = PK_TYPE_11A;
        } else {
-               if (pDevice->bProtectMode == true) {
+               if (pDevice->bProtectMode) {
                        byPktType = PK_TYPE_11GB;
                } else {
                        byPktType = PK_TYPE_11GA;
@@ -2297,7 +2297,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
 //     printk("FIX RATE:CurrentRate is %d");
 //#endif
 
-       if (bNeedEncryption == true) {
+       if (bNeedEncryption) {
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "ntohs Pkt Type=%04x\n", ntohs(pDevice->sTxEthHeader.wType));
                if ((pDevice->sTxEthHeader.wType) == TYPE_PKT_802_1x) {
                        bNeedEncryption = false;
@@ -2306,7 +2306,7 @@ static int  device_xmit(struct sk_buff *skb, struct net_device *dev) {
                                if (pTransmitKey == NULL) {
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Don't Find TX KEY\n");
                                } else {
-                                       if (bTKIP_UseGTK == true) {
+                                       if (bTKIP_UseGTK) {
                                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "error: KEY is GTK!!~~\n");
                                        } else {
                                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Find PTK [%lX]\n", pTransmitKey->dwKeyIndex);
@@ -2493,7 +2493,7 @@ static  irqreturn_t  device_intr(int irq,  void *dev_instance) {
                                MACvSelectPage0(pDevice->PortOffset);
                                //xxxx
                                // WCMDbFlushCommandQueue(pDevice->pMgmt, true);
-                               if (set_channel(pDevice, pDevice->pCurrMeasureEID->sReq.byChannel) == true) {
+                               if (set_channel(pDevice, pDevice->pCurrMeasureEID->sReq.byChannel)) {
                                        pDevice->bMeasureInProgress = true;
                                        MACvSelectPage1(pDevice->PortOffset);
                                        MACvRegBitsOn(pDevice->PortOffset, MAC_REG_MSRCTL, MSRCTL_READY);
@@ -2544,12 +2544,12 @@ static  irqreturn_t  device_intr(int irq,  void *dev_instance) {
                        if (pDevice->dwIsr & ISR_QUIETSTART) {
                                do {
                                        ;
-                               } while (CARDbStartQuiet(pDevice) == false);
+                               } while (!CARDbStartQuiet(pDevice));
                        }
                }
 
                if (pDevice->dwIsr & ISR_TBTT) {
-                       if (pDevice->bEnableFirstQuiet == true) {
+                       if (pDevice->bEnableFirstQuiet) {
                                pDevice->byQuietStartCount--;
                                if (pDevice->byQuietStartCount == 0) {
                                        pDevice->bEnableFirstQuiet = false;
@@ -2558,7 +2558,7 @@ static  irqreturn_t  device_intr(int irq,  void *dev_instance) {
                                        MACvSelectPage0(pDevice->PortOffset);
                                }
                        }
-                       if ((pDevice->bChannelSwitch == true) &&
+                       if (pDevice->bChannelSwitch &&
                            (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE)) {
                                pDevice->byChannelSwitchCount--;
                                if (pDevice->byChannelSwitchCount == 0) {
@@ -2575,7 +2575,7 @@ static  irqreturn_t  device_intr(int irq,  void *dev_instance) {
                        if (pDevice->eOPMode == OP_MODE_ADHOC) {
                                //pDevice->bBeaconSent = false;
                        } else {
-                               if ((pDevice->bUpdateBBVGA) && (pDevice->bLinkPass == true) && (pDevice->uCurrRSSI != 0)) {
+                               if ((pDevice->bUpdateBBVGA) && pDevice->bLinkPass && (pDevice->uCurrRSSI != 0)) {
                                        long            ldBm;
 
                                        RFvRSSITodBm(pDevice, (unsigned char) pDevice->uCurrRSSI, &ldBm);
@@ -2642,7 +2642,7 @@ static  irqreturn_t  device_intr(int irq,  void *dev_instance) {
                        }
                        pDevice->bBeaconSent = true;
 
-                       if (pDevice->bChannelSwitch == true) {
+                       if (pDevice->bChannelSwitch) {
                                pDevice->byChannelSwitchCount--;
                                if (pDevice->byChannelSwitchCount == 0) {
                                        pDevice->bChannelSwitch = false;
@@ -3237,7 +3237,7 @@ static int  device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) {
                        netif_stop_queue(pDevice->dev);
 #ifdef WPA_SUPPLICANT_DRIVER_WEXT_SUPPORT
                        pMgmt->eScanType = WMAC_SCAN_ACTIVE;
-                       if (pDevice->bWPASuppWextEnabled != true)
+                       if (!pDevice->bWPASuppWextEnabled)
 #endif
                                bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, pMgmt->abyDesireSSID);
                        bScheduleCommand((void *)pDevice, WLAN_CMD_SSID, NULL);
@@ -3373,7 +3373,7 @@ viawget_resume(struct pci_dev *pcid)
                spin_lock_irq(&pDevice->lock);
                MACvRestoreContext(pDevice->PortOffset, pDevice->abyMacContext);
                device_init_registers(pDevice, DEVICE_INIT_DXPL);
-               if (pMgmt->sNodeDBTable[0].bActive == true) { // Assoc with BSS
+               if (pMgmt->sNodeDBTable[0].bActive) { // Assoc with BSS
                        pMgmt->sNodeDBTable[0].bActive = false;
                        pDevice->bLinkPass = false;
                        if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) {
index 0ff51cb4a207eeb045720a3884be0eebefc11823..0a29c901541912abb0f8975227da43e5125cc7ef 100644 (file)
@@ -169,7 +169,7 @@ s_vProcessRxMACHeader(PSDevice pDevice, unsigned char *pbyRxBufferAddr,
                }
        } else {
                cbHeaderSize += WLAN_HDR_ADDR3_LEN;
-       };
+       }
 
        pbyRxBuffer = (unsigned char *)(pbyRxBufferAddr + cbHeaderSize);
        if (ether_addr_equal(pbyRxBuffer, pDevice->abySNAP_Bridgetunnel)) {
@@ -263,7 +263,7 @@ s_vGetDASA(unsigned char *pbyRxBufferAddr, unsigned int *pcbHeaderSize,
                                psEthHeader->abySrcAddr[ii] = pMACHeader->abyAddr2[ii];
                        }
                }
-       };
+       }
        *pcbHeaderSize = cbHeaderSize;
 }
 
@@ -379,7 +379,7 @@ device_receive_frame(
 
        pMACHeader = (PS802_11Header)((unsigned char *)(skb->data) + 8);
 //PLICE_DEBUG<-
-       if (pDevice->bMeasureInProgress == true) {
+       if (pDevice->bMeasureInProgress) {
                if ((*pbyRsr & RSR_CRCOK) != 0) {
                        pDevice->byBasicMap |= 0x01;
                }
@@ -436,7 +436,7 @@ device_receive_frame(
        }
 
        if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
-               if (s_bAPModeRxCtl(pDevice, pbyFrame, iSANodeIndex) == true) {
+               if (s_bAPModeRxCtl(pDevice, pbyFrame, iSANodeIndex)) {
                        return false;
                }
        }
@@ -592,7 +592,7 @@ device_receive_frame(
                        }
                } else {
                        // Control Frame
-               };
+               }
                return false;
        } else {
                if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
@@ -608,8 +608,7 @@ device_receive_frame(
                        }
                } else {
                        // discard DATA packet while not associate || BSSID error
-                       if ((pDevice->bLinkPass == false) ||
-                           !(*pbyRsr & RSR_BSSIDOK)) {
+                       if (!pDevice->bLinkPass || !(*pbyRsr & RSR_BSSIDOK)) {
                                if (bDeFragRx) {
                                        if (!device_alloc_frag_buf(pDevice, &pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx])) {
                                                DBG_PRT(MSG_LEVEL_ERR, KERN_ERR "%s: can not alloc more frag bufs\n",
@@ -658,7 +657,7 @@ device_receive_frame(
        // Now it only supports 802.11g Infrastructure Mode, and support rate must up to 54 Mbps
        if (pDevice->bDiversityEnable && (FrameSize > 50) &&
            (pDevice->eOPMode == OP_MODE_INFRASTRUCTURE) &&
-           (pDevice->bLinkPass == true)) {
+           pDevice->bLinkPass) {
                BBvAntennaDiversity(pDevice, s_byGetRateIdx(*pbyRxRate), 0);
        }
 
@@ -683,7 +682,7 @@ device_receive_frame(
 
        // -----------------------------------------------
 
-       if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && (pDevice->bEnable8021x == true)) {
+       if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && pDevice->bEnable8021x) {
                unsigned char abyMacHdr[24];
 
                // Only 802.1x packet incoming allowed
@@ -698,7 +697,7 @@ device_receive_frame(
                if (wEtherType == ETH_P_PAE) {
                        skb->dev = pDevice->apdev;
 
-                       if (bIsWEP == true) {
+                       if (bIsWEP) {
                                // strip IV header(8)
                                memcpy(&abyMacHdr[0], (skb->data + 4), 24);
                                memcpy((skb->data + 4 + cbIVOffset), &abyMacHdr[0], 24);
@@ -770,8 +769,9 @@ device_receive_frame(
                        //DBG_PRN_GRP12(("LocalL: %lx, LocalR: %lx\n", dwLocalMIC_L, dwLocalMIC_R));
                        //DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "dwMICKey0= %lx,dwMICKey1= %lx \n", dwMICKey0, dwMICKey1);
 
-                       if ((cpu_to_le32(*pdwMIC_L) != dwLocalMIC_L) || (cpu_to_le32(*pdwMIC_R) != dwLocalMIC_R) ||
-                           (pDevice->bRxMICFail == true)) {
+                       if ((cpu_to_le32(*pdwMIC_L) != dwLocalMIC_L) ||
+                           (cpu_to_le32(*pdwMIC_R) != dwLocalMIC_R) ||
+                           pDevice->bRxMICFail) {
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "MIC comparison is fail!\n");
                                pDevice->bRxMICFail = false;
                                //pDevice->s802_11Counter.TKIPLocalMICFailures.QuadPart++;
@@ -894,13 +894,13 @@ device_receive_frame(
                return false;
 
        if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
-               if (s_bAPModeRxData(pDevice,
+               if (!s_bAPModeRxData(pDevice,
                                    skb,
                                    FrameSize,
                                    cbHeaderOffset,
                                    iSANodeIndex,
                                    iDANodeIndex
-) == false) {
+)) {
                        if (bDeFragRx) {
                                if (!device_alloc_frag_buf(pDevice, &pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx])) {
                                        DBG_PRT(MSG_LEVEL_ERR, KERN_ERR "%s: can not alloc more frag bufs\n",
@@ -1123,7 +1123,7 @@ static bool s_bHandleRxEncryption(
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "pKey == NULL\n");
                if (byDecMode == KEY_CTL_WEP) {
 //            pDevice->s802_11Counter.WEPUndecryptableCount.QuadPart++;
-               } else if (pDevice->bLinkPass == true) {
+               } else if (pDevice->bLinkPass) {
 //            pDevice->s802_11Counter.DecryptFailureCount.QuadPart++;
                }
                return false;
@@ -1131,7 +1131,7 @@ static bool s_bHandleRxEncryption(
        if (byDecMode != pKey->byCipherSuite) {
                if (byDecMode == KEY_CTL_WEP) {
 //            pDevice->s802_11Counter.WEPUndecryptableCount.QuadPart++;
-               } else if (pDevice->bLinkPass == true) {
+               } else if (pDevice->bLinkPass) {
 //            pDevice->s802_11Counter.DecryptFailureCount.QuadPart++;
                }
                *pKeyOut = NULL;
@@ -1234,7 +1234,7 @@ static bool s_bHostWepRxEncryption(
        if (byDecMode != pKey->byCipherSuite) {
                if (byDecMode == KEY_CTL_WEP) {
 //            pDevice->s802_11Counter.WEPUndecryptableCount.QuadPart++;
-               } else if (pDevice->bLinkPass == true) {
+               } else if (pDevice->bLinkPass) {
 //            pDevice->s802_11Counter.DecryptFailureCount.QuadPart++;
                }
                return false;
@@ -1245,7 +1245,7 @@ static bool s_bHostWepRxEncryption(
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "byDecMode == KEY_CTL_WEP \n");
                if ((pDevice->byLocalID <= REV_ID_VT3253_A1) ||
                    (((PSKeyTable)(pKey->pvKeyTable))->bSoftWEP == true) ||
-                   (bOnFly == false)) {
+                   !bOnFly) {
                        // Software WEP
                        // 1. 3253A
                        // 2. WEP 256
@@ -1277,7 +1277,7 @@ static bool s_bHostWepRxEncryption(
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "TSC0_15: %x\n", *pwRxTSC15_0);
 
                if (byDecMode == KEY_CTL_TKIP) {
-                       if ((pDevice->byLocalID <= REV_ID_VT3253_A1) || (bOnFly == false)) {
+                       if ((pDevice->byLocalID <= REV_ID_VT3253_A1) || !bOnFly) {
                                // Software TKIP
                                // 1. 3253 A
                                // 2. NotOnFly
@@ -1297,7 +1297,7 @@ static bool s_bHostWepRxEncryption(
                }
 
                if (byDecMode == KEY_CTL_CCMP) {
-                       if (bOnFly == false) {
+                       if (!bOnFly) {
                                // Software CCMP
                                // NotOnFly
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "soft KEY_CTL_CCMP\n");
index aab0012bba92909611659b78ef982d48aec82cfb..3d30a435cabda296e43b6ff0c15f3cccccfb439c 100644 (file)
@@ -494,11 +494,11 @@ static int hostap_set_encryption(PSDevice pDevice,
        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " hostap_set_encryption: alg %d \n", param->u.crypt.alg);
 
        if (param->u.crypt.alg == WPA_ALG_NONE) {
-               if (pMgmt->sNodeDBTable[iNodeIndex].bOnFly == true) {
-                       if (KeybRemoveKey(&(pDevice->sKey),
+               if (pMgmt->sNodeDBTable[iNodeIndex].bOnFly) {
+                       if (!KeybRemoveKey(&(pDevice->sKey),
                                          param->sta_addr,
                                          pMgmt->sNodeDBTable[iNodeIndex].dwKeyIndex,
-                                         pDevice->PortOffset) == false) {
+                                         pDevice->PortOffset)) {
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "KeybRemoveKey fail \n");
                        }
                        pMgmt->sNodeDBTable[iNodeIndex].bOnFly = false;
@@ -556,7 +556,7 @@ static int hostap_set_encryption(PSDevice pDevice,
                                       (unsigned char *)abyKey,
                                       KEY_CTL_WEP,
                                       pDevice->PortOffset,
-                                      pDevice->byLocalID) == true) {
+                                      pDevice->byLocalID)) {
                                pMgmt->sNodeDBTable[iNodeIndex].bOnFly = true;
 
                        } else {
@@ -623,7 +623,7 @@ static int hostap_set_encryption(PSDevice pDevice,
                               (unsigned char *)abyKey,
                               byKeyDecMode,
                               pDevice->PortOffset,
-                              pDevice->byLocalID) == true) {
+                              pDevice->byLocalID)) {
                        pMgmt->sNodeDBTable[iNodeIndex].bOnFly = true;
 
                } else {
@@ -635,7 +635,7 @@ static int hostap_set_encryption(PSDevice pDevice,
 
        }
 
-       if (bKeyTableFull == true) {
+       if (bKeyTableFull) {
                wKeyCtl &= 0x7F00;              // clear all key control filed
                wKeyCtl |= (byKeyDecMode << 4);
                wKeyCtl |= (byKeyDecMode);
index 4bff8aa96be71689c707f858f4aed6f20d1acb17..2db4bc88e45ebc23822047956b553ee836b38041 100644 (file)
@@ -1632,7 +1632,7 @@ int iwctl_giwsens(struct net_device *dev,
                wrq->value = ldBm;
        } else {
                wrq->value = 0;
-       };
+       }
        wrq->disabled = (wrq->value == 0);
        wrq->fixed = 1;
 
index 04c1304d16e59105b9616029bc6da2a2db0f8abc..eab3b41f9e3c77b1c7d41fa18a29c56d8a17d901 100644 (file)
@@ -64,13 +64,12 @@ s_vCheckKeyTableValid(PSKeyManagement pTable, unsigned long dwIoBase)
        int i;
 
        for (i = 0; i < MAX_KEY_TABLE; i++) {
-               if ((pTable->KeyTable[i].bInUse == true) &&
-                   (pTable->KeyTable[i].PairwiseKey.bKeyValid == false) &&
-                   (pTable->KeyTable[i].GroupKey[0].bKeyValid == false) &&
-                   (pTable->KeyTable[i].GroupKey[1].bKeyValid == false) &&
-                   (pTable->KeyTable[i].GroupKey[2].bKeyValid == false) &&
-                   (pTable->KeyTable[i].GroupKey[3].bKeyValid == false)
-) {
+               if (pTable->KeyTable[i].bInUse &&
+                   !pTable->KeyTable[i].PairwiseKey.bKeyValid &&
+                   !pTable->KeyTable[i].GroupKey[0].bKeyValid &&
+                   !pTable->KeyTable[i].GroupKey[1].bKeyValid &&
+                   !pTable->KeyTable[i].GroupKey[2].bKeyValid &&
+                   !pTable->KeyTable[i].GroupKey[3].bKeyValid) {
                        pTable->KeyTable[i].bInUse = false;
                        pTable->KeyTable[i].wKeyCtl = 0;
                        pTable->KeyTable[i].bSoftWEP = false;
@@ -140,17 +139,17 @@ bool KeybGetKey(
 
        *pKey = NULL;
        for (i = 0; i < MAX_KEY_TABLE; i++) {
-               if ((pTable->KeyTable[i].bInUse == true) &&
+               if (pTable->KeyTable[i].bInUse &&
                    ether_addr_equal(pTable->KeyTable[i].abyBSSID, pbyBSSID)) {
                        if (dwKeyIndex == 0xFFFFFFFF) {
-                               if (pTable->KeyTable[i].PairwiseKey.bKeyValid == true) {
+                               if (pTable->KeyTable[i].PairwiseKey.bKeyValid) {
                                        *pKey = &(pTable->KeyTable[i].PairwiseKey);
                                        return true;
                                } else {
                                        return false;
                                }
                        } else if (dwKeyIndex < MAX_GROUP_KEY) {
-                               if (pTable->KeyTable[i].GroupKey[dwKeyIndex].bKeyValid == true) {
+                               if (pTable->KeyTable[i].GroupKey[dwKeyIndex].bKeyValid) {
                                        *pKey = &(pTable->KeyTable[i].GroupKey[dwKeyIndex]);
                                        return true;
                                } else {
@@ -202,12 +201,11 @@ bool KeybSetKey(
 
        j = (MAX_KEY_TABLE-1);
        for (i = 0; i < (MAX_KEY_TABLE - 1); i++) {
-               if ((pTable->KeyTable[i].bInUse == false) &&
-                   (j == (MAX_KEY_TABLE-1))) {
+               if (!pTable->KeyTable[i].bInUse && (j == (MAX_KEY_TABLE-1))) {
                        // found empty table
                        j = i;
                }
-               if ((pTable->KeyTable[i].bInUse == true) &&
+               if (pTable->KeyTable[i].bInUse &&
                    ether_addr_equal(pTable->KeyTable[i].abyBSSID, pbyBSSID)) {
                        // found table already exist
                        if ((dwKeyIndex & PAIRWISE_KEY) != 0) {
@@ -384,7 +382,7 @@ bool KeybRemoveKey(
        }
 
        for (i = 0; i < MAX_KEY_TABLE; i++) {
-               if ((pTable->KeyTable[i].bInUse == true) &&
+               if (pTable->KeyTable[i].bInUse &&
                    ether_addr_equal(pTable->KeyTable[i].abyBSSID, pbyBSSID)) {
                        if ((dwKeyIndex & PAIRWISE_KEY) != 0) {
                                pTable->KeyTable[i].PairwiseKey.bKeyValid = false;
@@ -428,7 +426,7 @@ bool KeybRemoveAllKey(
        int i, u;
 
        for (i = 0; i < MAX_KEY_TABLE; i++) {
-               if ((pTable->KeyTable[i].bInUse == true) &&
+               if (pTable->KeyTable[i].bInUse &&
                    ether_addr_equal(pTable->KeyTable[i].abyBSSID, pbyBSSID)) {
                        pTable->KeyTable[i].PairwiseKey.bKeyValid = false;
                        for (u = 0; u < MAX_GROUP_KEY; u++) {
@@ -461,7 +459,7 @@ void KeyvRemoveWEPKey(
 )
 {
        if ((dwKeyIndex & 0x000000FF) < MAX_GROUP_KEY) {
-               if (pTable->KeyTable[MAX_KEY_TABLE-1].bInUse == true) {
+               if (pTable->KeyTable[MAX_KEY_TABLE-1].bInUse) {
                        if (pTable->KeyTable[MAX_KEY_TABLE-1].GroupKey[dwKeyIndex & 0x000000FF].byCipherSuite == KEY_CTL_WEP) {
                                pTable->KeyTable[MAX_KEY_TABLE-1].GroupKey[dwKeyIndex & 0x000000FF].bKeyValid = false;
                                if ((dwKeyIndex & 0x7FFFFFFF) == (pTable->KeyTable[MAX_KEY_TABLE-1].dwGTKeyIndex & 0x7FFFFFFF)) {
@@ -511,10 +509,10 @@ bool KeybGetTransmitKey(
 
        *pKey = NULL;
        for (i = 0; i < MAX_KEY_TABLE; i++) {
-               if ((pTable->KeyTable[i].bInUse == true) &&
+               if (pTable->KeyTable[i].bInUse &&
                    ether_addr_equal(pTable->KeyTable[i].abyBSSID, pbyBSSID)) {
                        if (dwKeyType == PAIRWISE_KEY) {
-                               if (pTable->KeyTable[i].PairwiseKey.bKeyValid == true) {
+                               if (pTable->KeyTable[i].PairwiseKey.bKeyValid) {
                                        *pKey = &(pTable->KeyTable[i].PairwiseKey);
 
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "KeybGetTransmitKey:");
@@ -535,7 +533,7 @@ bool KeybGetTransmitKey(
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "ERROR: dwGTKeyIndex == 0 !!!\n");
                                        return false;
                                }
-                               if (pTable->KeyTable[i].GroupKey[(pTable->KeyTable[i].dwGTKeyIndex&0x000000FF)].bKeyValid == true) {
+                               if (pTable->KeyTable[i].GroupKey[(pTable->KeyTable[i].dwGTKeyIndex&0x000000FF)].bKeyValid) {
                                        *pKey = &(pTable->KeyTable[i].GroupKey[(pTable->KeyTable[i].dwGTKeyIndex&0x000000FF)]);
 
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "KeybGetTransmitKey:");
@@ -583,8 +581,8 @@ bool KeybCheckPairewiseKey(
 
        *pKey = NULL;
        for (i = 0; i < MAX_KEY_TABLE; i++) {
-               if ((pTable->KeyTable[i].bInUse == true) &&
-                   (pTable->KeyTable[i].PairwiseKey.bKeyValid == true)) {
+               if (pTable->KeyTable[i].bInUse &&
+                   pTable->KeyTable[i].PairwiseKey.bKeyValid) {
                        *pKey = &(pTable->KeyTable[i].PairwiseKey);
                        return true;
                }
@@ -657,7 +655,7 @@ bool KeybSetDefaultKey(
                pTable->KeyTable[MAX_KEY_TABLE-1].wKeyCtl |= 0x4000;              // disable on-fly disable address match
                pTable->KeyTable[MAX_KEY_TABLE-1].bSoftWEP = true;
        } else {
-               if (pTable->KeyTable[MAX_KEY_TABLE-1].bSoftWEP == false)
+               if (!pTable->KeyTable[MAX_KEY_TABLE-1].bSoftWEP)
                        pTable->KeyTable[MAX_KEY_TABLE-1].wKeyCtl |= 0xC000;          // enable on-fly disable address match
        }
 
@@ -740,7 +738,7 @@ bool KeybSetAllGroupKey(
        }
 
        for (i = 0; i < MAX_KEY_TABLE - 1; i++) {
-               if (pTable->KeyTable[i].bInUse == true) {
+               if (pTable->KeyTable[i].bInUse) {
                        // found table already exist
                        // Group key
                        pKey = &(pTable->KeyTable[i].GroupKey[dwKeyIndex & 0x000000FF]);
index 001d15c0fa40721c7188e953a970fc1ebbd8dd39..21bd8a1126d794056f87a397d708fd0236c7e755 100644 (file)
@@ -957,13 +957,13 @@ bool MACbSafeStop(unsigned long dwIoBase)
 {
        MACvRegBitsOff(dwIoBase, MAC_REG_TCR, TCR_AUTOBCNTX);
 
-       if (MACbSafeRxOff(dwIoBase) == false) {
+       if (!MACbSafeRxOff(dwIoBase)) {
                DBG_PORT80(0xA1);
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " MACbSafeRxOff == false)\n");
                MACbSafeSoftwareReset(dwIoBase);
                return false;
        }
-       if (MACbSafeTxOff(dwIoBase) == false) {
+       if (!MACbSafeTxOff(dwIoBase)) {
                DBG_PORT80(0xA2);
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " MACbSafeTxOff == false)\n");
                MACbSafeSoftwareReset(dwIoBase);
index 2340d2f0399b20da7db606837e53c64807986c55..4bd1ccb7951500653d20fba47e82f4b97581ef61 100644 (file)
@@ -260,7 +260,7 @@ PSvSendPSPOLL(
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet failed..\n");
        } else {
 //        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Send PS-Poll packet success..\n");
-       };
+       }
 
        return;
 }
@@ -284,16 +284,15 @@ PSbSendNullPacket(
        PSMgmtObject        pMgmt = pDevice->pMgmt;
        unsigned int uIdx;
 
-       if (pDevice->bLinkPass == false) {
+       if (!pDevice->bLinkPass) {
                return false;
        }
 #ifdef TxInSleep
-       if ((pDevice->bEnablePSMode == false) &&
-           (pDevice->fTxDataInSleep == false)) {
+       if (!pDevice->bEnablePSMode && !pDevice->fTxDataInSleep) {
                return false;
        }
 #else
-       if (pDevice->bEnablePSMode == false) {
+       if (!pDevice->bEnablePSMode) {
                return false;
        }
 #endif
index ce173cc16c192544da18dc3d0dddf09be1ed553a..edb1b2768b17353bc93aed5a82f929b91fb78499 100644 (file)
@@ -976,7 +976,7 @@ bool RFbSetPower(
        }
 
        bResult = RFbRawSetPower(pDevice, byPwr, uRATE);
-       if (bResult == true) {
+       if (bResult) {
                pDevice->byCurPwr = byPwr;
        }
        return bResult;
index 3a2661e2b27c42b8978f5ffb621d438e4b4f0725..6affd6edac0d75346ca9d1e5a8c69a00302bf223 100644 (file)
@@ -435,7 +435,7 @@ s_uGetDataDuration(
 
        switch (byDurType) {
        case DATADUR_B:    //DATADUR_B
-               if (((uMACfragNum == 1)) || (bLastFrag == 1)) {//Non Frag or Last Frag
+               if (((uMACfragNum == 1)) || bLastFrag) {//Non Frag or Last Frag
                        if (bNeedAck) {
                                uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate);
                                return pDevice->uSIFS + uAckTime;
@@ -458,7 +458,7 @@ s_uGetDataDuration(
                break;
 
        case DATADUR_A:    //DATADUR_A
-               if (((uMACfragNum == 1)) || (bLastFrag == 1)) {//Non Frag or Last Frag
+               if (((uMACfragNum == 1)) || bLastFrag) {//Non Frag or Last Frag
                        if (bNeedAck) {
                                uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
                                return pDevice->uSIFS + uAckTime;
@@ -481,7 +481,7 @@ s_uGetDataDuration(
                break;
 
        case DATADUR_A_F0:    //DATADUR_A_F0
-               if (((uMACfragNum == 1)) || (bLastFrag == 1)) {//Non Frag or Last Frag
+               if (((uMACfragNum == 1)) || bLastFrag) {//Non Frag or Last Frag
                        if (bNeedAck) {
                                uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
                                return pDevice->uSIFS + uAckTime;
@@ -523,7 +523,7 @@ s_uGetDataDuration(
                break;
 
        case DATADUR_A_F1:    //DATADUR_A_F1
-               if (((uMACfragNum == 1)) || (bLastFrag == 1)) {//Non Frag or Last Frag
+               if (((uMACfragNum == 1)) || bLastFrag) {//Non Frag or Last Frag
                        if (bNeedAck) {
                                uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
                                return pDevice->uSIFS + uAckTime;
@@ -2212,7 +2212,7 @@ CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket) {
        else {
                bNeedACK = true;
                pTxBufHead->wFIFOCtl |= FIFOCTL_NEEDACK;
-       };
+       }
 
        if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) ||
            (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA)) {
@@ -2686,7 +2686,7 @@ vDMA0_tx_80211(PSDevice  pDevice, struct sk_buff *skb, unsigned char *pbMPDU, un
                }
                bNeedACK = true;
                pTxBufHead->wFIFOCtl |= FIFOCTL_NEEDACK;
-       };
+       }
 
        if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) ||
            (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA)) {
index d2bdb71fe62d37a914e5d9fc0c43fff570425320..e78aedf990778088686893d6866be20d133bab5c 100644 (file)
@@ -494,7 +494,7 @@ VNTWIFIvUpdateNodeTxCounter(
                }
        }
        pMgmt->sNodeDBTable[uNodeIndex].uTxAttempts++;
-       if (bTxOk == true) {
+       if (bTxOk) {
                // transmit success, TxAttempts at least plus one
                pMgmt->sNodeDBTable[uNodeIndex].uTxOk[MAX_RATE]++;
                pMgmt->sNodeDBTable[uNodeIndex].uTxOk[wRate]++;
@@ -584,7 +584,7 @@ VNTWIFIbyGetKeyCypher(
 {
        PSMgmtObject    pMgmt = (PSMgmtObject)pMgmtHandle;
 
-       if (bGroupKey == true) {
+       if (bGroupKey) {
                return pMgmt->byCSSGK;
        } else {
                return pMgmt->byCSSPK;
@@ -731,7 +731,7 @@ VNTWIFIbMeasureReport(
                pMgmt->uLengthOfRepEIDs += (2 + pMgmt->pCurrMeasureEIDRep->len);
                pMgmt->pCurrMeasureEIDRep = (PWLAN_IE_MEASURE_REP) pbyCurrentEID;
        }
-       if (bEndOfReport == true) {
+       if (bEndOfReport) {
                IEEE11hbMSRRepTx(pMgmt);
        }
        //spin_unlock_irq(&pDevice->lock);
index 9c57eefe78fb12c9109a6aa2930046f3cf03c41b..72caaa203ddc3e5fb5c0a62625f27d80f12ac7ca 100644 (file)
@@ -317,7 +317,7 @@ vCommandTimer(
 
        if (pDevice->dwDiagRefCount != 0)
                return;
-       if (pDevice->bCmdRunning != true)
+       if (!pDevice->bCmdRunning)
                return;
 
        spin_lock_irq(&pDevice->lock);
@@ -326,7 +326,7 @@ vCommandTimer(
        case WLAN_CMD_SCAN_START:
 
                pDevice->byReAssocCount = 0;
-               if (pDevice->bRadioOff == true) {
+               if (pDevice->bRadioOff) {
                        s_bCommandComplete(pDevice);
                        spin_unlock_irq(&pDevice->lock);
                        return;
@@ -393,7 +393,7 @@ vCommandTimer(
 
                        vAdHocBeaconStop(pDevice);
 
-                       if (set_channel(pMgmt->pAdapter, pMgmt->uScanChannel) == true) {
+                       if (set_channel(pMgmt->pAdapter, pMgmt->uScanChannel)) {
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "SCAN Channel: %d\n", pMgmt->uScanChannel);
                        } else {
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "SET SCAN Channel Fail: %d\n", pMgmt->uScanChannel);
@@ -408,7 +408,7 @@ vCommandTimer(
 
                        }
 
-                       if ((pMgmt->b11hEnable == false) ||
+                       if (!pMgmt->b11hEnable ||
                            (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) {
                                s_vProbeChannel(pDevice);
                                spin_unlock_irq(&pDevice->lock);
@@ -498,7 +498,7 @@ vCommandTimer(
 
        case WLAN_CMD_SSID_START:
                pDevice->byReAssocCount = 0;
-               if (pDevice->bRadioOff == true) {
+               if (pDevice->bRadioOff) {
                        s_bCommandComplete(pDevice);
                        spin_unlock_irq(&pDevice->lock);
                        return;
@@ -659,7 +659,7 @@ vCommandTimer(
                                netif_wake_queue(pDevice->dev);
                        }
 #ifdef TxInSleep
-                       if (pDevice->IsTxDataTrigger != false)   {    //TxDataTimer is not triggered at the first time
+                       if (pDevice->IsTxDataTrigger) {    //TxDataTimer is not triggered at the first time
                                del_timer(&pDevice->sTimerTxData);
                                init_timer(&pDevice->sTimerTxData);
                                pDevice->sTimerTxData.data = (unsigned long) pDevice;
@@ -694,7 +694,7 @@ vCommandTimer(
                        pMgmt->eCurrState = WMAC_STATE_IDLE;
                        pMgmt->eCurrMode = WMAC_MODE_STANDBY;
                        pDevice->bLinkPass = false;
-                       if (pDevice->bEnableHostWEP == true)
+                       if (pDevice->bEnableHostWEP)
                                BSSvClearNodeDBTable(pDevice, 1);
                        else
                                BSSvClearNodeDBTable(pDevice, 0);
@@ -776,7 +776,7 @@ vCommandTimer(
 
        case WLAN_CMD_RADIO_START:
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "eCommandState == WLAN_CMD_RADIO_START\n");
-               if (pDevice->bRadioCmd == true)
+               if (pDevice->bRadioCmd)
                        CARDbRadioPowerOn(pDevice);
                else
                        CARDbRadioPowerOff(pDevice);
@@ -948,7 +948,7 @@ bool bScheduleCommand(
        ADD_ONE_WITH_WRAP_AROUND(pDevice->uCmdEnqueueIdx, CMD_Q_SIZE);
        pDevice->cbFreeCmdQueue--;
 
-       if (pDevice->bCmdRunning == false) {
+       if (!pDevice->bCmdRunning) {
                s_bCommandComplete(pDevice);
        } else {
        }
@@ -1031,8 +1031,8 @@ BSSvSecondTxData(
 
        spin_lock_irq(&pDevice->lock);
 #if 1
-       if (((pDevice->bLinkPass == true) && (pMgmt->eAuthenMode < WMAC_AUTH_WPA)) ||  //open && sharekey linking
-          (pDevice->fWPA_Authened == true)) {   //wpa linking
+       if ((pDevice->bLinkPass && (pMgmt->eAuthenMode < WMAC_AUTH_WPA)) ||  //open && sharekey linking
+           pDevice->fWPA_Authened) {   //wpa linking
 #else
                if (pDevice->bLinkPass == true) {
 #endif
index f05f9f55398bf7a390068495b60ace381a978bc7..950039f6d1284fe1283bc632fc1164dbd3347be8 100644 (file)
@@ -110,7 +110,7 @@ unsigned int WCTLuSearchDFCB(PSDevice pDevice, PS802_11Header pMACHeader)
        unsigned int ii;
 
        for (ii = 0; ii < pDevice->cbDFCB; ii++) {
-               if ((pDevice->sRxDFCB[ii].bInUse == true) &&
+               if (pDevice->sRxDFCB[ii].bInUse &&
                    ether_addr_equal(pDevice->sRxDFCB[ii].abyAddr2,
                                     pMACHeader->abyAddr2)) {
                        //
@@ -141,7 +141,7 @@ unsigned int WCTLuInsertDFCB(PSDevice pDevice, PS802_11Header pMACHeader)
        if (pDevice->cbFreeDFCB == 0)
                return pDevice->cbDFCB;
        for (ii = 0; ii < pDevice->cbDFCB; ii++) {
-               if (pDevice->sRxDFCB[ii].bInUse == false) {
+               if (!pDevice->sRxDFCB[ii].bInUse) {
                        pDevice->cbFreeDFCB--;
                        pDevice->sRxDFCB[ii].uLifetime = pDevice->dwMaxReceiveLifetime;
                        pDevice->sRxDFCB[ii].bInUse = true;
@@ -174,7 +174,7 @@ bool WCTLbHandleFragment(PSDevice pDevice, PS802_11Header pMACHeader, unsigned i
 {
        unsigned int uHeaderSize;
 
-       if (bWEP == true) {
+       if (bWEP) {
                uHeaderSize = 28;
                if (bExtIV)
                        // ExtIV
index ed4b32b6d9cee7c4fdf8e1ca6c33ea61b06f928c..5200a2a0ecca93dc68626d6cc3434e241bdf0800 100644 (file)
@@ -468,15 +468,15 @@ vMgrAssocBeginSta(
        // ERP Phy (802.11g) should support short preamble.
        if (pMgmt->eCurrentPHYMode == PHY_TYPE_11G) {
                pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTPREAMBLE(1);
-               if (CARDbIsShorSlotTime(pMgmt->pAdapter) == true) {
+               if (CARDbIsShorSlotTime(pMgmt->pAdapter)) {
                        pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTSLOTTIME(1);
                }
        } else if (pMgmt->eCurrentPHYMode == PHY_TYPE_11B) {
-               if (CARDbIsShortPreamble(pMgmt->pAdapter) == true) {
+               if (CARDbIsShortPreamble(pMgmt->pAdapter)) {
                        pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTPREAMBLE(1);
                }
        }
-       if (pMgmt->b11hEnable == true)
+       if (pMgmt->b11hEnable)
                pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SPECTRUMMNG(1);
 
        /* build an assocreq frame and send it */
@@ -539,15 +539,15 @@ vMgrReAssocBeginSta(
        // ERP Phy (802.11g) should support short preamble.
        if (pMgmt->eCurrentPHYMode == PHY_TYPE_11G) {
                pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTPREAMBLE(1);
-               if (CARDbIsShorSlotTime(pMgmt->pAdapter) == true) {
+               if (CARDbIsShorSlotTime(pMgmt->pAdapter)) {
                        pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTSLOTTIME(1);
                }
        } else if (pMgmt->eCurrentPHYMode == PHY_TYPE_11B) {
-               if (CARDbIsShortPreamble(pMgmt->pAdapter) == true) {
+               if (CARDbIsShortPreamble(pMgmt->pAdapter)) {
                        pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SHORTPREAMBLE(1);
                }
        }
-       if (pMgmt->b11hEnable == true)
+       if (pMgmt->b11hEnable)
                pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SPECTRUMMNG(1);
 
        pTxPacket = s_MgrMakeReAssocRequest
@@ -736,7 +736,7 @@ s_vMgrRxAssocRequest(
                        pDevice->bProtectMode = true;
                        pDevice->bNonERPPresent = true;
                }
-               if (pMgmt->sNodeDBTable[uNodeIndex].bShortPreamble == false) {
+               if (!pMgmt->sNodeDBTable[uNodeIndex].bShortPreamble) {
                        pDevice->bBarkerPreambleMd = true;
                }
 
@@ -891,7 +891,7 @@ s_vMgrRxReAssocRequest(
                        pDevice->bProtectMode = true;
                        pDevice->bNonERPPresent = true;
                }
-               if (pMgmt->sNodeDBTable[uNodeIndex].bShortPreamble == false) {
+               if (!pMgmt->sNodeDBTable[uNodeIndex].bShortPreamble) {
                        pDevice->bBarkerPreambleMd = true;
                }
 
@@ -1719,7 +1719,7 @@ s_vMgrRxDeauthentication(
                }
                /* else, ignore it.  TODO: IBSS authentication service
                   would be implemented here */
-       };
+       }
        return;
 }
 
@@ -1837,7 +1837,7 @@ s_vMgrRxBeacon(
                bChannelHit = true;
        }
 //2008-0730-01<Add>by MikeLiu
-       if (ChannelExceedZoneType(pDevice, byCurrChannel) == true)
+       if (ChannelExceedZoneType(pDevice, byCurrChannel))
                return;
 
        if (sFrame.pERP != NULL) {
@@ -1957,9 +1957,9 @@ s_vMgrRxBeacon(
                }
        }
 
-       if ((WLAN_GET_CAP_INFO_ESS(*sFrame.pwCapInfo) == true) &&
-           (bIsBSSIDEqual == true) &&
-           (bIsSSIDEqual == true) &&
+       if (WLAN_GET_CAP_INFO_ESS(*sFrame.pwCapInfo) &&
+           bIsBSSIDEqual &&
+           bIsSSIDEqual &&
            (pMgmt->eCurrMode == WMAC_MODE_ESS_STA) &&
            (pMgmt->eCurrState == WMAC_STATE_ASSOC)) {
                // add state check to prevent reconnect fail since we'll receive Beacon
@@ -2001,7 +2001,7 @@ s_vMgrRxBeacon(
                                          &(pMgmt->sNodeDBTable[0].byTopCCKBasicRate),
                                          &(pMgmt->sNodeDBTable[0].byTopOFDMBasicRate)
                                );
-                       if (bUpdatePhyParameter == true) {
+                       if (bUpdatePhyParameter) {
                                CARDbSetPhyParameter(pMgmt->pAdapter,
                                                     pMgmt->eCurrentPHYMode,
                                                     pMgmt->wCurrCapInfo,
@@ -2023,7 +2023,7 @@ s_vMgrRxBeacon(
                                                   sFrame.pIE_CHSW->byCount
                                        );
 
-                       } else if (bIsChannelEqual == false) {
+                       } else if (!bIsChannelEqual) {
                                set_channel(pMgmt->pAdapter, pBSSList->uChannel);
                        }
                }
@@ -2067,12 +2067,12 @@ s_vMgrRxBeacon(
        }
 
        // if infra mode
-       if (bIsAPBeacon == true) {
+       if (bIsAPBeacon) {
                // Infra mode: Local TSF always follow AP's TSF if Difference huge.
                if (bTSFLargeDiff)
                        bUpdateTSF = true;
 
-               if ((pDevice->bEnablePSMode == true) && (sFrame.pTIM != 0)) {
+               if (pDevice->bEnablePSMode && (sFrame.pTIM != 0)) {
                        // deal with DTIM, analysis TIM
                        pMgmt->bMulticastTIM = WLAN_MGMT_IS_MULTICAST_TIM(sFrame.pTIM->byBitMapCtl) ? true : false;
                        pMgmt->byDTIMCount = sFrame.pTIM->byDTIMCount;
@@ -2092,10 +2092,10 @@ s_vMgrRxBeacon(
                                        pMgmt->bInTIM = sFrame.pTIM->byVirtBitMap[uLocateByteIndex] & byTIMBitOn ? true : false;
                                } else {
                                        pMgmt->bInTIM = false;
-                               };
+                               }
                        } else {
                                pMgmt->bInTIM = false;
-                       };
+                       }
 
                        if (pMgmt->bInTIM ||
                            (pMgmt->bMulticastTIM && (pMgmt->byDTIMCount == 0))) {
@@ -2110,7 +2110,7 @@ s_vMgrRxBeacon(
                        } else {
                                pMgmt->bInTIMWake = false;
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "BCN: Not In TIM..\n");
-                               if (pDevice->bPWBitOn == false) {
+                               if (!pDevice->bPWBitOn) {
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "BCN: Send Null Packet\n");
                                        if (PSbSendNullPacket(pDevice))
                                                pDevice->bPWBitOn = true;
@@ -2332,10 +2332,10 @@ vMgrCreateOwnIBSS(
        }
 
        // Disable Protect Mode
-       pDevice->bProtectMode = 0;
+       pDevice->bProtectMode = false;
        MACvDisableProtectMD(pDevice->PortOffset);
 
-       pDevice->bBarkerPreambleMd = 0;
+       pDevice->bBarkerPreambleMd = false;
        MACvDisableBarkerPreambleMd(pDevice->PortOffset);
 
        // Kyle Test 2003.11.04
@@ -2480,7 +2480,7 @@ vMgrCreateOwnIBSS(
                pMgmt->wCurrCapInfo &= (~WLAN_SET_CAP_INFO_SHORTPREAMBLE(1));
        }
 
-       if ((pMgmt->b11hEnable == true) &&
+       if (pMgmt->b11hEnable &&
            (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) {
                pMgmt->wCurrCapInfo |= WLAN_SET_CAP_INFO_SPECTRUMMNG(1);
        } else {
@@ -2530,7 +2530,7 @@ vMgrJoinBSSBegin(
        unsigned char byTopOFDMBasicRate = RATE_1M;
 
        for (ii = 0; ii < MAX_BSS_NUM; ii++) {
-               if (pMgmt->sBSSList[ii].bActive == true)
+               if (pMgmt->sBSSList[ii].bActive)
                        break;
        }
 
@@ -2656,7 +2656,7 @@ vMgrJoinBSSBegin(
                        if (pMgmt->eAuthenMode == WMAC_AUTH_WPA2) {
                                bool bResult = bAdd_PMKID_Candidate((void *)pDevice, pMgmt->abyCurrBSSID, &pCurr->sRSNCapObj);
                                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "bAdd_PMKID_Candidate: 1(%d)\n", bResult);
-                               if (bResult == false) {
+                               if (!bResult) {
                                        vFlush_PMKID_Candidate((void *)pDevice);
                                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "vFlush_PMKID_Candidate: 4\n");
                                        bAdd_PMKID_Candidate((void *)pDevice, pMgmt->abyCurrBSSID, &pCurr->sRSNCapObj);
@@ -2671,19 +2671,19 @@ vMgrJoinBSSBegin(
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "End of Join AP -- A/B/G Action\n");
                } else {
                        pMgmt->eCurrState = WMAC_STATE_IDLE;
-               };
+               }
 
        } else {
                // ad-hoc mode BSS
                if (pMgmt->eAuthenMode == WMAC_AUTH_WPANONE) {
                        if (pDevice->eEncryptionStatus == Ndis802_11Encryption2Enabled) {
-                               if (WPA_SearchRSN(0, WPA_TKIP, pCurr) == false) {
+                               if (!WPA_SearchRSN(0, WPA_TKIP, pCurr)) {
                                        // encryption mode error
                                        pMgmt->eCurrState = WMAC_STATE_IDLE;
                                        return;
                                }
                        } else if (pDevice->eEncryptionStatus == Ndis802_11Encryption3Enabled) {
-                               if (WPA_SearchRSN(0, WPA_AESCCMP, pCurr) == false) {
+                               if (!WPA_SearchRSN(0, WPA_AESCCMP, pCurr)) {
                                        // encryption mode error
                                        pMgmt->eCurrState = WMAC_STATE_IDLE;
                                        return;
@@ -2740,8 +2740,8 @@ vMgrJoinBSSBegin(
                        bMgrPrepareBeaconToSend((void *)pDevice, pMgmt);
                } else {
                        pMgmt->eCurrState = WMAC_STATE_IDLE;
-               };
-       };
+               }
+       }
        return;
 }
 
@@ -2776,10 +2776,10 @@ s_vMgrSynchBSS(
 
        *pStatus = CMD_STATUS_FAILURE;
 
-       if (s_bCipherMatch(pCurr,
+       if (!s_bCipherMatch(pCurr,
                           pDevice->eEncryptionStatus,
                           &(pMgmt->byCSSPK),
-                          &(pMgmt->byCSSGK)) == false) {
+                          &(pMgmt->byCSSGK))) {
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "s_bCipherMatch Fail .......\n");
                return;
        }
@@ -2869,18 +2869,17 @@ s_vMgrSynchBSS(
                CARDbSetBSSID(pMgmt->pAdapter, pCurr->abyBSSID, OP_MODE_ADHOC);
        }
 
-       if (CARDbSetPhyParameter(pMgmt->pAdapter,
+       if (!CARDbSetPhyParameter(pMgmt->pAdapter,
                                 ePhyType,
                                 pCurr->wCapInfo,
                                 pCurr->sERP.byERP,
                                 pMgmt->abyCurrSuppRates,
-                                pMgmt->abyCurrExtSuppRates
-                   ) != true) {
+                                pMgmt->abyCurrExtSuppRates)) {
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "<----s_bSynchBSS Set Phy Mode Fail [%d]\n", ePhyType);
                return;
        }
        // set channel and clear NAV
-       if (set_channel(pMgmt->pAdapter, pCurr->uChannel) == false) {
+       if (!set_channel(pMgmt->pAdapter, pCurr->uChannel)) {
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "<----s_bSynchBSS Set Channel [%d]\n", pCurr->uChannel);
                return;
        }
@@ -2924,7 +2923,7 @@ static void  Encyption_Rebuild(
 
        if ((pMgmt->eAuthenMode == WMAC_AUTH_WPAPSK) ||           //networkmanager 0.7.0 does not give the pairwise-key selection,
            (pMgmt->eAuthenMode == WMAC_AUTH_WPA2PSK)) {         // so we need re-select it according to real pairwise-key info.
-               if (pCurr->bWPAValid == true)  {   //WPA-PSK
+               if (pCurr->bWPAValid)  {   //WPA-PSK
                        pMgmt->eAuthenMode = WMAC_AUTH_WPAPSK;
                        if (pCurr->abyPKType[0] == WPA_TKIP) {
                                pDevice->eEncryptionStatus = Ndis802_11Encryption2Enabled;    //TKIP
@@ -2933,7 +2932,7 @@ static void  Encyption_Rebuild(
                                pDevice->eEncryptionStatus = Ndis802_11Encryption3Enabled;    //AES
                                PRINT_K("Encyption_Rebuild--->ssid reset config to [WPAPSK-AES]\n");
                        }
-               } else if (pCurr->bWPA2Valid == true) {  //WPA2-PSK
+               } else if (pCurr->bWPA2Valid) {  //WPA2-PSK
                        pMgmt->eAuthenMode = WMAC_AUTH_WPA2PSK;
                        if (pCurr->abyCSSPK[0] == WLAN_11i_CSS_TKIP) {
                                pDevice->eEncryptionStatus = Ndis802_11Encryption2Enabled;     //TKIP
@@ -3150,8 +3149,7 @@ s_MgrMakeBeacon(
                }
        }
 
-       if ((pMgmt->b11hEnable == true) &&
-           (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) {
+       if (pMgmt->b11hEnable && (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) {
                // Country IE
                pbyBuffer = (unsigned char *)(sFrame.pBuf + sFrame.len);
                set_country_IE(pMgmt->pAdapter, pbyBuffer);
@@ -3164,7 +3162,7 @@ s_MgrMakeBeacon(
                ((PWLAN_IE_PW_CONST) pbyBuffer)->byPower = 0;
                pbyBuffer += (1) + WLAN_IEHDR_LEN;
                uLength += (1) + WLAN_IEHDR_LEN;
-               if (pMgmt->bSwitchChannel == true) {
+               if (pMgmt->bSwitchChannel) {
                        // Channel Switch IE
                        ((PWLAN_IE_CH_SW) pbyBuffer)->byElementID = WLAN_EID_CH_SWITCH;
                        ((PWLAN_IE_CH_SW) pbyBuffer)->len = 3;
@@ -3193,7 +3191,7 @@ s_MgrMakeBeacon(
                        pbyBuffer += (7) + WLAN_IEHDR_LEN;
                        uLength += (7) + WLAN_IEHDR_LEN;
                        for (ii = CB_MAX_CHANNEL_24G+1; ii <= CB_MAX_CHANNEL; ii++) {
-                               if (get_channel_map_info(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1) == true) {
+                               if (get_channel_map_info(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1)) {
                                        pbyBuffer += 2;
                                        uLength += 2;
                                        pIBSSDFS->len += 2;
@@ -3209,11 +3207,11 @@ s_MgrMakeBeacon(
                sFrame.pERP->byElementID = WLAN_EID_ERP;
                sFrame.pERP->len = 1;
                sFrame.pERP->byContext = 0;
-               if (pDevice->bProtectMode == true)
+               if (pDevice->bProtectMode)
                        sFrame.pERP->byContext |= WLAN_EID_ERP_USE_PROTECTION;
-               if (pDevice->bNonERPPresent == true)
+               if (pDevice->bNonERPPresent)
                        sFrame.pERP->byContext |= WLAN_EID_ERP_NONERP_PRESENT;
-               if (pDevice->bBarkerPreambleMd == true)
+               if (pDevice->bBarkerPreambleMd)
                        sFrame.pERP->byContext |= WLAN_EID_ERP_BARKER_MODE;
        }
        if (((PWLAN_IE_SUPP_RATES)pCurrExtSuppRates)->len != 0) {
@@ -3225,7 +3223,7 @@ s_MgrMakeBeacon(
 );
        }
        // hostapd wpa/wpa2 IE
-       if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && (pDevice->bEnableHostapd == true)) {
+       if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && pDevice->bEnableHostapd) {
                if (pMgmt->eAuthenMode == WMAC_AUTH_WPANONE) {
                        if (pMgmt->wWPAIELen != 0) {
                                sFrame.pRSN = (PWLAN_IE_RSN)(sFrame.pBuf + sFrame.len);
@@ -3338,16 +3336,15 @@ s_MgrMakeProbeResponse(
                sFrame.pERP->byElementID = WLAN_EID_ERP;
                sFrame.pERP->len = 1;
                sFrame.pERP->byContext = 0;
-               if (pDevice->bProtectMode == true)
+               if (pDevice->bProtectMode)
                        sFrame.pERP->byContext |= WLAN_EID_ERP_USE_PROTECTION;
-               if (pDevice->bNonERPPresent == true)
+               if (pDevice->bNonERPPresent)
                        sFrame.pERP->byContext |= WLAN_EID_ERP_NONERP_PRESENT;
-               if (pDevice->bBarkerPreambleMd == true)
+               if (pDevice->bBarkerPreambleMd)
                        sFrame.pERP->byContext |= WLAN_EID_ERP_BARKER_MODE;
        }
 
-       if ((pMgmt->b11hEnable == true) &&
-           (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) {
+       if (pMgmt->b11hEnable && (pMgmt->eCurrentPHYMode == PHY_TYPE_11A)) {
                // Country IE
                pbyBuffer = (unsigned char *)(sFrame.pBuf + sFrame.len);
                set_country_IE(pMgmt->pAdapter, pbyBuffer);
@@ -3360,7 +3357,7 @@ s_MgrMakeProbeResponse(
                ((PWLAN_IE_PW_CONST) pbyBuffer)->byPower = 0;
                pbyBuffer += (1) + WLAN_IEHDR_LEN;
                uLength += (1) + WLAN_IEHDR_LEN;
-               if (pMgmt->bSwitchChannel == true) {
+               if (pMgmt->bSwitchChannel) {
                        // Channel Switch IE
                        ((PWLAN_IE_CH_SW) pbyBuffer)->byElementID = WLAN_EID_CH_SWITCH;
                        ((PWLAN_IE_CH_SW) pbyBuffer)->len = 3;
@@ -3389,7 +3386,7 @@ s_MgrMakeProbeResponse(
                        pbyBuffer += (7) + WLAN_IEHDR_LEN;
                        uLength += (7) + WLAN_IEHDR_LEN;
                        for (ii = CB_MAX_CHANNEL_24G + 1; ii <= CB_MAX_CHANNEL; ii++) {
-                               if (get_channel_map_info(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1) == true) {
+                               if (get_channel_map_info(pMgmt->pAdapter, ii, pbyBuffer, pbyBuffer+1)) {
                                        pbyBuffer += 2;
                                        uLength += 2;
                                        pIBSSDFS->len += 2;
@@ -3409,7 +3406,7 @@ s_MgrMakeProbeResponse(
        }
 
        // hostapd wpa/wpa2 IE
-       if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && (pDevice->bEnableHostapd == true)) {
+       if ((pMgmt->eCurrMode == WMAC_MODE_ESS_AP) && pDevice->bEnableHostapd) {
                if (pMgmt->eAuthenMode == WMAC_AUTH_WPANONE) {
                        if (pMgmt->wWPAIELen != 0) {
                                sFrame.pRSN = (PWLAN_IE_RSN)(sFrame.pBuf + sFrame.len);
@@ -3507,7 +3504,7 @@ s_MgrMakeAssocRequest(
        pbyIEs += pCurrRates->len + WLAN_IEHDR_LEN;
 
        // for 802.11h
-       if (pMgmt->b11hEnable == true) {
+       if (pMgmt->b11hEnable) {
                if (sFrame.pCurrPowerCap == NULL) {
                        sFrame.pCurrPowerCap = (PWLAN_IE_PW_CAP)(sFrame.pBuf + sFrame.len);
                        sFrame.len += (2 + WLAN_IEHDR_LEN);
@@ -3650,7 +3647,7 @@ s_MgrMakeAssocRequest(
                sFrame.pRSN->len += 6;
 
                // RSN Capabilities
-               if (pMgmt->pCurrBSS->sRSNCapObj.bRSNCapExist == true) {
+               if (pMgmt->pCurrBSS->sRSNCapObj.bRSNCapExist) {
                        memcpy(&sFrame.pRSN->abyRSN[16], &pMgmt->pCurrBSS->sRSNCapObj.wRSNCap, 2);
                } else {
                        sFrame.pRSN->abyRSN[16] = 0;
@@ -3658,7 +3655,7 @@ s_MgrMakeAssocRequest(
                }
                sFrame.pRSN->len += 2;
 
-               if ((pDevice->gsPMKID.BSSIDInfoCount > 0) && (pDevice->bRoaming == true) && (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) {
+               if ((pDevice->gsPMKID.BSSIDInfoCount > 0) && pDevice->bRoaming && (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) {
                        // RSN PMKID
                        pbyRSN = &sFrame.pRSN->abyRSN[18];
                        pwPMKID = (unsigned short *)pbyRSN; // Point to PMKID count
@@ -3896,7 +3893,7 @@ s_MgrMakeReAssocRequest(
                sFrame.pRSN->len += 6;
 
                // RSN Capabilities
-               if (pMgmt->pCurrBSS->sRSNCapObj.bRSNCapExist == true) {
+               if (pMgmt->pCurrBSS->sRSNCapObj.bRSNCapExist) {
                        memcpy(&sFrame.pRSN->abyRSN[16], &pMgmt->pCurrBSS->sRSNCapObj.wRSNCap, 2);
                } else {
                        sFrame.pRSN->abyRSN[16] = 0;
@@ -3904,7 +3901,7 @@ s_MgrMakeReAssocRequest(
                }
                sFrame.pRSN->len += 2;
 
-               if ((pDevice->gsPMKID.BSSIDInfoCount > 0) && (pDevice->bRoaming == true) && (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) {
+               if ((pDevice->gsPMKID.BSSIDInfoCount > 0) && pDevice->bRoaming && (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) {
                        // RSN PMKID
                        pbyRSN = &sFrame.pRSN->abyRSN[18];
                        pwPMKID = (unsigned short *)pbyRSN; // Point to PMKID count
@@ -4141,7 +4138,7 @@ s_vMgrRxProbeResponse(
        }
 
 //2008-0730-01<Add>by MikeLiu
-       if (ChannelExceedZoneType(pDevice, byCurrChannel) == true)
+       if (ChannelExceedZoneType(pDevice, byCurrChannel))
                return;
 
        if (sFrame.pERP != NULL) {
@@ -4578,7 +4575,7 @@ bAdd_PMKID_Candidate(
        for (ii = 0; ii < pDevice->gsPMKIDCandidate.NumCandidates; ii++) {
                pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[ii];
                if (!memcmp(pCandidateList->BSSID, pbyBSSID, ETH_ALEN)) {
-                       if ((psRSNCapObj->bRSNCapExist == true) && (psRSNCapObj->wRSNCap & BIT0)) {
+                       if (psRSNCapObj->bRSNCapExist && (psRSNCapObj->wRSNCap & BIT0)) {
                                pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED;
                        } else {
                                pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED);
@@ -4589,7 +4586,7 @@ bAdd_PMKID_Candidate(
 
        // New Candidate
        pCandidateList = &pDevice->gsPMKIDCandidate.CandidateList[pDevice->gsPMKIDCandidate.NumCandidates];
-       if ((psRSNCapObj->bRSNCapExist == true) && (psRSNCapObj->wRSNCap & BIT0)) {
+       if (psRSNCapObj->bRSNCapExist && (psRSNCapObj->wRSNCap & BIT0)) {
                pCandidateList->Flags |= NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED;
        } else {
                pCandidateList->Flags &= ~(NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED);
@@ -4650,7 +4647,7 @@ s_bCipherMatch(
        }
 
        if ((WLAN_GET_CAP_INFO_PRIVACY(pBSSNode->wCapInfo) != 0) &&
-           (pBSSNode->bWPA2Valid == true) &&
+           pBSSNode->bWPA2Valid &&
            //20080123-01,<Add> by Einsn Liu
            ((EncStatus == Ndis802_11Encryption3Enabled) || (EncStatus == Ndis802_11Encryption2Enabled))) {
                //WPA2
@@ -4684,7 +4681,7 @@ s_bCipherMatch(
                }
 
        } else if ((WLAN_GET_CAP_INFO_PRIVACY(pBSSNode->wCapInfo) != 0) &&
-                  (pBSSNode->bWPAValid == true) &&
+                  pBSSNode->bWPAValid &&
                   ((EncStatus == Ndis802_11Encryption3Enabled) || (EncStatus == Ndis802_11Encryption2Enabled))) {
                //WPA
                // check Group Key Cipher
index b697fa6c3b16af995f1af746529b478c6e0df7bf..990ea0f9e9fbfd07930c681d0e2da14c94d18d86 100644 (file)
@@ -241,7 +241,7 @@ WPA_SearchRSN(
        int ii;
        unsigned char byPKType = WPA_NONE;
 
-       if (pBSSList->bWPAValid == false)
+       if (!pBSSList->bWPAValid)
                return false;
 
        switch (byCmd) {
index 089788dfba633001b0682b99f6f27d68e266b2f6..2013122e92b26ca38e04054fc53a41d2e282e7f1 100644 (file)
@@ -42,14 +42,14 @@ static int msglevel = MSG_LEVEL_INFO;
 
 /*---------------------  Static Variables  --------------------------*/
 
-const unsigned char abyOUIGK[4]      = { 0x00, 0x0F, 0xAC, 0x00 };
-const unsigned char abyOUIWEP40[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
-const unsigned char abyOUIWEP104[4]  = { 0x00, 0x0F, 0xAC, 0x05 };
-const unsigned char abyOUITKIP[4]    = { 0x00, 0x0F, 0xAC, 0x02 };
-const unsigned char abyOUICCMP[4]    = { 0x00, 0x0F, 0xAC, 0x04 };
+static const unsigned char abyOUIGK[4]      = { 0x00, 0x0F, 0xAC, 0x00 };
+static const unsigned char abyOUIWEP40[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
+static const unsigned char abyOUIWEP104[4]  = { 0x00, 0x0F, 0xAC, 0x05 };
+static const unsigned char abyOUITKIP[4]    = { 0x00, 0x0F, 0xAC, 0x02 };
+static const unsigned char abyOUICCMP[4]    = { 0x00, 0x0F, 0xAC, 0x04 };
 
-const unsigned char abyOUI8021X[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
-const unsigned char abyOUIPSK[4]     = { 0x00, 0x0F, 0xAC, 0x02 };
+static const unsigned char abyOUI8021X[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
+static const unsigned char abyOUIPSK[4]     = { 0x00, 0x0F, 0xAC, 0x02 };
 
 /*---------------------  Static Functions  --------------------------*/
 
@@ -192,7 +192,7 @@ WPA2vParseRSN(
                                        break;
                        } //for
 
-                       if (bUseGK == true) {
+                       if (bUseGK) {
                                if (j != 1) {
                                        // invalid CSS, This should be only PK CSS.
                                        return;
@@ -335,7 +335,7 @@ WPA2uSetIEs(
                pRSNIEs->len += 2;
 
                if ((pMgmt->gsPMKIDCache.BSSIDInfoCount > 0) &&
-                   (pMgmt->bRoaming == true) &&
+                   pMgmt->bRoaming &&
                    (pMgmt->eAuthenMode == WMAC_AUTH_WPA2)) {
                        // RSN PMKID
                        pwPMKID = (unsigned short *)(&pRSNIEs->abyRSN[18]);  // Point to PMKID count
index 044368a46c53f332d45f9387722563143139c468..ee83704e440139d2c0d713512ef3e864584eec20 100644 (file)
@@ -341,22 +341,22 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, bool fcpfkernel)
                // If is_broadcast_ether_addr, set the key as every key entry's group key.
                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Groupe Key Assign.\n");
 
-               if ((KeybSetAllGroupKey(&(pDevice->sKey),
+               if (KeybSetAllGroupKey(&(pDevice->sKey),
                                        dwKeyIndex,
                                        param->u.wpa_key.key_len,
                                        (PQWORD) &(KeyRSC),
                                        (unsigned char *)abyKey,
                                        byKeyDecMode,
                                        pDevice->PortOffset,
-                                       pDevice->byLocalID) == true) &&
-                   (KeybSetDefaultKey(&(pDevice->sKey),
+                                       pDevice->byLocalID) &&
+                   KeybSetDefaultKey(&(pDevice->sKey),
                                       dwKeyIndex,
                                       param->u.wpa_key.key_len,
                                       (PQWORD) &(KeyRSC),
                                       (unsigned char *)abyKey,
                                       byKeyDecMode,
                                       pDevice->PortOffset,
-                                      pDevice->byLocalID) == true)) {
+                                      pDevice->byLocalID)) {
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "GROUP Key Assign.\n");
 
                } else {
@@ -389,7 +389,7 @@ int wpa_set_keys(PSDevice pDevice, void *ctx, bool fcpfkernel)
                               (unsigned char *)abyKey,
                               byKeyDecMode,
                               pDevice->PortOffset,
-                              pDevice->byLocalID) == true) {
+                              pDevice->byLocalID)) {
                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Pairwise Key Set\n");
 
                } else {
@@ -804,7 +804,7 @@ static int wpa_set_associate(PSDevice pDevice,
        else
                pDevice->bEncryptionEnable = false;
        if (!((pMgmt->eAuthenMode == WMAC_AUTH_SHAREKEY) ||
-             ((pMgmt->eAuthenMode == WMAC_AUTH_OPEN) && (bWepEnabled == true))))  //DavidWang  //20080717-06,<Modify> by chester//Not to initial WEP
+             ((pMgmt->eAuthenMode == WMAC_AUTH_OPEN) && bWepEnabled)))  //DavidWang  //20080717-06,<Modify> by chester//Not to initial WEP
                KeyvInitTable(&pDevice->sKey, pDevice->PortOffset);
        spin_lock_irq(&pDevice->lock);
        pDevice->bLinkPass = false;
index 6c7693911cd614d829fd1ffaa5176e43b104750f..61b9f7bdb85844908fa009a32190069de77f635d 100644 (file)
@@ -37,7 +37,7 @@
  * SBOX Table
  */
 
-u8 sbox_table[256] = {
+static u8 sbox_table[256] = {
        0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
        0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
        0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
@@ -56,7 +56,7 @@ u8 sbox_table[256] = {
        0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
 };
 
-u8 dot2_table[256] = {
+static u8 dot2_table[256] = {
        0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e,
        0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e,
        0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e,
@@ -75,7 +75,7 @@ u8 dot2_table[256] = {
        0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5
 };
 
-u8 dot3_table[256] = {
+static u8 dot3_table[256] = {
        0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11,
        0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21,
        0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71,
@@ -115,7 +115,7 @@ static void xor_32(u8 *a, u8 *b, u8 *out)
        (*dwPtrOut++) = (*dwPtrA++) ^ (*dwPtrB++);
 }
 
-void AddRoundKey(u8 *key, int round)
+static void AddRoundKey(u8 *key, int round)
 {
        u8 sbox_key[4];
        u8 rcon_table[10] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36};
@@ -133,7 +133,7 @@ void AddRoundKey(u8 *key, int round)
        xor_32(&key[12], &key[8], &key[12]);
 }
 
-void SubBytes(u8 *in, u8 *out)
+static void SubBytes(u8 *in, u8 *out)
 {
        int i;
 
@@ -141,7 +141,7 @@ void SubBytes(u8 *in, u8 *out)
                out[i] = sbox_table[in[i]];
 }
 
-void ShiftRows(u8 *in, u8 *out)
+static void ShiftRows(u8 *in, u8 *out)
 {
        out[0]  = in[0];
        out[1]  = in[5];
@@ -161,7 +161,7 @@ void ShiftRows(u8 *in, u8 *out)
        out[15] = in[11];
 }
 
-void MixColumns(u8 *in, u8 *out)
+static void MixColumns(u8 *in, u8 *out)
 {
 
        out[0] = dot2_table[in[0]] ^ dot3_table[in[1]] ^ in[2] ^ in[3];
@@ -170,7 +170,7 @@ void MixColumns(u8 *in, u8 *out)
        out[3] = dot3_table[in[0]] ^ in[1] ^ in[2] ^ dot2_table[in[3]];
 }
 
-void AESv128(u8 *key, u8 *data, u8 *ciphertext)
+static void AESv128(u8 *key, u8 *data, u8 *ciphertext)
 {
        int  i;
        int  round;
index 1e8b8412e67e4b6663161c977f2334a154b65e0a..5f6480e7353d11abc7dc7d7ff648a18ea78be7d7 100644 (file)
@@ -48,7 +48,7 @@
 static int          msglevel                =MSG_LEVEL_INFO;
 //static int          msglevel                =MSG_LEVEL_DEBUG;
 
-u8 abyVT3184_AGC[] = {
+static u8 abyVT3184_AGC[] = {
     0x00,   //0
     0x00,   //1
     0x02,   //2
@@ -115,7 +115,7 @@ u8 abyVT3184_AGC[] = {
     0x3E    //3F
 };
 
-u8 abyVT3184_AL2230[] = {
+static u8 abyVT3184_AL2230[] = {
         0x31,//00
         0x00,
         0x00,
@@ -375,7 +375,7 @@ u8 abyVT3184_AL2230[] = {
 };
 
 //{{RobertYu:20060515, new BB setting for VT3226D0
-u8 abyVT3184_VT3226D0[] = {
+static u8 abyVT3184_VT3226D0[] = {
         0x31,//00
         0x00,
         0x00,
@@ -634,7 +634,7 @@ u8 abyVT3184_VT3226D0[] = {
         0x00,
 };
 
-const u16 awcFrameTime[MAX_RATE] =
+static const u16 awcFrameTime[MAX_RATE] =
 {10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216};
 
 /*
index dad3f8c78e21d196540c62741af4fbbbe305819b..1c3cbc54ce18a2aeef0d2891ab404fafb6515510 100644 (file)
 static int          msglevel                =MSG_LEVEL_INFO;
 //static int          msglevel                =MSG_LEVEL_DEBUG;
 
-const u16             awHWRetry0[5][5] = {
+static const u16             awHWRetry0[5][5] = {
                                             {RATE_18M, RATE_18M, RATE_12M, RATE_12M, RATE_12M},
                                             {RATE_24M, RATE_24M, RATE_18M, RATE_12M, RATE_12M},
                                             {RATE_36M, RATE_36M, RATE_24M, RATE_18M, RATE_18M},
                                             {RATE_48M, RATE_48M, RATE_36M, RATE_24M, RATE_24M},
                                             {RATE_54M, RATE_54M, RATE_48M, RATE_36M, RATE_36M}
                                            };
-const u16             awHWRetry1[5][5] = {
+static const u16             awHWRetry1[5][5] = {
                                             {RATE_18M, RATE_18M, RATE_12M, RATE_6M, RATE_6M},
                                             {RATE_24M, RATE_24M, RATE_18M, RATE_6M, RATE_6M},
                                             {RATE_36M, RATE_36M, RATE_24M, RATE_12M, RATE_12M},
index 19d3cf451b880c736c82cce806fdfb14d98b6379..662cfea7527e2ef321c53c538c972513a7fd00d7 100644 (file)
@@ -66,7 +66,7 @@ static int          msglevel                =MSG_LEVEL_INFO;
 //const u16 cwRXBCNTSFOff[MAX_RATE] =
 //{17, 34, 96, 192, 34, 23, 17, 11, 8, 5, 4, 3};
 
-const u16 cwRXBCNTSFOff[MAX_RATE] =
+static const u16 cwRXBCNTSFOff[MAX_RATE] =
 {192, 96, 34, 17, 34, 23, 17, 11, 8, 5, 4, 3};
 
 /*
@@ -205,7 +205,7 @@ static u16 swGetOFDMControlRate(struct vnt_private *pDevice, u16 wRateIdx)
  * Return Value: none
  *
  */
-void
+static void
 CARDvCalculateOFDMRParameter (
       u16 wRate,
       u8 byBBType,
index af9eab0c00a317d0513b84f52e5ba98cc995d083..547db6f0c53f65e1301b80aef34d1bf59053bc08 100644 (file)
@@ -45,7 +45,7 @@
 
 /* static int msglevel = MSG_LEVEL_DEBUG; */
 static int msglevel = MSG_LEVEL_INFO;
-const u8 acbyIERate[MAX_RATE] = {0x02, 0x04, 0x0B, 0x16, 0x0C, 0x12, 0x18,
+static const u8 acbyIERate[MAX_RATE] = {0x02, 0x04, 0x0B, 0x16, 0x0C, 0x12, 0x18,
        0x24, 0x30, 0x48, 0x60, 0x6C};
 
 #define AUTORATE_TXOK_CNT       0x0400
index 62b7de19b371d2cc7635de9fa339b2b7b78a0143..b7a6e14e4d9fd44cfeec8b89fd3d5a859ed4f134 100644 (file)
@@ -44,6 +44,7 @@
 #include <net/cfg80211.h>
 #include <linux/timer.h>
 #include <linux/usb.h>
+#include <linux/crc32.h>
 
 #ifdef SIOCETHTOOL
 #define DEVICE_ETHTOOL_IOCTL_SUPPORT
@@ -75,6 +76,7 @@
 #include "desc.h"
 #include "key.h"
 #include "card.h"
+#include "rndis.h"
 
 #define VNT_USB_VENDOR_ID                     0x160a
 #define VNT_USB_PRODUCT_ID                    0x3184
@@ -149,11 +151,9 @@ typedef enum __device_msg_level {
        MSG_LEVEL_DEBUG = 4           /* Only for debug purpose. */
 } DEVICE_MSG_LEVEL, *PDEVICE_MSG_LEVEL;
 
-typedef enum __device_init_type {
-       DEVICE_INIT_COLD = 0,       /* cold init */
-       DEVICE_INIT_RESET,          /* reset init or Dx to D0 power remain */
-       DEVICE_INIT_DXPL            /* Dx to D0 power lost init */
-} DEVICE_INIT_TYPE, *PDEVICE_INIT_TYPE;
+#define DEVICE_INIT_COLD       0x0 /* cold init */
+#define DEVICE_INIT_RESET      0x1 /* reset init or Dx to D0 power remain */
+#define DEVICE_INIT_DXPL       0x2 /* Dx to D0 power lost init */
 
 /* USB */
 
@@ -467,6 +467,8 @@ struct vnt_private {
        u8 byOriginalZonetype;
 
        int bLinkPass; /* link status: OK or fail */
+       struct vnt_cmd_card_init init_command;
+       struct vnt_rsp_card_init init_response;
        u8 abyCurrentNetAddr[ETH_ALEN];
        u8 abyPermanentNetAddr[ETH_ALEN];
 
index 75dc92d64056a3c30ef25698196fa1c3e4ce326f..2bed31b741c082425462e7699198e81503570409 100644 (file)
@@ -59,7 +59,7 @@
 //static int          msglevel                =MSG_LEVEL_DEBUG;
 static int          msglevel                =MSG_LEVEL_INFO;
 
-const u8 acbyRxRate[MAX_RATE] =
+static const u8 acbyRxRate[MAX_RATE] =
 {2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108};
 
 static u8 s_byGetRateIdx(u8 byRate);
index aae228c533effe3a0a7f0f0460ec9ab8c9cb90e5..4cb7aa737a999bc0f0da70de0f1522795decc382 100644 (file)
@@ -67,7 +67,6 @@
 #include "datarate.h"
 #include "rf.h"
 #include "firmware.h"
-#include "rndis.h"
 #include "control.h"
 #include "channel.h"
 #include "int.h"
@@ -215,8 +214,7 @@ static void device_set_multi(struct net_device *dev);
 static int  device_close(struct net_device *dev);
 static int  device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
 
-static int device_init_registers(struct vnt_private *pDevice,
-       DEVICE_INIT_TYPE InitType);
+static int device_init_registers(struct vnt_private *pDevice);
 static bool device_init_defrag_cb(struct vnt_private *pDevice);
 static void device_init_diversity_timer(struct vnt_private *pDevice);
 static int  device_dma0_tx_80211(struct sk_buff *skb, struct net_device *dev);
@@ -296,343 +294,352 @@ static void device_init_diversity_timer(struct vnt_private *pDevice)
 /*
  * initialization of MAC & BBP registers
  */
-
-static int device_init_registers(struct vnt_private *pDevice,
-       DEVICE_INIT_TYPE InitType)
+static int device_init_registers(struct vnt_private *pDevice)
 {
        struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
+       struct vnt_cmd_card_init *init_cmd = &pDevice->init_command;
+       struct vnt_rsp_card_init *init_rsp = &pDevice->init_response;
        u8 abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
        u8 abySNAP_RFC1042[ETH_ALEN] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00};
        u8 abySNAP_Bridgetunnel[ETH_ALEN]
                = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0xf8};
        u8 byAntenna;
        int ii;
-       CMD_CARD_INIT sInitCmd;
        int ntStatus = STATUS_SUCCESS;
-       RSP_CARD_INIT   sInitRsp;
        u8 byTmp;
        u8 byCalibTXIQ = 0, byCalibTXDC = 0, byCalibRXIQ = 0;
 
-    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "---->INIbInitAdapter. [%d][%d]\n", InitType, pDevice->byPacketType);
+       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "---->INIbInitAdapter. [%d][%d]\n",
+                               DEVICE_INIT_COLD, pDevice->byPacketType);
+
        spin_lock_irq(&pDevice->lock);
-       if (InitType == DEVICE_INIT_COLD) {
-               memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, ETH_ALEN);
-               memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, ETH_ALEN);
-               memcpy(pDevice->abySNAP_Bridgetunnel,
-                      abySNAP_Bridgetunnel,
-                      ETH_ALEN);
-
-        if ( !FIRMWAREbCheckVersion(pDevice) ) {
-            if (FIRMWAREbDownload(pDevice) == true) {
-                if (FIRMWAREbBrach2Sram(pDevice) == false) {
-                    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" FIRMWAREbBrach2Sram fail \n");
-                       spin_unlock_irq(&pDevice->lock);
-                    return false;
-                }
-            } else {
-
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" FIRMWAREbDownload fail \n");
-                spin_unlock_irq(&pDevice->lock);
-                return false;
-            }
-        }
 
-        if ( !BBbVT3184Init(pDevice) ) {
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" BBbVT3184Init fail \n");
-            spin_unlock_irq(&pDevice->lock);
-            return false;
-        }
-    }
+       memcpy(pDevice->abyBroadcastAddr, abyBroadcastAddr, ETH_ALEN);
+       memcpy(pDevice->abySNAP_RFC1042, abySNAP_RFC1042, ETH_ALEN);
+       memcpy(pDevice->abySNAP_Bridgetunnel, abySNAP_Bridgetunnel, ETH_ALEN);
+
+       if (!FIRMWAREbCheckVersion(pDevice)) {
+               if (FIRMWAREbDownload(pDevice) == true) {
+                       if (FIRMWAREbBrach2Sram(pDevice) == false) {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
+                                       " FIRMWAREbBrach2Sram fail\n");
+                               spin_unlock_irq(&pDevice->lock);
+                               return false;
+                       }
+               } else {
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
+                               " FIRMWAREbDownload fail\n");
+                       spin_unlock_irq(&pDevice->lock);
+                       return false;
+               }
+       }
 
-    sInitCmd.byInitClass = (u8)InitType;
-    sInitCmd.bExistSWNetAddr = (u8) pDevice->bExistSWNetAddr;
-    for (ii = 0; ii < 6; ii++)
-       sInitCmd.bySWNetAddr[ii] = pDevice->abyCurrentNetAddr[ii];
-    sInitCmd.byShortRetryLimit = pDevice->byShortRetryLimit;
-    sInitCmd.byLongRetryLimit = pDevice->byLongRetryLimit;
-
-    /* issue card_init command to device */
-    ntStatus = CONTROLnsRequestOut(pDevice,
-                                    MESSAGE_TYPE_CARDINIT,
-                                    0,
-                                    0,
-                                    sizeof(CMD_CARD_INIT),
-                                    (u8 *) &(sInitCmd));
-
-    if ( ntStatus != STATUS_SUCCESS ) {
-        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Issue Card init fail \n");
-        spin_unlock_irq(&pDevice->lock);
-        return false;
-    }
-    if (InitType == DEVICE_INIT_COLD) {
+       if (!BBbVT3184Init(pDevice)) {
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" BBbVT3184Init fail\n");
+               spin_unlock_irq(&pDevice->lock);
+               return false;
+       }
 
-        ntStatus = CONTROLnsRequestIn(pDevice,MESSAGE_TYPE_INIT_RSP,0,0,sizeof(RSP_CARD_INIT), (u8 *) &(sInitRsp));
+       init_cmd->init_class = DEVICE_INIT_COLD;
+       init_cmd->exist_sw_net_addr = (u8) pDevice->bExistSWNetAddr;
+       for (ii = 0; ii < 6; ii++)
+               init_cmd->sw_net_addr[ii] = pDevice->abyCurrentNetAddr[ii];
+       init_cmd->short_retry_limit = pDevice->byShortRetryLimit;
+       init_cmd->long_retry_limit = pDevice->byLongRetryLimit;
+
+       /* issue card_init command to device */
+       ntStatus = CONTROLnsRequestOut(pDevice,
+               MESSAGE_TYPE_CARDINIT, 0, 0,
+               sizeof(struct vnt_cmd_card_init), (u8 *)init_cmd);
+       if (ntStatus != STATUS_SUCCESS) {
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Issue Card init fail\n");
+               spin_unlock_irq(&pDevice->lock);
+               return false;
+       }
 
-        if (ntStatus != STATUS_SUCCESS) {
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Cardinit request in status fail!\n");
-            spin_unlock_irq(&pDevice->lock);
-            return false;
-        }
+       ntStatus = CONTROLnsRequestIn(pDevice, MESSAGE_TYPE_INIT_RSP, 0, 0,
+               sizeof(struct vnt_rsp_card_init), (u8 *)init_rsp);
+       if (ntStatus != STATUS_SUCCESS) {
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
+                       "Cardinit request in status fail!\n");
+               spin_unlock_irq(&pDevice->lock);
+               return false;
+       }
 
        /* local ID for AES functions */
-        ntStatus = CONTROLnsRequestIn(pDevice,
-                                    MESSAGE_TYPE_READ,
-                                    MAC_REG_LOCALID,
-                                    MESSAGE_REQUEST_MACREG,
-                                    1,
-                                    &pDevice->byLocalID);
-
-        if ( ntStatus != STATUS_SUCCESS ) {
-            spin_unlock_irq(&pDevice->lock);
-            return false;
-        }
+       ntStatus = CONTROLnsRequestIn(pDevice, MESSAGE_TYPE_READ,
+               MAC_REG_LOCALID, MESSAGE_REQUEST_MACREG, 1,
+                       &pDevice->byLocalID);
+       if (ntStatus != STATUS_SUCCESS) {
+               spin_unlock_irq(&pDevice->lock);
+               return false;
+       }
 
        /* do MACbSoftwareReset in MACvInitialize */
 
        /* force CCK */
-        pDevice->bCCK = true;
+       pDevice->bCCK = true;
        pDevice->bProtectMode = false;
        /* only used in 11g type, sync with ERP IE */
-        pDevice->bNonERPPresent = false;
-        pDevice->bBarkerPreambleMd = false;
-        if ( pDevice->bFixRate ) {
-            pDevice->wCurrentRate = (u16) pDevice->uConnectionRate;
-        } else {
-            if ( pDevice->byBBType == BB_TYPE_11B )
-                pDevice->wCurrentRate = RATE_11M;
-            else
-                pDevice->wCurrentRate = RATE_54M;
-        }
+       pDevice->bNonERPPresent = false;
+       pDevice->bBarkerPreambleMd = false;
+       if (pDevice->bFixRate) {
+               pDevice->wCurrentRate = (u16)pDevice->uConnectionRate;
+       } else {
+               if (pDevice->byBBType == BB_TYPE_11B)
+                       pDevice->wCurrentRate = RATE_11M;
+               else
+                       pDevice->wCurrentRate = RATE_54M;
+       }
 
-        CHvInitChannelTable(pDevice);
+       CHvInitChannelTable(pDevice);
 
-        pDevice->byTopOFDMBasicRate = RATE_24M;
-        pDevice->byTopCCKBasicRate = RATE_1M;
+       pDevice->byTopOFDMBasicRate = RATE_24M;
+       pDevice->byTopCCKBasicRate = RATE_1M;
        pDevice->byRevId = 0;
        /* target to IF pin while programming to RF chip */
-        pDevice->byCurPwr = 0xFF;
+       pDevice->byCurPwr = 0xFF;
 
-        pDevice->byCCKPwr = pDevice->abyEEPROM[EEP_OFS_PWR_CCK];
-        pDevice->byOFDMPwrG = pDevice->abyEEPROM[EEP_OFS_PWR_OFDMG];
+       pDevice->byCCKPwr = pDevice->abyEEPROM[EEP_OFS_PWR_CCK];
+       pDevice->byOFDMPwrG = pDevice->abyEEPROM[EEP_OFS_PWR_OFDMG];
        /* load power table */
        for (ii = 0; ii < 14; ii++) {
-            pDevice->abyCCKPwrTbl[ii] = pDevice->abyEEPROM[ii + EEP_OFS_CCK_PWR_TBL];
-            if (pDevice->abyCCKPwrTbl[ii] == 0)
-                pDevice->abyCCKPwrTbl[ii] = pDevice->byCCKPwr;
-            pDevice->abyOFDMPwrTbl[ii] = pDevice->abyEEPROM[ii + EEP_OFS_OFDM_PWR_TBL];
-            if (pDevice->abyOFDMPwrTbl[ii] == 0)
-                pDevice->abyOFDMPwrTbl[ii] = pDevice->byOFDMPwrG;
-        }
+               pDevice->abyCCKPwrTbl[ii] =
+                       pDevice->abyEEPROM[ii + EEP_OFS_CCK_PWR_TBL];
+
+               if (pDevice->abyCCKPwrTbl[ii] == 0)
+                       pDevice->abyCCKPwrTbl[ii] = pDevice->byCCKPwr;
+                       pDevice->abyOFDMPwrTbl[ii] =
+                               pDevice->abyEEPROM[ii + EEP_OFS_OFDM_PWR_TBL];
+               if (pDevice->abyOFDMPwrTbl[ii] == 0)
+                       pDevice->abyOFDMPwrTbl[ii] = pDevice->byOFDMPwrG;
+       }
 
        /*
         * original zonetype is USA, but custom zonetype is Europe,
         * then need to recover 12, 13, 14 channels with 11 channel
         */
-          if(((pDevice->abyEEPROM[EEP_OFS_ZONETYPE] == ZoneType_Japan) ||
-               (pDevice->abyEEPROM[EEP_OFS_ZONETYPE] == ZoneType_Europe))&&
-            (pDevice->byOriginalZonetype == ZoneType_USA)) {
+       if (((pDevice->abyEEPROM[EEP_OFS_ZONETYPE] == ZoneType_Japan) ||
+               (pDevice->abyEEPROM[EEP_OFS_ZONETYPE] == ZoneType_Europe)) &&
+               (pDevice->byOriginalZonetype == ZoneType_USA)) {
                for (ii = 11; ii < 14; ii++) {
                        pDevice->abyCCKPwrTbl[ii] = pDevice->abyCCKPwrTbl[10];
                        pDevice->abyOFDMPwrTbl[ii] = pDevice->abyOFDMPwrTbl[10];
                }
-         }
+       }
 
-         pDevice->byOFDMPwrA = 0x34; /* same as RFbMA2829SelectChannel */
+       pDevice->byOFDMPwrA = 0x34; /* same as RFbMA2829SelectChannel */
 
-         /* load OFDM A power table */
-         for (ii = 0; ii < CB_MAX_CHANNEL_5G; ii++) {
-            pDevice->abyOFDMAPwrTbl[ii] = pDevice->abyEEPROM[ii + EEP_OFS_OFDMA_PWR_TBL];
-            if (pDevice->abyOFDMAPwrTbl[ii] == 0)
-                pDevice->abyOFDMAPwrTbl[ii] = pDevice->byOFDMPwrA;
-        }
+       /* load OFDM A power table */
+       for (ii = 0; ii < CB_MAX_CHANNEL_5G; ii++) {
+               pDevice->abyOFDMAPwrTbl[ii] =
+                       pDevice->abyEEPROM[ii + EEP_OFS_OFDMA_PWR_TBL];
+
+               if (pDevice->abyOFDMAPwrTbl[ii] == 0)
+                       pDevice->abyOFDMAPwrTbl[ii] = pDevice->byOFDMPwrA;
+       }
 
-        byAntenna = pDevice->abyEEPROM[EEP_OFS_ANTENNA];
-        if (byAntenna & EEP_ANTINV)
-            pDevice->bTxRxAntInv = true;
-        else
-            pDevice->bTxRxAntInv = false;
+       byAntenna = pDevice->abyEEPROM[EEP_OFS_ANTENNA];
 
-        byAntenna &= (EEP_ANTENNA_AUX | EEP_ANTENNA_MAIN);
+       if (byAntenna & EEP_ANTINV)
+               pDevice->bTxRxAntInv = true;
+       else
+               pDevice->bTxRxAntInv = false;
+
+       byAntenna &= (EEP_ANTENNA_AUX | EEP_ANTENNA_MAIN);
 
        if (byAntenna == 0) /* if not set default is both */
-            byAntenna = (EEP_ANTENNA_AUX | EEP_ANTENNA_MAIN);
-
-        if (byAntenna == (EEP_ANTENNA_AUX | EEP_ANTENNA_MAIN)) {
-            pDevice->byAntennaCount = 2;
-            pDevice->byTxAntennaMode = ANT_B;
-            pDevice->dwTxAntennaSel = 1;
-            pDevice->dwRxAntennaSel = 1;
-            if (pDevice->bTxRxAntInv == true)
-                pDevice->byRxAntennaMode = ANT_A;
-            else
-                pDevice->byRxAntennaMode = ANT_B;
-
-            if (pDevice->bDiversityRegCtlON)
-                pDevice->bDiversityEnable = true;
-            else
-                pDevice->bDiversityEnable = false;
-        } else  {
-            pDevice->bDiversityEnable = false;
-            pDevice->byAntennaCount = 1;
-            pDevice->dwTxAntennaSel = 0;
-            pDevice->dwRxAntennaSel = 0;
-            if (byAntenna & EEP_ANTENNA_AUX) {
-                pDevice->byTxAntennaMode = ANT_A;
-                if (pDevice->bTxRxAntInv == true)
-                    pDevice->byRxAntennaMode = ANT_B;
-                else
-                    pDevice->byRxAntennaMode = ANT_A;
-            } else {
-                pDevice->byTxAntennaMode = ANT_B;
-                if (pDevice->bTxRxAntInv == true)
-                    pDevice->byRxAntennaMode = ANT_A;
-                else
-                    pDevice->byRxAntennaMode = ANT_B;
-            }
-        }
-        pDevice->ulDiversityNValue = 100*255;
-        pDevice->ulDiversityMValue = 100*16;
-        pDevice->byTMax = 1;
-        pDevice->byTMax2 = 4;
-        pDevice->ulSQ3TH = 0;
-        pDevice->byTMax3 = 64;
+               byAntenna = (EEP_ANTENNA_AUX | EEP_ANTENNA_MAIN);
+
+       if (byAntenna == (EEP_ANTENNA_AUX | EEP_ANTENNA_MAIN)) {
+               pDevice->byAntennaCount = 2;
+               pDevice->byTxAntennaMode = ANT_B;
+               pDevice->dwTxAntennaSel = 1;
+               pDevice->dwRxAntennaSel = 1;
+
+               if (pDevice->bTxRxAntInv == true)
+                       pDevice->byRxAntennaMode = ANT_A;
+               else
+                       pDevice->byRxAntennaMode = ANT_B;
+
+               if (pDevice->bDiversityRegCtlON)
+                       pDevice->bDiversityEnable = true;
+               else
+                       pDevice->bDiversityEnable = false;
+       } else  {
+               pDevice->bDiversityEnable = false;
+               pDevice->byAntennaCount = 1;
+               pDevice->dwTxAntennaSel = 0;
+               pDevice->dwRxAntennaSel = 0;
+
+               if (byAntenna & EEP_ANTENNA_AUX) {
+                       pDevice->byTxAntennaMode = ANT_A;
+
+                       if (pDevice->bTxRxAntInv == true)
+                               pDevice->byRxAntennaMode = ANT_B;
+                       else
+                               pDevice->byRxAntennaMode = ANT_A;
+               } else {
+                       pDevice->byTxAntennaMode = ANT_B;
+
+               if (pDevice->bTxRxAntInv == true)
+                       pDevice->byRxAntennaMode = ANT_A;
+               else
+                       pDevice->byRxAntennaMode = ANT_B;
+               }
+       }
+
+       pDevice->ulDiversityNValue = 100 * 255;
+       pDevice->ulDiversityMValue = 100 * 16;
+       pDevice->byTMax = 1;
+       pDevice->byTMax2 = 4;
+       pDevice->ulSQ3TH = 0;
+       pDevice->byTMax3 = 64;
 
        /* get Auto Fall Back type */
-        pDevice->byAutoFBCtrl = AUTO_FB_0;
+       pDevice->byAutoFBCtrl = AUTO_FB_0;
 
        /* set SCAN Time */
-        pDevice->uScanTime = WLAN_SCAN_MINITIME;
+       pDevice->uScanTime = WLAN_SCAN_MINITIME;
 
        /* default Auto Mode */
        /* pDevice->NetworkType = Ndis802_11Automode; */
-        pDevice->eConfigPHYMode = PHY_TYPE_AUTO;
-        pDevice->byBBType = BB_TYPE_11G;
+       pDevice->eConfigPHYMode = PHY_TYPE_AUTO;
+       pDevice->byBBType = BB_TYPE_11G;
 
        /* initialize BBP registers */
-        pDevice->ulTxPower = 25;
+       pDevice->ulTxPower = 25;
 
        /* get channel range */
-        pDevice->byMinChannel = 1;
-        pDevice->byMaxChannel = CB_MAX_CHANNEL;
+       pDevice->byMinChannel = 1;
+       pDevice->byMaxChannel = CB_MAX_CHANNEL;
 
        /* get RFType */
-        pDevice->byRFType = sInitRsp.byRFType;
+       pDevice->byRFType = init_rsp->rf_type;
 
-        if ((pDevice->byRFType & RF_EMU) != 0) {
+       if ((pDevice->byRFType & RF_EMU) != 0) {
                /* force change RevID for VT3253 emu */
                pDevice->byRevId = 0x80;
-        }
+       }
 
        /* load vt3266 calibration parameters in EEPROM */
-        if (pDevice->byRFType == RF_VT3226D0) {
-            if((pDevice->abyEEPROM[EEP_OFS_MAJOR_VER] == 0x1) &&
-                (pDevice->abyEEPROM[EEP_OFS_MINOR_VER] >= 0x4)) {
-                byCalibTXIQ = pDevice->abyEEPROM[EEP_OFS_CALIB_TX_IQ];
-                byCalibTXDC = pDevice->abyEEPROM[EEP_OFS_CALIB_TX_DC];
-                byCalibRXIQ = pDevice->abyEEPROM[EEP_OFS_CALIB_RX_IQ];
-                if( (byCalibTXIQ || byCalibTXDC || byCalibRXIQ) ) {
+       if (pDevice->byRFType == RF_VT3226D0) {
+               if ((pDevice->abyEEPROM[EEP_OFS_MAJOR_VER] == 0x1) &&
+                       (pDevice->abyEEPROM[EEP_OFS_MINOR_VER] >= 0x4)) {
+
+                       byCalibTXIQ = pDevice->abyEEPROM[EEP_OFS_CALIB_TX_IQ];
+                       byCalibTXDC = pDevice->abyEEPROM[EEP_OFS_CALIB_TX_DC];
+                       byCalibRXIQ = pDevice->abyEEPROM[EEP_OFS_CALIB_RX_IQ];
+                       if (byCalibTXIQ || byCalibTXDC || byCalibRXIQ) {
                        /* CR255, enable TX/RX IQ and DC compensation mode */
-                       ControlvWriteByte(pDevice,
-                                         MESSAGE_REQUEST_BBREG,
-                                         0xFF,
-                                         0x03);
+                               ControlvWriteByte(pDevice,
+                                       MESSAGE_REQUEST_BBREG,
+                                       0xff,
+                                       0x03);
                        /* CR251, TX I/Q Imbalance Calibration */
-                       ControlvWriteByte(pDevice,
-                                         MESSAGE_REQUEST_BBREG,
-                                         0xFB,
-                                         byCalibTXIQ);
+                               ControlvWriteByte(pDevice,
+                                       MESSAGE_REQUEST_BBREG,
+                                       0xfb,
+                                       byCalibTXIQ);
                        /* CR252, TX DC-Offset Calibration */
-                       ControlvWriteByte(pDevice,
-                                         MESSAGE_REQUEST_BBREG,
-                                         0xFC,
-                                         byCalibTXDC);
+                               ControlvWriteByte(pDevice,
+                                       MESSAGE_REQUEST_BBREG,
+                                       0xfC,
+                                       byCalibTXDC);
                        /* CR253, RX I/Q Imbalance Calibration */
-                       ControlvWriteByte(pDevice,
-                                         MESSAGE_REQUEST_BBREG,
-                                         0xFD,
-                                         byCalibRXIQ);
-                } else {
+                               ControlvWriteByte(pDevice,
+                                       MESSAGE_REQUEST_BBREG,
+                                       0xfd,
+                                       byCalibRXIQ);
+                       } else {
                        /* CR255, turn off BB Calibration compensation */
-                       ControlvWriteByte(pDevice,
-                                         MESSAGE_REQUEST_BBREG,
-                                         0xFF,
-                                         0x0);
-                }
-            }
-        }
-        pMgmt->eScanType = WMAC_SCAN_PASSIVE;
-        pMgmt->uCurrChannel = pDevice->uChannel;
-        pMgmt->uIBSSChannel = pDevice->uChannel;
-        CARDbSetMediaChannel(pDevice, pMgmt->uCurrChannel);
+                               ControlvWriteByte(pDevice,
+                                       MESSAGE_REQUEST_BBREG,
+                                       0xff,
+                                       0x0);
+                       }
+               }
+       }
+
+       pMgmt->eScanType = WMAC_SCAN_PASSIVE;
+       pMgmt->uCurrChannel = pDevice->uChannel;
+       pMgmt->uIBSSChannel = pDevice->uChannel;
+       CARDbSetMediaChannel(pDevice, pMgmt->uCurrChannel);
 
        /* get permanent network address */
-        memcpy(pDevice->abyPermanentNetAddr,&(sInitRsp.byNetAddr[0]),6);
+       memcpy(pDevice->abyPermanentNetAddr, init_rsp->net_addr, 6);
        memcpy(pDevice->abyCurrentNetAddr,
-              pDevice->abyPermanentNetAddr,
-              ETH_ALEN);
+                               pDevice->abyPermanentNetAddr, ETH_ALEN);
 
        /* if exist SW network address, use it */
        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Network address = %pM\n",
                pDevice->abyCurrentNetAddr);
-    }
 
-    /*
-     * set BB and packet type at the same time
-     * set Short Slot Time, xIFS, and RSPINF
-     */
-    if (pDevice->byBBType == BB_TYPE_11A) {
-        CARDbAddBasicRate(pDevice, RATE_6M);
-        pDevice->bShortSlotTime = true;
-    } else {
-        CARDbAddBasicRate(pDevice, RATE_1M);
-        pDevice->bShortSlotTime = false;
-    }
-    BBvSetShortSlotTime(pDevice);
-    CARDvSetBSSMode(pDevice);
+       /*
+       * set BB and packet type at the same time
+       * set Short Slot Time, xIFS, and RSPINF
+       */
+       if (pDevice->byBBType == BB_TYPE_11A) {
+               CARDbAddBasicRate(pDevice, RATE_6M);
+               pDevice->bShortSlotTime = true;
+       } else {
+               CARDbAddBasicRate(pDevice, RATE_1M);
+               pDevice->bShortSlotTime = false;
+       }
 
-    if (pDevice->bUpdateBBVGA) {
-        pDevice->byBBVGACurrent = pDevice->abyBBVGA[0];
-        pDevice->byBBVGANew = pDevice->byBBVGACurrent;
-        BBvSetVGAGainOffset(pDevice, pDevice->abyBBVGA[0]);
-    }
+       BBvSetShortSlotTime(pDevice);
+       CARDvSetBSSMode(pDevice);
 
-    pDevice->byRadioCtl = pDevice->abyEEPROM[EEP_OFS_RADIOCTL];
-    pDevice->bHWRadioOff = false;
-    if ( (pDevice->byRadioCtl & EEP_RADIOCTL_ENABLE) != 0 ) {
-        ntStatus = CONTROLnsRequestIn(pDevice,
-                                    MESSAGE_TYPE_READ,
-                                    MAC_REG_GPIOCTL1,
-                                    MESSAGE_REQUEST_MACREG,
-                                    1,
-                                    &byTmp);
-
-        if ( ntStatus != STATUS_SUCCESS ) {
-            spin_unlock_irq(&pDevice->lock);
-            return false;
-        }
-        if ( (byTmp & GPIO3_DATA) == 0 ) {
-            pDevice->bHWRadioOff = true;
-            MACvRegBitsOn(pDevice,MAC_REG_GPIOCTL1,GPIO3_INTMD);
-        } else {
-            MACvRegBitsOff(pDevice,MAC_REG_GPIOCTL1,GPIO3_INTMD);
-            pDevice->bHWRadioOff = false;
-        }
+       if (pDevice->bUpdateBBVGA) {
+               pDevice->byBBVGACurrent = pDevice->abyBBVGA[0];
+               pDevice->byBBVGANew = pDevice->byBBVGACurrent;
 
-    }
+               BBvSetVGAGainOffset(pDevice, pDevice->abyBBVGA[0]);
+       }
 
-    ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_TMLEN,0x38);
-    ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW);
-    MACvRegBitsOn(pDevice,MAC_REG_GPIOCTL0,0x01);
+       pDevice->byRadioCtl = pDevice->abyEEPROM[EEP_OFS_RADIOCTL];
+       pDevice->bHWRadioOff = false;
 
-    if ((pDevice->bHWRadioOff == true) || (pDevice->bRadioControlOff == true)) {
-        CARDbRadioPowerOff(pDevice);
-    } else {
-        CARDbRadioPowerOn(pDevice);
-    }
+       if ((pDevice->byRadioCtl & EEP_RADIOCTL_ENABLE) != 0) {
+               ntStatus = CONTROLnsRequestIn(pDevice, MESSAGE_TYPE_READ,
+                       MAC_REG_GPIOCTL1, MESSAGE_REQUEST_MACREG, 1, &byTmp);
 
-    spin_unlock_irq(&pDevice->lock);
-    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"<----INIbInitAdapter Exit\n");
-    return true;
+               if (ntStatus != STATUS_SUCCESS) {
+                       spin_unlock_irq(&pDevice->lock);
+                       return false;
+               }
+
+               if ((byTmp & GPIO3_DATA) == 0) {
+                       pDevice->bHWRadioOff = true;
+                       MACvRegBitsOn(pDevice, MAC_REG_GPIOCTL1, GPIO3_INTMD);
+               } else {
+                       MACvRegBitsOff(pDevice, MAC_REG_GPIOCTL1, GPIO3_INTMD);
+                       pDevice->bHWRadioOff = false;
+               }
+
+       }
+
+       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG,
+                               MAC_REG_PAPEDELAY, LEDSTS_TMLEN, 0x38);
+
+       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG,
+                               MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_SLOW);
+
+       MACvRegBitsOn(pDevice, MAC_REG_GPIOCTL0, 0x01);
+
+       if ((pDevice->bHWRadioOff == true) ||
+                               (pDevice->bRadioControlOff == true)) {
+               CARDbRadioPowerOff(pDevice);
+       } else {
+               CARDbRadioPowerOn(pDevice);
+       }
+
+
+       spin_unlock_irq(&pDevice->lock);
+
+       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"<----INIbInitAdapter Exit\n");
+
+       return true;
 }
 
 #ifdef CONFIG_PM       /* Minimal support for suspend and resume */
@@ -962,10 +969,10 @@ static int  device_open(struct net_device *dev)
     /* read config file */
     Read_config_file(pDevice);
 
-    if (device_init_registers(pDevice, DEVICE_INIT_COLD) == false) {
-        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " init register fail\n");
-        goto free_all;
-    }
+       if (device_init_registers(pDevice) == false) {
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " init register fail\n");
+               goto free_all;
+       }
 
     device_set_multi(pDevice->dev);
 
@@ -1187,22 +1194,6 @@ out:
        return NETDEV_TX_OK;
 }
 
-static unsigned const ethernet_polynomial = 0x04c11db7U;
-static inline u32 ether_crc(int length, unsigned char *data)
-{
-    int crc = -1;
-
-    while(--length >= 0) {
-        unsigned char current_octet = *data++;
-        int bit;
-        for (bit = 0; bit < 8; bit++, current_octet >>= 1) {
-            crc = (crc << 1) ^
-                ((crc < 0) ^ (current_octet & 1) ? ethernet_polynomial : 0);
-        }
-    }
-    return crc;
-}
-
 /* find out the start position of str2 from str1 */
 static unsigned char *kstrstr(const unsigned char *str1,
                              const unsigned char *str2) {
index d27fa434550da50181f34a519aa3e2545a291d68..e545232f670b5776fb55da67b42b1721cfa49036 100644 (file)
@@ -419,7 +419,7 @@ static u8 vt3226_channel_table1[CB_MAX_CHANNEL_24G][3] = {
 ///}}RobertYu
 
 //{{RobertYu:20060502, TWIF 1.14, LO Current for 11b mode
-const u32 vt3226d0_lo_current_table[CB_MAX_CHANNEL_24G] = {
+static const u32 vt3226d0_lo_current_table[CB_MAX_CHANNEL_24G] = {
     0x0135C600+(BY_VT3226_REG_LEN<<3)+IFREGCTL_REGW, // channel = 1, Tf = 2412MHz
     0x0135C600+(BY_VT3226_REG_LEN<<3)+IFREGCTL_REGW, // channel = 2, Tf = 2417MHz
     0x0235C600+(BY_VT3226_REG_LEN<<3)+IFREGCTL_REGW, // channel = 3, Tf = 2422MHz
@@ -597,7 +597,7 @@ static u8 vt3342_channel_table1[CB_MAX_CHANNEL][3] = {
  *
 -*/
 
-const u32 al2230_power_table[AL2230_PWR_IDX_LEN] = {
+static const u32 al2230_power_table[AL2230_PWR_IDX_LEN] = {
     0x04040900+(BY_AL2230_REG_LEN<<3)+IFREGCTL_REGW,
     0x04041900+(BY_AL2230_REG_LEN<<3)+IFREGCTL_REGW,
     0x04042900+(BY_AL2230_REG_LEN<<3)+IFREGCTL_REGW,
index 5e073062017a2e657e1f0b33ebddcaa1d2fa21c4..08321ad48920c6c3c31262b19a589b7a08003deb 100644 (file)
@@ -77,23 +77,23 @@ typedef struct _CMD_WRITE_MASK
     u8        byMask;
 } CMD_WRITE_MASK, *PCMD_WRITE_MASK;
 
-typedef struct _CMD_CARD_INIT
+struct vnt_cmd_card_init
 {
-    u8        byInitClass;
-    u8        bExistSWNetAddr;
-    u8        bySWNetAddr[6];
-    u8        byShortRetryLimit;
-    u8        byLongRetryLimit;
-} CMD_CARD_INIT, *PCMD_CARD_INIT;
-
-typedef struct _RSP_CARD_INIT
+       u8 init_class;
+       u8 exist_sw_net_addr;
+       u8 sw_net_addr[6];
+       u8 short_retry_limit;
+       u8 long_retry_limit;
+};
+
+struct vnt_rsp_card_init
 {
-    u8        byStatus;
-    u8        byNetAddr[6];
-    u8        byRFType;
-    u8        byMinChannel;
-    u8        byMaxChannel;
-} RSP_CARD_INIT, *PRSP_CARD_INIT;
+       u8 status;
+       u8 net_addr[6];
+       u8 rf_type;
+       u8 min_channel;
+       u8 max_channel;
+};
 
 typedef struct _CMD_SET_KEY
 {
index 35a3ddb41a6a2f4ac7ee36ad55a55549ee7569e0..5601331708f3fee5b9f30e4fa2cff500acbed16b 100644 (file)
 
 static int          msglevel                = MSG_LEVEL_INFO;
 
-const u16 wTimeStampOff[2][MAX_RATE] = {
+static const u16 wTimeStampOff[2][MAX_RATE] = {
         {384, 288, 226, 209, 54, 43, 37, 31, 28, 25, 24, 23}, // Long Preamble
         {384, 192, 130, 113, 54, 43, 37, 31, 28, 25, 24, 23}, // Short Preamble
     };
 
-const u16 wFB_Opt0[2][5] = {
+static const u16 wFB_Opt0[2][5] = {
         {RATE_12M, RATE_18M, RATE_24M, RATE_36M, RATE_48M}, // fallback_rate0
         {RATE_12M, RATE_12M, RATE_18M, RATE_24M, RATE_36M}, // fallback_rate1
     };
-const u16 wFB_Opt1[2][5] = {
+static const u16 wFB_Opt1[2][5] = {
         {RATE_12M, RATE_18M, RATE_24M, RATE_24M, RATE_36M}, // fallback_rate0
         {RATE_6M , RATE_6M,  RATE_12M, RATE_12M, RATE_18M}, // fallback_rate1
     };
index 9d643e449ac3c1ce97ecb84bd031820510c88415..28282f345901cc49cc55a46b297b91c64a19eb07 100644 (file)
@@ -39,7 +39,7 @@
 /* The 2nd table is the same as the 1st but with the upper and lower   */
 /* bytes swapped. To allow an endian tolerant implementation, the byte */
 /* halves have been expressed independently here.                      */
-const u8 TKIP_Sbox_Lower[256] = {
+static const u8 TKIP_Sbox_Lower[256] = {
     0xA5,0x84,0x99,0x8D,0x0D,0xBD,0xB1,0x54,
     0x50,0x03,0xA9,0x7D,0x19,0x62,0xE6,0x9A,
     0x45,0x9D,0x40,0x87,0x15,0xEB,0xC9,0x0B,
@@ -74,7 +74,7 @@ const u8 TKIP_Sbox_Lower[256] = {
     0xC3,0xB0,0x77,0x11,0xCB,0xFC,0xD6,0x3A
 };
 
-const u8 TKIP_Sbox_Upper[256] = {
+static const u8 TKIP_Sbox_Upper[256] = {
     0xC6,0xF8,0xEE,0xF6,0xFF,0xD6,0xDE,0x91,
     0x60,0x02,0xCE,0x56,0xE7,0xB5,0x4D,0xEC,
     0x8F,0x1F,0x89,0xFA,0xEF,0xB2,0x8E,0xFB,
index 2f8e2a87533182a8f9bfa4fd3f62857067d8a731..2d05ccb58a7a8dfc090d1236d9430dc511f92e20 100644 (file)
@@ -55,8 +55,8 @@
 #include "channel.h"
 #include "iowpa.h"
 
-static int          msglevel                =MSG_LEVEL_INFO;
-//static int          msglevel                =MSG_LEVEL_DEBUG;
+static int msglevel = MSG_LEVEL_INFO;
+//static int msglevel = MSG_LEVEL_DEBUG;
 
 static void s_vProbeChannel(struct vnt_private *);
 
@@ -87,38 +87,33 @@ static void vAdHocBeaconStop(struct vnt_private *pDevice)
        struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
        int bStop;
 
-    /*
-     * temporarily stop Beacon packet for AdHoc Server
-     * if all of the following coditions are met:
-     *  (1) STA is in AdHoc mode
-     *  (2) VT3253 is programmed as automatic Beacon Transmitting
-     *  (3) One of the following conditions is met
-     *      (3.1) AdHoc channel is in B/G band and the
-     *      current scan channel is in A band
-     *      or
-     *      (3.2) AdHoc channel is in A mode
-     */
-    bStop = false;
-    if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) &&
-    (pMgmt->eCurrState >= WMAC_STATE_STARTED))
-    {
-        if ((pMgmt->uIBSSChannel <=  CB_MAX_CHANNEL_24G) &&
-             (pMgmt->uScanChannel > CB_MAX_CHANNEL_24G))
-        {
-            bStop = true;
-        }
-        if (pMgmt->uIBSSChannel >  CB_MAX_CHANNEL_24G)
-        {
-            bStop = true;
-        }
-    }
-
-    if (bStop)
-    {
-        //PMESG(("STOP_BEACON: IBSSChannel = %u, ScanChannel = %u\n",
-        //        pMgmt->uIBSSChannel, pMgmt->uScanChannel));
-        MACvRegBitsOff(pDevice, MAC_REG_TCR, TCR_AUTOBCNTX);
-    }
+       /*
+        * temporarily stop Beacon packet for AdHoc Server
+        * if all of the following coditions are met:
+        *  (1) STA is in AdHoc mode
+        *  (2) VT3253 is programmed as automatic Beacon Transmitting
+        *  (3) One of the following conditions is met
+        *      (3.1) AdHoc channel is in B/G band and the
+        *      current scan channel is in A band
+        *      or
+        *      (3.2) AdHoc channel is in A mode
+        */
+       bStop = false;
+       if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) &&
+           (pMgmt->eCurrState >= WMAC_STATE_STARTED)) {
+               if ((pMgmt->uIBSSChannel <=  CB_MAX_CHANNEL_24G) &&
+                   (pMgmt->uScanChannel > CB_MAX_CHANNEL_24G)) {
+                       bStop = true;
+               }
+               if (pMgmt->uIBSSChannel >  CB_MAX_CHANNEL_24G)
+                       bStop = true;
+       }
+
+       if (bStop) {
+               //PMESG(("STOP_BEACON: IBSSChannel = %u, ScanChannel = %u\n",
+               //        pMgmt->uIBSSChannel, pMgmt->uScanChannel));
+               MACvRegBitsOff(pDevice, MAC_REG_TCR, TCR_AUTOBCNTX);
+       }
 
 } /* vAdHocBeaconStop */
 
@@ -145,12 +140,11 @@ static void vAdHocBeaconRestart(struct vnt_private *pDevice)
      *  (1) STA is in AdHoc mode
      *  (2) VT3253 is programmed as automatic Beacon Transmitting
      */
-    if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) &&
-    (pMgmt->eCurrState >= WMAC_STATE_STARTED))
-    {
-        //PMESG(("RESTART_BEACON\n"));
-        MACvRegBitsOn(pDevice, MAC_REG_TCR, TCR_AUTOBCNTX);
-    }
+       if ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) &&
+           (pMgmt->eCurrState >= WMAC_STATE_STARTED)) {
+               //PMESG(("RESTART_BEACON\n"));
+               MACvRegBitsOn(pDevice, MAC_REG_TCR, TCR_AUTOBCNTX);
+       }
 
 }
 
@@ -182,34 +176,33 @@ static void s_vProbeChannel(struct vnt_private *pDevice)
        u8 *pbyRate;
        int ii;
 
-    if (pDevice->byBBType == BB_TYPE_11A) {
-        pbyRate = &abyCurrSuppRatesA[0];
-    } else if (pDevice->byBBType == BB_TYPE_11B) {
-        pbyRate = &abyCurrSuppRatesB[0];
-    } else {
-        pbyRate = &abyCurrSuppRatesG[0];
-    }
-    // build an assocreq frame and send it
-    pTxPacket = s_MgrMakeProbeRequest
-                (
-                  pDevice,
-                  pMgmt,
-                  pMgmt->abyScanBSSID,
-                  (PWLAN_IE_SSID)pMgmt->abyScanSSID,
-                  (PWLAN_IE_SUPP_RATES)pbyRate,
-                  (PWLAN_IE_SUPP_RATES)abyCurrExtSuppRatesG
-                );
-
-    if (pTxPacket != NULL ){
-        for (ii = 0; ii < 1 ; ii++) {
-            if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Probe request sending fail.. \n");
-            }
-            else {
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Probe request is sending.. \n");
-            }
-        }
-    }
+       if (pDevice->byBBType == BB_TYPE_11A)
+               pbyRate = &abyCurrSuppRatesA[0];
+       else if (pDevice->byBBType == BB_TYPE_11B)
+               pbyRate = &abyCurrSuppRatesB[0];
+       else
+               pbyRate = &abyCurrSuppRatesG[0];
+
+       // build an assocreq frame and send it
+       pTxPacket = s_MgrMakeProbeRequest
+                   (
+                    pDevice,
+                    pMgmt,
+                    pMgmt->abyScanBSSID,
+                    (PWLAN_IE_SSID)pMgmt->abyScanSSID,
+                    (PWLAN_IE_SUPP_RATES)pbyRate,
+                    (PWLAN_IE_SUPP_RATES)abyCurrExtSuppRatesG
+                    );
+
+       if (pTxPacket != NULL) {
+               for (ii = 0; ii < 1; ii++) {
+                       if (csMgmt_xmit(pDevice, pTxPacket) != CMD_STATUS_PENDING) {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Probe request sending fail..\n");
+                       } else {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Probe request is sending..\n");
+                       }
+               }
+       }
 
 }
 
@@ -224,7 +217,7 @@ static void s_vProbeChannel(struct vnt_private *pDevice)
  *
 -*/
 
-struct vnt_tx_mgmt *s_MgrMakeProbeRequest(struct vnt_private *pDevice,
+static struct vnt_tx_mgmt *s_MgrMakeProbeRequest(struct vnt_private *pDevice,
        struct vnt_manager *pMgmt, u8 *pScanBSSID, PWLAN_IE_SSID pSSID,
        PWLAN_IE_SUPP_RATES pCurrRates, PWLAN_IE_SUPP_RATES pCurrExtSuppRates)
 {
@@ -236,37 +229,38 @@ struct vnt_tx_mgmt *s_MgrMakeProbeRequest(struct vnt_private *pDevice,
                + WLAN_PROBEREQ_FR_MAXLEN);
        pTxPacket->p80211Header = (PUWLAN_80211HDR)((u8 *)pTxPacket
                + sizeof(struct vnt_tx_mgmt));
-    sFrame.pBuf = (u8 *)pTxPacket->p80211Header;
-    sFrame.len = WLAN_PROBEREQ_FR_MAXLEN;
-    vMgrEncodeProbeRequest(&sFrame);
-    sFrame.pHdr->sA3.wFrameCtl = cpu_to_le16(
-        (
-        WLAN_SET_FC_FTYPE(WLAN_TYPE_MGR) |
-        WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_PROBEREQ)
-        ));
-    memcpy( sFrame.pHdr->sA3.abyAddr1, pScanBSSID, WLAN_ADDR_LEN);
-    memcpy( sFrame.pHdr->sA3.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
-    memcpy( sFrame.pHdr->sA3.abyAddr3, pScanBSSID, WLAN_BSSID_LEN);
-    // Copy the SSID, pSSID->len=0 indicate broadcast SSID
-    sFrame.pSSID = (PWLAN_IE_SSID)(sFrame.pBuf + sFrame.len);
-    sFrame.len += pSSID->len + WLAN_IEHDR_LEN;
-    memcpy(sFrame.pSSID, pSSID, pSSID->len + WLAN_IEHDR_LEN);
-    sFrame.pSuppRates = (PWLAN_IE_SUPP_RATES)(sFrame.pBuf + sFrame.len);
-    sFrame.len += pCurrRates->len + WLAN_IEHDR_LEN;
-    memcpy(sFrame.pSuppRates, pCurrRates, pCurrRates->len + WLAN_IEHDR_LEN);
-    // Copy the extension rate set
-    if (pDevice->byBBType == BB_TYPE_11G) {
-        sFrame.pExtSuppRates = (PWLAN_IE_SUPP_RATES)(sFrame.pBuf + sFrame.len);
-        sFrame.len += pCurrExtSuppRates->len + WLAN_IEHDR_LEN;
-        memcpy(sFrame.pExtSuppRates, pCurrExtSuppRates, pCurrExtSuppRates->len + WLAN_IEHDR_LEN);
-    }
-    pTxPacket->cbMPDULen = sFrame.len;
-    pTxPacket->cbPayloadLen = sFrame.len - WLAN_HDR_ADDR3_LEN;
-
-    return pTxPacket;
+       sFrame.pBuf = (u8 *)pTxPacket->p80211Header;
+       sFrame.len = WLAN_PROBEREQ_FR_MAXLEN;
+       vMgrEncodeProbeRequest(&sFrame);
+       sFrame.pHdr->sA3.wFrameCtl = cpu_to_le16(
+               (
+                WLAN_SET_FC_FTYPE(WLAN_TYPE_MGR) |
+                WLAN_SET_FC_FSTYPE(WLAN_FSTYPE_PROBEREQ)
+                ));
+       memcpy(sFrame.pHdr->sA3.abyAddr1, pScanBSSID, WLAN_ADDR_LEN);
+       memcpy(sFrame.pHdr->sA3.abyAddr2, pMgmt->abyMACAddr, WLAN_ADDR_LEN);
+       memcpy(sFrame.pHdr->sA3.abyAddr3, pScanBSSID, WLAN_BSSID_LEN);
+       // Copy the SSID, pSSID->len=0 indicate broadcast SSID
+       sFrame.pSSID = (PWLAN_IE_SSID)(sFrame.pBuf + sFrame.len);
+       sFrame.len += pSSID->len + WLAN_IEHDR_LEN;
+       memcpy(sFrame.pSSID, pSSID, pSSID->len + WLAN_IEHDR_LEN);
+       sFrame.pSuppRates = (PWLAN_IE_SUPP_RATES)(sFrame.pBuf + sFrame.len);
+       sFrame.len += pCurrRates->len + WLAN_IEHDR_LEN;
+       memcpy(sFrame.pSuppRates, pCurrRates, pCurrRates->len + WLAN_IEHDR_LEN);
+       // Copy the extension rate set
+       if (pDevice->byBBType == BB_TYPE_11G) {
+               sFrame.pExtSuppRates = (PWLAN_IE_SUPP_RATES)(sFrame.pBuf + sFrame.len);
+               sFrame.len += pCurrExtSuppRates->len + WLAN_IEHDR_LEN;
+               memcpy(sFrame.pExtSuppRates, pCurrExtSuppRates, pCurrExtSuppRates->len + WLAN_IEHDR_LEN);
+       }
+       pTxPacket->cbMPDULen = sFrame.len;
+       pTxPacket->cbPayloadLen = sFrame.len - WLAN_HDR_ADDR3_LEN;
+
+       return pTxPacket;
 }
 
-void vCommandTimerWait(struct vnt_private *pDevice, unsigned long MSecond)
+static void
+vCommandTimerWait(struct vnt_private *pDevice, unsigned long MSecond)
 {
        schedule_delayed_work(&pDevice->run_command_work,
                                                msecs_to_jiffies(MSecond));
@@ -289,661 +283,641 @@ void vRunCommand(struct work_struct *work)
        if (pDevice->Flags & fMP_DISCONNECTED)
                return;
 
-    if (pDevice->dwDiagRefCount != 0)
-        return;
-    if (pDevice->bCmdRunning != true)
-        return;
+       if (pDevice->dwDiagRefCount != 0)
+               return;
+       if (pDevice->bCmdRunning != true)
+               return;
 
-    spin_lock_irq(&pDevice->lock);
+       spin_lock_irq(&pDevice->lock);
 
-    switch ( pDevice->eCommandState ) {
+       switch (pDevice->eCommandState) {
 
-        case WLAN_CMD_SCAN_START:
+       case WLAN_CMD_SCAN_START:
 
                pDevice->byReAssocCount = 0;
-            if (pDevice->bRadioOff == true) {
-                s_bCommandComplete(pDevice);
-                spin_unlock_irq(&pDevice->lock);
-                return;
-            }
-
-            if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
-                s_bCommandComplete(pDevice);
-                spin_unlock_irq(&pDevice->lock);
-                return;
-            }
-
-            pItemSSID = (PWLAN_IE_SSID)pMgmt->abyScanSSID;
-
-            if (pMgmt->uScanChannel == 0 ) {
-                pMgmt->uScanChannel = pDevice->byMinChannel;
-            }
-            if (pMgmt->uScanChannel > pDevice->byMaxChannel) {
-               pDevice->eCommandState = WLAN_CMD_SCAN_END;
-                s_bCommandComplete(pDevice);
-                spin_unlock_irq(&pDevice->lock);
-                return;
-
-            } else {
-                if (!ChannelValid(pDevice->byZoneType, pMgmt->uScanChannel)) {
-                    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Invalid channel pMgmt->uScanChannel = %d \n",pMgmt->uScanChannel);
+               if (pDevice->bRadioOff == true) {
+                       s_bCommandComplete(pDevice);
+                       spin_unlock_irq(&pDevice->lock);
+                       return;
+               }
+
+               if (pMgmt->eCurrMode == WMAC_MODE_ESS_AP) {
+                       s_bCommandComplete(pDevice);
+                       spin_unlock_irq(&pDevice->lock);
+                       return;
+               }
+
+               pItemSSID = (PWLAN_IE_SSID)pMgmt->abyScanSSID;
+
+               if (pMgmt->uScanChannel == 0)
+                       pMgmt->uScanChannel = pDevice->byMinChannel;
+               if (pMgmt->uScanChannel > pDevice->byMaxChannel) {
+                       pDevice->eCommandState = WLAN_CMD_SCAN_END;
+                       s_bCommandComplete(pDevice);
+                       spin_unlock_irq(&pDevice->lock);
+                       return;
+               } else {
+                       if (!ChannelValid(pDevice->byZoneType, pMgmt->uScanChannel)) {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Invalid channel pMgmt->uScanChannel = %d\n", pMgmt->uScanChannel);
+                               pMgmt->uScanChannel++;
+                               s_bCommandComplete(pDevice);
+                               spin_unlock_irq(&pDevice->lock);
+                               return;
+                       }
+                       if (pMgmt->uScanChannel == pDevice->byMinChannel) {
+                               // pMgmt->eScanType = WMAC_SCAN_ACTIVE;          //mike mark
+                               pMgmt->abyScanBSSID[0] = 0xFF;
+                               pMgmt->abyScanBSSID[1] = 0xFF;
+                               pMgmt->abyScanBSSID[2] = 0xFF;
+                               pMgmt->abyScanBSSID[3] = 0xFF;
+                               pMgmt->abyScanBSSID[4] = 0xFF;
+                               pMgmt->abyScanBSSID[5] = 0xFF;
+                               pItemSSID->byElementID = WLAN_EID_SSID;
+                               // clear bssid list
+                               /* BSSvClearBSSList((void *) pDevice, pDevice->bLinkPass); */
+                               pMgmt->eScanState = WMAC_IS_SCANNING;
+                               pDevice->byScanBBType = pDevice->byBBType;  //lucas
+                               pDevice->bStopDataPkt = true;
+                               // Turn off RCR_BSSID filter every time
+                               MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_BSSID);
+                               pDevice->byRxMode &= ~RCR_BSSID;
+                       }
+                       //lucas
+                       vAdHocBeaconStop(pDevice);
+                       if ((pDevice->byBBType != BB_TYPE_11A) &&
+                           (pMgmt->uScanChannel > CB_MAX_CHANNEL_24G)) {
+                               pDevice->byBBType = BB_TYPE_11A;
+                               CARDvSetBSSMode(pDevice);
+                       } else if ((pDevice->byBBType == BB_TYPE_11A) &&
+                                  (pMgmt->uScanChannel <= CB_MAX_CHANNEL_24G)) {
+                               pDevice->byBBType = BB_TYPE_11G;
+                               CARDvSetBSSMode(pDevice);
+                       }
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning....  channel: [%d]\n", pMgmt->uScanChannel);
+                       // Set channel
+                       CARDbSetMediaChannel(pDevice, pMgmt->uScanChannel);
+                       // Set Baseband to be more sensitive.
+
+                       if (pDevice->bUpdateBBVGA) {
+                               BBvSetShortSlotTime(pDevice);
+                               BBvSetVGAGainOffset(pDevice, pDevice->abyBBVGA[0]);
+                               BBvUpdatePreEDThreshold(pDevice, true);
+                       }
                        pMgmt->uScanChannel++;
-                    s_bCommandComplete(pDevice);
-                    spin_unlock_irq(&pDevice->lock);
-                    return;
-                }
-                if (pMgmt->uScanChannel == pDevice->byMinChannel) {
-                   // pMgmt->eScanType = WMAC_SCAN_ACTIVE;          //mike mark
-                    pMgmt->abyScanBSSID[0] = 0xFF;
-                    pMgmt->abyScanBSSID[1] = 0xFF;
-                    pMgmt->abyScanBSSID[2] = 0xFF;
-                    pMgmt->abyScanBSSID[3] = 0xFF;
-                    pMgmt->abyScanBSSID[4] = 0xFF;
-                    pMgmt->abyScanBSSID[5] = 0xFF;
-                    pItemSSID->byElementID = WLAN_EID_SSID;
-                    // clear bssid list
-                   /* BSSvClearBSSList((void *) pDevice,
-                      pDevice->bLinkPass); */
-                    pMgmt->eScanState = WMAC_IS_SCANNING;
-                    pDevice->byScanBBType = pDevice->byBBType;  //lucas
-                    pDevice->bStopDataPkt = true;
-                    // Turn off RCR_BSSID filter every time
-                    MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_BSSID);
-                    pDevice->byRxMode &= ~RCR_BSSID;
-
-                }
-                //lucas
-                vAdHocBeaconStop(pDevice);
-                if ((pDevice->byBBType != BB_TYPE_11A) && (pMgmt->uScanChannel > CB_MAX_CHANNEL_24G)) {
-                    pDevice->byBBType = BB_TYPE_11A;
-                    CARDvSetBSSMode(pDevice);
-                }
-                else if ((pDevice->byBBType == BB_TYPE_11A) && (pMgmt->uScanChannel <= CB_MAX_CHANNEL_24G)) {
-                    pDevice->byBBType = BB_TYPE_11G;
-                    CARDvSetBSSMode(pDevice);
-                }
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning....  channel: [%d]\n", pMgmt->uScanChannel);
-                // Set channel
-                CARDbSetMediaChannel(pDevice, pMgmt->uScanChannel);
-                // Set Baseband to be more sensitive.
-
-                if (pDevice->bUpdateBBVGA) {
-                    BBvSetShortSlotTime(pDevice);
-                    BBvSetVGAGainOffset(pDevice, pDevice->abyBBVGA[0]);
-                    BBvUpdatePreEDThreshold(pDevice, true);
-                }
-                pMgmt->uScanChannel++;
-
-                while (!ChannelValid(pDevice->byZoneType, pMgmt->uScanChannel) &&
-                        pMgmt->uScanChannel <= pDevice->byMaxChannel ){
-                    pMgmt->uScanChannel++;
-                }
-
-                if (pMgmt->uScanChannel > pDevice->byMaxChannel) {
-                    // Set Baseband to be not sensitive and rescan
-                    pDevice->eCommandState = WLAN_CMD_SCAN_END;
-
-                }
-                if ((pMgmt->b11hEnable == false) ||
-                    (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) {
-                    s_vProbeChannel(pDevice);
-                    spin_unlock_irq(&pDevice->lock);
-                    vCommandTimerWait((void *) pDevice, 100);
-                    return;
-                } else {
-                    spin_unlock_irq(&pDevice->lock);
-                   vCommandTimerWait((void *) pDevice, WCMD_PASSIVE_SCAN_TIME);
-                    return;
-                }
-
-            }
-
-            break;
-
-        case WLAN_CMD_SCAN_END:
-
-            // Set Baseband's sensitivity back.
-            if (pDevice->byBBType != pDevice->byScanBBType) {
-                pDevice->byBBType = pDevice->byScanBBType;
-                CARDvSetBSSMode(pDevice);
-            }
-
-            if (pDevice->bUpdateBBVGA) {
-                BBvSetShortSlotTime(pDevice);
-                BBvSetVGAGainOffset(pDevice, pDevice->byBBVGACurrent);
-                BBvUpdatePreEDThreshold(pDevice, false);
-            }
-
-            // Set channel back
-            vAdHocBeaconRestart(pDevice);
-            // Set channel back
-            CARDbSetMediaChannel(pDevice, pMgmt->uCurrChannel);
-            // Set Filter
-            if (pMgmt->bCurrBSSIDFilterOn) {
-                MACvRegBitsOn(pDevice, MAC_REG_RCR, RCR_BSSID);
-                pDevice->byRxMode |= RCR_BSSID;
-            }
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning, set back to channel: [%d]\n", pMgmt->uCurrChannel);
+
+                       while (!ChannelValid(pDevice->byZoneType, pMgmt->uScanChannel) &&
+                               pMgmt->uScanChannel <= pDevice->byMaxChannel){
+                               pMgmt->uScanChannel++;
+                       }
+
+                       if (pMgmt->uScanChannel > pDevice->byMaxChannel) {
+                               // Set Baseband to be not sensitive and rescan
+                               pDevice->eCommandState = WLAN_CMD_SCAN_END;
+                       }
+                       if ((pMgmt->b11hEnable == false) ||
+                           (pMgmt->uScanChannel < CB_MAX_CHANNEL_24G)) {
+                               s_vProbeChannel(pDevice);
+                               spin_unlock_irq(&pDevice->lock);
+                               vCommandTimerWait((void *) pDevice, 100);
+                               return;
+                       } else {
+                               spin_unlock_irq(&pDevice->lock);
+                               vCommandTimerWait((void *) pDevice, WCMD_PASSIVE_SCAN_TIME);
+                               return;
+                       }
+               }
+
+               break;
+
+       case WLAN_CMD_SCAN_END:
+
+               // Set Baseband's sensitivity back.
+               if (pDevice->byBBType != pDevice->byScanBBType) {
+                       pDevice->byBBType = pDevice->byScanBBType;
+                       CARDvSetBSSMode(pDevice);
+               }
+
+               if (pDevice->bUpdateBBVGA) {
+                       BBvSetShortSlotTime(pDevice);
+                       BBvSetVGAGainOffset(pDevice, pDevice->byBBVGACurrent);
+                       BBvUpdatePreEDThreshold(pDevice, false);
+               }
+
+               // Set channel back
+               vAdHocBeaconRestart(pDevice);
+               // Set channel back
+               CARDbSetMediaChannel(pDevice, pMgmt->uCurrChannel);
+               // Set Filter
+               if (pMgmt->bCurrBSSIDFilterOn) {
+                       MACvRegBitsOn(pDevice, MAC_REG_RCR, RCR_BSSID);
+                       pDevice->byRxMode |= RCR_BSSID;
+               }
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Scanning, set back to channel: [%d]\n", pMgmt->uCurrChannel);
                pMgmt->uScanChannel = 0;
-            pMgmt->eScanState = WMAC_NO_SCANNING;
-            pDevice->bStopDataPkt = false;
+               pMgmt->eScanState = WMAC_NO_SCANNING;
+               pDevice->bStopDataPkt = false;
 
                /*send scan event to wpa_Supplicant*/
                PRINT_K("wireless_send_event--->SIOCGIWSCAN(scan done)\n");
                memset(&wrqu, 0, sizeof(wrqu));
                wireless_send_event(pDevice->dev, SIOCGIWSCAN, &wrqu, NULL);
 
-            s_bCommandComplete(pDevice);
-            break;
+               s_bCommandComplete(pDevice);
+               break;
 
-        case WLAN_CMD_DISASSOCIATE_START :
+       case WLAN_CMD_DISASSOCIATE_START:
                pDevice->byReAssocCount = 0;
-            if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) &&
-                (pMgmt->eCurrState != WMAC_STATE_ASSOC)) {
-                s_bCommandComplete(pDevice);
-                spin_unlock_irq(&pDevice->lock);
-                return;
-            } else {
-
-                     pDevice->bwextstep0 = false;
-                        pDevice->bwextstep1 = false;
-                        pDevice->bwextstep2 = false;
-                        pDevice->bwextstep3 = false;
-                  pDevice->bWPASuppWextEnabled = false;
-                   pDevice->fWPA_Authened = false;
-
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Send Disassociation Packet..\n");
-                // reason = 8 : disassoc because sta has left
-               vMgrDisassocBeginSta((void *) pDevice,
-                                    pMgmt,
-                                    pMgmt->abyCurrBSSID,
-                                    (8),
-                                    &Status);
-                pDevice->bLinkPass = false;
-                ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW);
-                // unlock command busy
-                pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID;
-                pItemSSID->len = 0;
-                memset(pItemSSID->abySSID, 0, WLAN_SSID_MAXLEN);
-                pMgmt->eCurrState = WMAC_STATE_IDLE;
-                pMgmt->sNodeDBTable[0].bActive = false;
-//                pDevice->bBeaconBufReady = false;
-            }
-            netif_stop_queue(pDevice->dev);
-            if (pDevice->bNeedRadioOFF == true)
-                CARDbRadioPowerOff(pDevice);
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_SSID_START:
+               if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) &&
+                   (pMgmt->eCurrState != WMAC_STATE_ASSOC)) {
+                       s_bCommandComplete(pDevice);
+                       spin_unlock_irq(&pDevice->lock);
+                       return;
+               } else {
+                       pDevice->bwextstep0 = false;
+                       pDevice->bwextstep1 = false;
+                       pDevice->bwextstep2 = false;
+                       pDevice->bwextstep3 = false;
+                       pDevice->bWPASuppWextEnabled = false;
+                       pDevice->fWPA_Authened = false;
+
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Send Disassociation Packet..\n");
+                       // reason = 8 : disassoc because sta has left
+                       vMgrDisassocBeginSta((void *) pDevice,
+                                            pMgmt,
+                                            pMgmt->abyCurrBSSID,
+                                            (8),
+                                            &Status);
+                       pDevice->bLinkPass = false;
+                       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_SLOW);
+                       // unlock command busy
+                       pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID;
+                       pItemSSID->len = 0;
+                       memset(pItemSSID->abySSID, 0, WLAN_SSID_MAXLEN);
+                       pMgmt->eCurrState = WMAC_STATE_IDLE;
+                       pMgmt->sNodeDBTable[0].bActive = false;
+//                     pDevice->bBeaconBufReady = false;
+               }
+               netif_stop_queue(pDevice->dev);
+               if (pDevice->bNeedRadioOFF == true)
+                       CARDbRadioPowerOff(pDevice);
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_SSID_START:
 
                pDevice->byReAssocCount = 0;
-            if (pDevice->bRadioOff == true) {
-                s_bCommandComplete(pDevice);
-                spin_unlock_irq(&pDevice->lock);
-                return;
-            }
-
-            memcpy(pMgmt->abyAdHocSSID,pMgmt->abyDesireSSID,
-                              ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len + WLAN_IEHDR_LEN);
-
-            pItemSSID = (PWLAN_IE_SSID)pMgmt->abyDesireSSID;
-            pItemSSIDCurr = (PWLAN_IE_SSID)pMgmt->abyCurrSSID;
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" cmd: desire ssid = %s\n", pItemSSID->abySSID);
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" cmd: curr ssid = %s\n", pItemSSIDCurr->abySSID);
-
-            if (pMgmt->eCurrState == WMAC_STATE_ASSOC) {
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Cmd pMgmt->eCurrState == WMAC_STATE_ASSOC\n");
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" pItemSSID->len =%d\n",pItemSSID->len);
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" pItemSSIDCurr->len = %d\n",pItemSSIDCurr->len);
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" desire ssid = %s\n", pItemSSID->abySSID);
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" curr ssid = %s\n", pItemSSIDCurr->abySSID);
-            }
-
-            if ((pMgmt->eCurrState == WMAC_STATE_ASSOC) ||
-                ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA)&& (pMgmt->eCurrState == WMAC_STATE_JOINTED))) {
-
-                if (pItemSSID->len == pItemSSIDCurr->len) {
-                    if (memcmp(pItemSSID->abySSID, pItemSSIDCurr->abySSID, pItemSSID->len) == 0) {
-                        s_bCommandComplete(pDevice);
-                        spin_unlock_irq(&pDevice->lock);
-                        return;
-                    }
-                }
-                netif_stop_queue(pDevice->dev);
-                pDevice->bLinkPass = false;
-                ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW);
-            }
-            // set initial state
-            pMgmt->eCurrState = WMAC_STATE_IDLE;
-            pMgmt->eCurrMode = WMAC_MODE_STANDBY;
-           PSvDisablePowerSaving((void *) pDevice);
-            BSSvClearNodeDBTable(pDevice, 0);
-           vMgrJoinBSSBegin((void *) pDevice, &Status);
-            // if Infra mode
-            if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED)) {
-                // Call mgr to begin the deauthentication
-                // reason = (3) because sta has left ESS
-             if (pMgmt->eCurrState >= WMAC_STATE_AUTH) {
-               vMgrDeAuthenBeginSta((void *)pDevice,
-                                    pMgmt,
-                                    pMgmt->abyCurrBSSID,
-                                    (3),
-                                    &Status);
-             }
-                // Call mgr to begin the authentication
-               vMgrAuthenBeginSta((void *) pDevice, pMgmt, &Status);
-                if (Status == CMD_STATUS_SUCCESS) {
-                  pDevice->byLinkWaitCount = 0;
-                    pDevice->eCommandState = WLAN_AUTHENTICATE_WAIT;
-                   vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT);
-                    spin_unlock_irq(&pDevice->lock);
-                    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Set eCommandState = WLAN_AUTHENTICATE_WAIT\n");
-                    return;
-                }
-            }
-            // if Adhoc mode
-            else if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) {
-                if (pMgmt->eCurrState == WMAC_STATE_JOINTED) {
-                    if (netif_queue_stopped(pDevice->dev)){
-                        netif_wake_queue(pDevice->dev);
-                    }
-                    pDevice->bLinkPass = true;
-                    ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_INTER);
-                    pMgmt->sNodeDBTable[0].bActive = true;
-                    pMgmt->sNodeDBTable[0].uInActiveCount = 0;
-                }
-                else {
-                    // start own IBSS
-                   DBG_PRT(MSG_LEVEL_DEBUG,
-                           KERN_INFO "CreateOwn IBSS by CurrMode = IBSS_STA\n");
-                   vMgrCreateOwnIBSS((void *) pDevice, &Status);
-                    if (Status != CMD_STATUS_SUCCESS){
-                       DBG_PRT(MSG_LEVEL_DEBUG,
-                               KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n");
-                    }
-                    BSSvAddMulticastNode(pDevice);
-                }
-                s_bClearBSSID_SCAN(pDevice);
-            }
-            // if SSID not found
-            else if (pMgmt->eCurrMode == WMAC_MODE_STANDBY) {
-                if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA ||
-                    pMgmt->eConfigMode == WMAC_CONFIG_AUTO) {
-                    // start own IBSS
-                       DBG_PRT(MSG_LEVEL_DEBUG,
-                               KERN_INFO "CreateOwn IBSS by CurrMode = STANDBY\n");
-                   vMgrCreateOwnIBSS((void *) pDevice, &Status);
-                    if (Status != CMD_STATUS_SUCCESS){
-                       DBG_PRT(MSG_LEVEL_DEBUG,
-                               KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n");
-                    }
-                    BSSvAddMulticastNode(pDevice);
-                    s_bClearBSSID_SCAN(pDevice);
+               if (pDevice->bRadioOff == true) {
+                       s_bCommandComplete(pDevice);
+                       spin_unlock_irq(&pDevice->lock);
+                       return;
+               }
+
+               memcpy(pMgmt->abyAdHocSSID, pMgmt->abyDesireSSID,
+                      ((PWLAN_IE_SSID)pMgmt->abyDesireSSID)->len + WLAN_IEHDR_LEN);
+
+               pItemSSID = (PWLAN_IE_SSID)pMgmt->abyDesireSSID;
+               pItemSSIDCurr = (PWLAN_IE_SSID)pMgmt->abyCurrSSID;
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" cmd: desire ssid = %s\n", pItemSSID->abySSID);
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" cmd: curr ssid = %s\n", pItemSSIDCurr->abySSID);
+
+               if (pMgmt->eCurrState == WMAC_STATE_ASSOC) {
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Cmd pMgmt->eCurrState == WMAC_STATE_ASSOC\n");
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" pItemSSID->len =%d\n", pItemSSID->len);
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" pItemSSIDCurr->len = %d\n", pItemSSIDCurr->len);
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" desire ssid = %s\n", pItemSSID->abySSID);
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" curr ssid = %s\n", pItemSSIDCurr->abySSID);
+               }
+
+               if ((pMgmt->eCurrState == WMAC_STATE_ASSOC) ||
+                   ((pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED))) {
+                       if (pItemSSID->len == pItemSSIDCurr->len) {
+                               if (memcmp(pItemSSID->abySSID, pItemSSIDCurr->abySSID, pItemSSID->len) == 0) {
+                                       s_bCommandComplete(pDevice);
+                                       spin_unlock_irq(&pDevice->lock);
+                                       return;
+                               }
+                       }
+                       netif_stop_queue(pDevice->dev);
+                       pDevice->bLinkPass = false;
+                       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_SLOW);
+               }
+               // set initial state
+               pMgmt->eCurrState = WMAC_STATE_IDLE;
+               pMgmt->eCurrMode = WMAC_MODE_STANDBY;
+               PSvDisablePowerSaving((void *) pDevice);
+               BSSvClearNodeDBTable(pDevice, 0);
+               vMgrJoinBSSBegin((void *) pDevice, &Status);
+               // if Infra mode
+               if ((pMgmt->eCurrMode == WMAC_MODE_ESS_STA) && (pMgmt->eCurrState == WMAC_STATE_JOINTED)) {
+                       // Call mgr to begin the deauthentication
+                       // reason = (3) because sta has left ESS
+                       if (pMgmt->eCurrState >= WMAC_STATE_AUTH) {
+                               vMgrDeAuthenBeginSta((void *)pDevice,
+                                                    pMgmt,
+                                                    pMgmt->abyCurrBSSID,
+                                                    (3),
+                                                    &Status);
+                       }
+                       // Call mgr to begin the authentication
+                       vMgrAuthenBeginSta((void *) pDevice, pMgmt, &Status);
+                       if (Status == CMD_STATUS_SUCCESS) {
+                               pDevice->byLinkWaitCount = 0;
+                               pDevice->eCommandState = WLAN_AUTHENTICATE_WAIT;
+                               vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT);
+                               spin_unlock_irq(&pDevice->lock);
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Set eCommandState = WLAN_AUTHENTICATE_WAIT\n");
+                               return;
+                       }
+               }
+               // if Adhoc mode
+               else if (pMgmt->eCurrMode == WMAC_MODE_IBSS_STA) {
+                       if (pMgmt->eCurrState == WMAC_STATE_JOINTED) {
+                               if (netif_queue_stopped(pDevice->dev))
+                                       netif_wake_queue(pDevice->dev);
+                               pDevice->bLinkPass = true;
+                               ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_INTER);
+                               pMgmt->sNodeDBTable[0].bActive = true;
+                               pMgmt->sNodeDBTable[0].uInActiveCount = 0;
+                       } else {
+                               // start own IBSS
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "CreateOwn IBSS by CurrMode = IBSS_STA\n");
+                               vMgrCreateOwnIBSS((void *) pDevice, &Status);
+                               if (Status != CMD_STATUS_SUCCESS) {
+                                       DBG_PRT(MSG_LEVEL_DEBUG,
+                                               KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n");
+                               }
+                               BSSvAddMulticastNode(pDevice);
+                       }
+                       s_bClearBSSID_SCAN(pDevice);
+               }
+               // if SSID not found
+               else if (pMgmt->eCurrMode == WMAC_MODE_STANDBY) {
+                       if (pMgmt->eConfigMode == WMAC_CONFIG_IBSS_STA ||
+                           pMgmt->eConfigMode == WMAC_CONFIG_AUTO) {
+                               // start own IBSS
+                               DBG_PRT(MSG_LEVEL_DEBUG,
+                                       KERN_INFO "CreateOwn IBSS by CurrMode = STANDBY\n");
+                               vMgrCreateOwnIBSS((void *) pDevice, &Status);
+                               if (Status != CMD_STATUS_SUCCESS) {
+                                       DBG_PRT(MSG_LEVEL_DEBUG,
+                                               KERN_INFO "WLAN_CMD_IBSS_CREATE fail!\n");
+                               }
+                               BSSvAddMulticastNode(pDevice);
+                               s_bClearBSSID_SCAN(pDevice);
 /*
-                    pDevice->bLinkPass = true;
-                    ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_INTER);
-                    if (netif_queue_stopped(pDevice->dev)){
-                        netif_wake_queue(pDevice->dev);
-                    }
-                    s_bClearBSSID_SCAN(pDevice);
+                               pDevice->bLinkPass = true;
+                               ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_INTER);
+                               if (netif_queue_stopped(pDevice->dev)){
+                                       netif_wake_queue(pDevice->dev);
+                               }
+                               s_bClearBSSID_SCAN(pDevice);
 */
-                }
-                else {
-                    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Disconnect SSID none\n");
-                    // if(pDevice->bWPASuppWextEnabled == true)
-                        {
-                       union iwreq_data  wrqu;
-                       memset(&wrqu, 0, sizeof (wrqu));
-                          wrqu.ap_addr.sa_family = ARPHRD_ETHER;
-                       PRINT_K("wireless_send_event--->SIOCGIWAP(disassociated:vMgrJoinBSSBegin Fail !!)\n");
-                       wireless_send_event(pDevice->dev, SIOCGIWAP, &wrqu, NULL);
-                       }
-                }
-            }
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_AUTHENTICATE_WAIT :
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState == WLAN_AUTHENTICATE_WAIT\n");
-            if (pMgmt->eCurrState == WMAC_STATE_AUTH) {
+                       } else {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Disconnect SSID none\n");
+                               // if(pDevice->bWPASuppWextEnabled == true)
+                               {
+                                       union iwreq_data  wrqu;
+                                       memset(&wrqu, 0, sizeof(wrqu));
+                                       wrqu.ap_addr.sa_family = ARPHRD_ETHER;
+                                       PRINT_K("wireless_send_event--->SIOCGIWAP(disassociated:vMgrJoinBSSBegin Fail !!)\n");
+                                       wireless_send_event(pDevice->dev, SIOCGIWAP, &wrqu, NULL);
+                               }
+                       }
+               }
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_AUTHENTICATE_WAIT:
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState == WLAN_AUTHENTICATE_WAIT\n");
+               if (pMgmt->eCurrState == WMAC_STATE_AUTH) {
+                       pDevice->byLinkWaitCount = 0;
+                       // Call mgr to begin the association
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_AUTH\n");
+                       vMgrAssocBeginSta((void *) pDevice, pMgmt, &Status);
+                       if (Status == CMD_STATUS_SUCCESS) {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState = WLAN_ASSOCIATE_WAIT\n");
+                               pDevice->byLinkWaitCount = 0;
+                               pDevice->eCommandState = WLAN_ASSOCIATE_WAIT;
+                               vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT);
+                               spin_unlock_irq(&pDevice->lock);
+                               return;
+                       }
+               } else if (pMgmt->eCurrState < WMAC_STATE_AUTHPENDING) {
+                       printk("WLAN_AUTHENTICATE_WAIT:Authen Fail???\n");
+               } else if (pDevice->byLinkWaitCount <= 4) {
+                       //mike add:wait another 2 sec if authenticated_frame delay!
+                       pDevice->byLinkWaitCount++;
+                       printk("WLAN_AUTHENTICATE_WAIT:wait %d times!!\n", pDevice->byLinkWaitCount);
+                       spin_unlock_irq(&pDevice->lock);
+                       vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT/2);
+                       return;
+               }
                pDevice->byLinkWaitCount = 0;
-                // Call mgr to begin the association
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_AUTH\n");
-               vMgrAssocBeginSta((void *) pDevice, pMgmt, &Status);
-                if (Status == CMD_STATUS_SUCCESS) {
-                    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState = WLAN_ASSOCIATE_WAIT\n");
-                 pDevice->byLinkWaitCount = 0;
-                    pDevice->eCommandState = WLAN_ASSOCIATE_WAIT;
-                   vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT);
-                    spin_unlock_irq(&pDevice->lock);
-                    return;
-                }
-            }
-          else if(pMgmt->eCurrState < WMAC_STATE_AUTHPENDING) {
-               printk("WLAN_AUTHENTICATE_WAIT:Authen Fail???\n");
-          }
-          else  if(pDevice->byLinkWaitCount <= 4){    //mike add:wait another 2 sec if authenticated_frame delay!
-                pDevice->byLinkWaitCount ++;
-              printk("WLAN_AUTHENTICATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount);
-              spin_unlock_irq(&pDevice->lock);
-              vCommandTimerWait((void *) pDevice, AUTHENTICATE_TIMEOUT/2);
-              return;
-          }
-                 pDevice->byLinkWaitCount = 0;
-
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_ASSOCIATE_WAIT :
-            if (pMgmt->eCurrState == WMAC_STATE_ASSOC) {
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_ASSOC\n");
-                if (pDevice->ePSMode != WMAC_POWER_CAM) {
-                       PSvEnablePowerSaving((void *) pDevice,
-                                            pMgmt->wListenInterval);
-                }
+
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_ASSOCIATE_WAIT:
+               if (pMgmt->eCurrState == WMAC_STATE_ASSOC) {
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCurrState == WMAC_STATE_ASSOC\n");
+                       if (pDevice->ePSMode != WMAC_POWER_CAM) {
+                               PSvEnablePowerSaving((void *) pDevice,
+                                               pMgmt->wListenInterval);
+                       }
 /*
-                if (pMgmt->eAuthenMode >= WMAC_AUTH_WPA) {
-                    KeybRemoveAllKey(pDevice, &(pDevice->sKey), pDevice->abyBSSID);
-                }
+                       if (pMgmt->eAuthenMode >= WMAC_AUTH_WPA) {
+                               KeybRemoveAllKey(pDevice, &(pDevice->sKey), pDevice->abyBSSID);
+                       }
 */
-                pDevice->byLinkWaitCount = 0;
-                pDevice->byReAssocCount = 0;
-                pDevice->bLinkPass = true;
-                ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_INTER);
-                s_bClearBSSID_SCAN(pDevice);
-
-                if (netif_queue_stopped(pDevice->dev)){
-                    netif_wake_queue(pDevice->dev);
-                }
-
-            }
-          else if(pMgmt->eCurrState < WMAC_STATE_ASSOCPENDING) {
-               printk("WLAN_ASSOCIATE_WAIT:Association Fail???\n");
-          }
-          else  if(pDevice->byLinkWaitCount <= 4){    //mike add:wait another 2 sec if associated_frame delay!
-                pDevice->byLinkWaitCount ++;
-              printk("WLAN_ASSOCIATE_WAIT:wait %d times!!\n",pDevice->byLinkWaitCount);
-              spin_unlock_irq(&pDevice->lock);
-              vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT/2);
-              return;
-          }
-
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_AP_MODE_START :
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState == WLAN_CMD_AP_MODE_START\n");
-
-            if (pMgmt->eConfigMode == WMAC_CONFIG_AP) {
-               cancel_delayed_work_sync(&pDevice->second_callback_work);
-                pMgmt->eCurrState = WMAC_STATE_IDLE;
-                pMgmt->eCurrMode = WMAC_MODE_STANDBY;
-                pDevice->bLinkPass = false;
-                ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_SLOW);
-                if (pDevice->bEnableHostWEP == true)
-                    BSSvClearNodeDBTable(pDevice, 1);
-                else
-                    BSSvClearNodeDBTable(pDevice, 0);
-                pDevice->uAssocCount = 0;
-                pMgmt->eCurrState = WMAC_STATE_IDLE;
-                pDevice->bFixRate = false;
-
-               vMgrCreateOwnIBSS((void *) pDevice, &Status);
-               if (Status != CMD_STATUS_SUCCESS) {
-                       DBG_PRT(MSG_LEVEL_DEBUG,
-                               KERN_INFO "vMgrCreateOwnIBSS fail!\n");
-                }
-                // always turn off unicast bit
-                MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_UNICAST);
-                pDevice->byRxMode &= ~RCR_UNICAST;
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wcmd: rx_mode = %x\n", pDevice->byRxMode );
-                BSSvAddMulticastNode(pDevice);
-                if (netif_queue_stopped(pDevice->dev)){
-                    netif_wake_queue(pDevice->dev);
-                }
-                pDevice->bLinkPass = true;
-                ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_INTER);
-               schedule_delayed_work(&pDevice->second_callback_work, HZ);
-            }
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_TX_PSPACKET_START :
-            // DTIM Multicast tx
-            if (pMgmt->sNodeDBTable[0].bRxPSPoll) {
-                while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[0].sTxPSQueue)) != NULL) {
-                    if (skb_queue_empty(&pMgmt->sNodeDBTable[0].sTxPSQueue)) {
-                        pMgmt->abyPSTxMap[0] &= ~byMask[0];
-                        pDevice->bMoreData = false;
-                    }
-                    else {
-                        pDevice->bMoreData = true;
-                    }
-
-                    if (nsDMA_tx_packet(pDevice, TYPE_AC0DMA, skb) != 0) {
-                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Multicast ps tx fail \n");
-                    }
-
-                    pMgmt->sNodeDBTable[0].wEnQueueCnt--;
-                }
-            }
-
-            // PS nodes tx
-            for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) {
-                if (pMgmt->sNodeDBTable[ii].bActive &&
-                    pMgmt->sNodeDBTable[ii].bRxPSPoll) {
-                    DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Index=%d Enqueu Cnt= %d\n",
-                               ii, pMgmt->sNodeDBTable[ii].wEnQueueCnt);
-                    while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) != NULL) {
-                        if (skb_queue_empty(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) {
-                            // clear tx map
-                            pMgmt->abyPSTxMap[pMgmt->sNodeDBTable[ii].wAID >> 3] &=
-                                    ~byMask[pMgmt->sNodeDBTable[ii].wAID & 7];
-                            pDevice->bMoreData = false;
-                        }
-                        else {
-                            pDevice->bMoreData = true;
-                        }
-
-                        if (nsDMA_tx_packet(pDevice, TYPE_AC0DMA, skb) != 0) {
-                            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "sta ps tx fail \n");
-                        }
-
-                        pMgmt->sNodeDBTable[ii].wEnQueueCnt--;
-                        // check if sta ps enable, wait next pspoll
-                        // if sta ps disable, send all pending buffers.
-                        if (pMgmt->sNodeDBTable[ii].bPSEnable)
-                            break;
-                    }
-                    if (skb_queue_empty(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) {
-                        // clear tx map
-                        pMgmt->abyPSTxMap[pMgmt->sNodeDBTable[ii].wAID >> 3] &=
-                                    ~byMask[pMgmt->sNodeDBTable[ii].wAID & 7];
-                        DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Index=%d PS queue clear \n", ii);
-                    }
-                    pMgmt->sNodeDBTable[ii].bRxPSPoll = false;
-                }
-            }
-
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_RADIO_START:
-
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState == WLAN_CMD_RADIO_START\n");
-       //     if (pDevice->bRadioCmd == true)
-       //         CARDbRadioPowerOn(pDevice);
-       //     else
-       //         CARDbRadioPowerOff(pDevice);
-
-       {
-              int ntStatus = STATUS_SUCCESS;
-        u8            byTmp;
-
-        ntStatus = CONTROLnsRequestIn(pDevice,
-                                    MESSAGE_TYPE_READ,
-                                    MAC_REG_GPIOCTL1,
-                                    MESSAGE_REQUEST_MACREG,
-                                    1,
-                                    &byTmp);
-
-        if ( ntStatus != STATUS_SUCCESS ) {
-                s_bCommandComplete(pDevice);
-                spin_unlock_irq(&pDevice->lock);
-                return;
-        }
-        if ( (byTmp & GPIO3_DATA) == 0 ) {
-           DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" WLAN_CMD_RADIO_START_OFF........................\n");
-                // Old commands are useless.
-                // empty command Q
-              pDevice->cbFreeCmdQueue = CMD_Q_SIZE;
-                pDevice->uCmdDequeueIdx = 0;
-                pDevice->uCmdEnqueueIdx = 0;
-                //0415pDevice->bCmdRunning = false;
-                pDevice->bCmdClear = true;
-                pDevice->bStopTx0Pkt = false;
-                pDevice->bStopDataPkt = true;
-
-                pDevice->byKeyIndex = 0;
-                pDevice->bTransmitKey = false;
-           spin_unlock_irq(&pDevice->lock);
-           KeyvInitTable(pDevice,&pDevice->sKey);
-           spin_lock_irq(&pDevice->lock);
-              pMgmt->byCSSPK = KEY_CTL_NONE;
-                pMgmt->byCSSGK = KEY_CTL_NONE;
-
-         if (pDevice->bLinkPass == true) {
-                // reason = 8 : disassoc because sta has left
-               vMgrDisassocBeginSta((void *) pDevice,
-                                    pMgmt,
-                                    pMgmt->abyCurrBSSID,
-                                    (8),
-                                    &Status);
-                       pDevice->bLinkPass = false;
-                // unlock command busy
-                        pMgmt->eCurrState = WMAC_STATE_IDLE;
-                        pMgmt->sNodeDBTable[0].bActive = false;
-                    // if(pDevice->bWPASuppWextEnabled == true)
-                        {
-                       union iwreq_data  wrqu;
-                       memset(&wrqu, 0, sizeof (wrqu));
-                          wrqu.ap_addr.sa_family = ARPHRD_ETHER;
-                       PRINT_K("wireless_send_event--->SIOCGIWAP(disassociated)\n");
-                       wireless_send_event(pDevice->dev, SIOCGIWAP, &wrqu, NULL);
-                       }
-               }
-                      pDevice->bwextstep0 = false;
-                        pDevice->bwextstep1 = false;
-                        pDevice->bwextstep2 = false;
-                        pDevice->bwextstep3 = false;
-                     pDevice->bWPASuppWextEnabled = false;
-                         //clear current SSID
-                  pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID;
-                  pItemSSID->len = 0;
-                  memset(pItemSSID->abySSID, 0, WLAN_SSID_MAXLEN);
-                //clear desired SSID
-                pItemSSID = (PWLAN_IE_SSID)pMgmt->abyDesireSSID;
-                pItemSSID->len = 0;
-                memset(pItemSSID->abySSID, 0, WLAN_SSID_MAXLEN);
-
-           netif_stop_queue(pDevice->dev);
-           CARDbRadioPowerOff(pDevice);
-             MACvRegBitsOn(pDevice,MAC_REG_GPIOCTL1,GPIO3_INTMD);
-           ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_OFF);
-           pDevice->bHWRadioOff = true;
-        } else {
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" WLAN_CMD_RADIO_START_ON........................\n");
-            pDevice->bHWRadioOff = false;
-                CARDbRadioPowerOn(pDevice);
-            MACvRegBitsOff(pDevice,MAC_REG_GPIOCTL1,GPIO3_INTMD);
-            ControlvMaskByte(pDevice,MESSAGE_REQUEST_MACREG,MAC_REG_PAPEDELAY,LEDSTS_STS,LEDSTS_ON);
-        }
-      }
-
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_CHANGE_BBSENSITIVITY_START:
-
-            pDevice->bStopDataPkt = true;
-            pDevice->byBBVGACurrent = pDevice->byBBVGANew;
-            BBvSetVGAGainOffset(pDevice, pDevice->byBBVGACurrent);
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Change sensitivity pDevice->byBBVGACurrent = %x\n", pDevice->byBBVGACurrent);
-            pDevice->bStopDataPkt = false;
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_TBTT_WAKEUP_START:
-            PSbIsNextTBTTWakeUp(pDevice);
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_BECON_SEND_START:
-            bMgrPrepareBeaconToSend(pDevice, pMgmt);
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_SETPOWER_START:
-
-            RFbSetPower(pDevice, pDevice->wCurrentRate, pMgmt->uCurrChannel);
-
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_CHANGE_ANTENNA_START:
-            DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Change from Antenna%d to", (int)pDevice->dwRxAntennaSel);
-            if ( pDevice->dwRxAntennaSel == 0) {
-                pDevice->dwRxAntennaSel=1;
-                if (pDevice->bTxRxAntInv == true)
-                    BBvSetAntennaMode(pDevice, ANT_RXA);
-                else
-                    BBvSetAntennaMode(pDevice, ANT_RXB);
-            } else {
-                pDevice->dwRxAntennaSel=0;
-                if (pDevice->bTxRxAntInv == true)
-                    BBvSetAntennaMode(pDevice, ANT_RXB);
-                else
-                    BBvSetAntennaMode(pDevice, ANT_RXA);
-            }
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_REMOVE_ALLKEY_START:
-            KeybRemoveAllKey(pDevice, &(pDevice->sKey), pDevice->abyBSSID);
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_MAC_DISPOWERSAVING_START:
-            ControlvReadByte (pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PSCTL, &byData);
-            if ( (byData & PSCTL_PS) != 0 ) {
-                // disable power saving hw function
-                CONTROLnsRequestOut(pDevice,
-                                MESSAGE_TYPE_DISABLE_PS,
-                                0,
-                                0,
-                                0,
-                                NULL
-                                );
-            }
-            s_bCommandComplete(pDevice);
-            break;
-
-        case WLAN_CMD_11H_CHSW_START:
-            CARDbSetMediaChannel(pDevice, pDevice->byNewChannel);
-            pDevice->bChannelSwitch = false;
-            pMgmt->uCurrChannel = pDevice->byNewChannel;
-            pDevice->bStopDataPkt = false;
-            s_bCommandComplete(pDevice);
-            break;
-
-        default:
-            s_bCommandComplete(pDevice);
-            break;
-    } //switch
-
-    spin_unlock_irq(&pDevice->lock);
-    return;
+                       pDevice->byLinkWaitCount = 0;
+                       pDevice->byReAssocCount = 0;
+                       pDevice->bLinkPass = true;
+                       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_INTER);
+                       s_bClearBSSID_SCAN(pDevice);
+
+                       if (netif_queue_stopped(pDevice->dev))
+                               netif_wake_queue(pDevice->dev);
+
+               } else if (pMgmt->eCurrState < WMAC_STATE_ASSOCPENDING) {
+                       printk("WLAN_ASSOCIATE_WAIT:Association Fail???\n");
+               } else if (pDevice->byLinkWaitCount <= 4) {
+                       //mike add:wait another 2 sec if associated_frame delay!
+                       pDevice->byLinkWaitCount++;
+                       printk("WLAN_ASSOCIATE_WAIT:wait %d times!!\n", pDevice->byLinkWaitCount);
+                       spin_unlock_irq(&pDevice->lock);
+                       vCommandTimerWait((void *) pDevice, ASSOCIATE_TIMEOUT/2);
+                       return;
+               }
+
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_AP_MODE_START:
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState == WLAN_CMD_AP_MODE_START\n");
+
+               if (pMgmt->eConfigMode == WMAC_CONFIG_AP) {
+                       cancel_delayed_work_sync(&pDevice->second_callback_work);
+                       pMgmt->eCurrState = WMAC_STATE_IDLE;
+                       pMgmt->eCurrMode = WMAC_MODE_STANDBY;
+                       pDevice->bLinkPass = false;
+                       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_SLOW);
+                       if (pDevice->bEnableHostWEP == true)
+                               BSSvClearNodeDBTable(pDevice, 1);
+                       else
+                               BSSvClearNodeDBTable(pDevice, 0);
+                       pDevice->uAssocCount = 0;
+                       pMgmt->eCurrState = WMAC_STATE_IDLE;
+                       pDevice->bFixRate = false;
+
+                       vMgrCreateOwnIBSS((void *) pDevice, &Status);
+                       if (Status != CMD_STATUS_SUCCESS) {
+                               DBG_PRT(MSG_LEVEL_DEBUG,
+                                       KERN_INFO "vMgrCreateOwnIBSS fail!\n");
+                       }
+                       // always turn off unicast bit
+                       MACvRegBitsOff(pDevice, MAC_REG_RCR, RCR_UNICAST);
+                       pDevice->byRxMode &= ~RCR_UNICAST;
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "wcmd: rx_mode = %x\n", pDevice->byRxMode);
+                       BSSvAddMulticastNode(pDevice);
+                       if (netif_queue_stopped(pDevice->dev))
+                               netif_wake_queue(pDevice->dev);
+                       pDevice->bLinkPass = true;
+                       ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_INTER);
+                       schedule_delayed_work(&pDevice->second_callback_work, HZ);
+               }
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_TX_PSPACKET_START:
+               // DTIM Multicast tx
+               if (pMgmt->sNodeDBTable[0].bRxPSPoll) {
+                       while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[0].sTxPSQueue)) != NULL) {
+                               if (skb_queue_empty(&pMgmt->sNodeDBTable[0].sTxPSQueue)) {
+                                       pMgmt->abyPSTxMap[0] &= ~byMask[0];
+                                       pDevice->bMoreData = false;
+                               } else {
+                                       pDevice->bMoreData = true;
+                               }
+
+                               if (nsDMA_tx_packet(pDevice, TYPE_AC0DMA, skb) != 0)
+                                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Multicast ps tx fail\n");
+
+                               pMgmt->sNodeDBTable[0].wEnQueueCnt--;
+                       }
+               }
+
+               // PS nodes tx
+               for (ii = 1; ii < (MAX_NODE_NUM + 1); ii++) {
+                       if (pMgmt->sNodeDBTable[ii].bActive &&
+                           pMgmt->sNodeDBTable[ii].bRxPSPoll) {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Index=%d Enqueu Cnt= %d\n",
+                                               ii, pMgmt->sNodeDBTable[ii].wEnQueueCnt);
+                               while ((skb = skb_dequeue(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) != NULL) {
+                                       if (skb_queue_empty(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) {
+                                               // clear tx map
+                                               pMgmt->abyPSTxMap[pMgmt->sNodeDBTable[ii].wAID >> 3] &=
+                                                                       ~byMask[pMgmt->sNodeDBTable[ii].wAID & 7];
+                                               pDevice->bMoreData = false;
+                                       } else {
+                                               pDevice->bMoreData = true;
+                                       }
+
+                                       if (nsDMA_tx_packet(pDevice, TYPE_AC0DMA, skb) != 0)
+                                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "sta ps tx fail\n");
+
+                                       pMgmt->sNodeDBTable[ii].wEnQueueCnt--;
+                                       // check if sta ps enable, wait next pspoll
+                                       // if sta ps disable, send all pending buffers.
+                                       if (pMgmt->sNodeDBTable[ii].bPSEnable)
+                                               break;
+                               }
+                               if (skb_queue_empty(&pMgmt->sNodeDBTable[ii].sTxPSQueue)) {
+                                       // clear tx map
+                                       pMgmt->abyPSTxMap[pMgmt->sNodeDBTable[ii].wAID >> 3] &=
+                                                       ~byMask[pMgmt->sNodeDBTable[ii].wAID & 7];
+                                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "Index=%d PS queue clear\n", ii);
+                               }
+                               pMgmt->sNodeDBTable[ii].bRxPSPoll = false;
+                       }
+               }
+
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_RADIO_START:
+
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState == WLAN_CMD_RADIO_START\n");
+//             if (pDevice->bRadioCmd == true)
+//                     CARDbRadioPowerOn(pDevice);
+//             else
+//                     CARDbRadioPowerOff(pDevice);
+               {
+                       int ntStatus = STATUS_SUCCESS;
+                       u8            byTmp;
+
+                       ntStatus = CONTROLnsRequestIn(pDevice,
+                                       MESSAGE_TYPE_READ,
+                                       MAC_REG_GPIOCTL1,
+                                       MESSAGE_REQUEST_MACREG,
+                                       1,
+                                       &byTmp);
+
+                       if (ntStatus != STATUS_SUCCESS) {
+                               s_bCommandComplete(pDevice);
+                               spin_unlock_irq(&pDevice->lock);
+                               return;
+                       }
+                       if ((byTmp & GPIO3_DATA) == 0) {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" WLAN_CMD_RADIO_START_OFF........................\n");
+                               // Old commands are useless.
+                               // empty command Q
+                               pDevice->cbFreeCmdQueue = CMD_Q_SIZE;
+                               pDevice->uCmdDequeueIdx = 0;
+                               pDevice->uCmdEnqueueIdx = 0;
+                               //0415pDevice->bCmdRunning = false;
+                               pDevice->bCmdClear = true;
+                               pDevice->bStopTx0Pkt = false;
+                               pDevice->bStopDataPkt = true;
+
+                               pDevice->byKeyIndex = 0;
+                               pDevice->bTransmitKey = false;
+                               spin_unlock_irq(&pDevice->lock);
+                               KeyvInitTable(pDevice, &pDevice->sKey);
+                               spin_lock_irq(&pDevice->lock);
+                               pMgmt->byCSSPK = KEY_CTL_NONE;
+                               pMgmt->byCSSGK = KEY_CTL_NONE;
+
+                               if (pDevice->bLinkPass == true) {
+                                       // reason = 8 : disassoc because sta has left
+                                       vMgrDisassocBeginSta((void *) pDevice,
+                                                       pMgmt,
+                                                       pMgmt->abyCurrBSSID,
+                                                       (8),
+                                                       &Status);
+                                       pDevice->bLinkPass = false;
+                                       // unlock command busy
+                                       pMgmt->eCurrState = WMAC_STATE_IDLE;
+                                       pMgmt->sNodeDBTable[0].bActive = false;
+                                       // if(pDevice->bWPASuppWextEnabled == true)
+                                       {
+                                               union iwreq_data  wrqu;
+                                               memset(&wrqu, 0, sizeof(wrqu));
+                                               wrqu.ap_addr.sa_family = ARPHRD_ETHER;
+                                               PRINT_K("wireless_send_event--->SIOCGIWAP(disassociated)\n");
+                                               wireless_send_event(pDevice->dev, SIOCGIWAP, &wrqu, NULL);
+                                       }
+                               }
+                               pDevice->bwextstep0 = false;
+                               pDevice->bwextstep1 = false;
+                               pDevice->bwextstep2 = false;
+                               pDevice->bwextstep3 = false;
+                               pDevice->bWPASuppWextEnabled = false;
+                               //clear current SSID
+                               pItemSSID = (PWLAN_IE_SSID)pMgmt->abyCurrSSID;
+                               pItemSSID->len = 0;
+                               memset(pItemSSID->abySSID, 0, WLAN_SSID_MAXLEN);
+                               //clear desired SSID
+                               pItemSSID = (PWLAN_IE_SSID)pMgmt->abyDesireSSID;
+                               pItemSSID->len = 0;
+                               memset(pItemSSID->abySSID, 0, WLAN_SSID_MAXLEN);
+
+                               netif_stop_queue(pDevice->dev);
+                               CARDbRadioPowerOff(pDevice);
+                               MACvRegBitsOn(pDevice, MAC_REG_GPIOCTL1, GPIO3_INTMD);
+                               ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_OFF);
+                               pDevice->bHWRadioOff = true;
+                       } else {
+                               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" WLAN_CMD_RADIO_START_ON........................\n");
+                               pDevice->bHWRadioOff = false;
+                               CARDbRadioPowerOn(pDevice);
+                               MACvRegBitsOff(pDevice, MAC_REG_GPIOCTL1, GPIO3_INTMD);
+                               ControlvMaskByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PAPEDELAY, LEDSTS_STS, LEDSTS_ON);
+                       }
+               }
+
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_CHANGE_BBSENSITIVITY_START:
+
+               pDevice->bStopDataPkt = true;
+               pDevice->byBBVGACurrent = pDevice->byBBVGANew;
+               BBvSetVGAGainOffset(pDevice, pDevice->byBBVGACurrent);
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Change sensitivity pDevice->byBBVGACurrent = %x\n", pDevice->byBBVGACurrent);
+               pDevice->bStopDataPkt = false;
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_TBTT_WAKEUP_START:
+               PSbIsNextTBTTWakeUp(pDevice);
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_BECON_SEND_START:
+               bMgrPrepareBeaconToSend(pDevice, pMgmt);
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_SETPOWER_START:
+
+               RFbSetPower(pDevice, pDevice->wCurrentRate, pMgmt->uCurrChannel);
+
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_CHANGE_ANTENNA_START:
+               DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Change from Antenna%d to", (int)pDevice->dwRxAntennaSel);
+               if (pDevice->dwRxAntennaSel == 0) {
+                       pDevice->dwRxAntennaSel = 1;
+                       if (pDevice->bTxRxAntInv == true)
+                               BBvSetAntennaMode(pDevice, ANT_RXA);
+                       else
+                               BBvSetAntennaMode(pDevice, ANT_RXB);
+               } else {
+                       pDevice->dwRxAntennaSel = 0;
+                       if (pDevice->bTxRxAntInv == true)
+                               BBvSetAntennaMode(pDevice, ANT_RXB);
+                       else
+                               BBvSetAntennaMode(pDevice, ANT_RXA);
+               }
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_REMOVE_ALLKEY_START:
+               KeybRemoveAllKey(pDevice, &(pDevice->sKey), pDevice->abyBSSID);
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_MAC_DISPOWERSAVING_START:
+               ControlvReadByte(pDevice, MESSAGE_REQUEST_MACREG, MAC_REG_PSCTL, &byData);
+               if ((byData & PSCTL_PS) != 0) {
+                       // disable power saving hw function
+                       CONTROLnsRequestOut(pDevice,
+                                       MESSAGE_TYPE_DISABLE_PS,
+                                       0,
+                                       0,
+                                       0,
+                                       NULL
+                                       );
+               }
+               s_bCommandComplete(pDevice);
+               break;
+
+       case WLAN_CMD_11H_CHSW_START:
+               CARDbSetMediaChannel(pDevice, pDevice->byNewChannel);
+               pDevice->bChannelSwitch = false;
+               pMgmt->uCurrChannel = pDevice->byNewChannel;
+               pDevice->bStopDataPkt = false;
+               s_bCommandComplete(pDevice);
+               break;
+
+       default:
+               s_bCommandComplete(pDevice);
+               break;
+       } //switch
+
+       spin_unlock_irq(&pDevice->lock);
+       return;
 }
 
 static int s_bCommandComplete(struct vnt_private *pDevice)
@@ -953,152 +927,146 @@ static int s_bCommandComplete(struct vnt_private *pDevice)
        int bRadioCmd = false;
        int bForceSCAN = true;
 
-    pDevice->eCommandState = WLAN_CMD_IDLE;
-    if (pDevice->cbFreeCmdQueue == CMD_Q_SIZE) {
-        //Command Queue Empty
-        pDevice->bCmdRunning = false;
-        return true;
-    }
-    else {
-        pDevice->eCommand = pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].eCmd;
-        pSSID = (PWLAN_IE_SSID)pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].abyCmdDesireSSID;
-        bRadioCmd = pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].bRadioCmd;
-        bForceSCAN = pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].bForceSCAN;
-        ADD_ONE_WITH_WRAP_AROUND(pDevice->uCmdDequeueIdx, CMD_Q_SIZE);
-        pDevice->cbFreeCmdQueue++;
-        pDevice->bCmdRunning = true;
-        switch ( pDevice->eCommand ) {
-            case WLAN_CMD_BSSID_SCAN:
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState= WLAN_CMD_BSSID_SCAN\n");
-                pDevice->eCommandState = WLAN_CMD_SCAN_START;
-                pMgmt->uScanChannel = 0;
-                if (pSSID->len != 0) {
-                    memcpy(pMgmt->abyScanSSID, pSSID, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-                } else {
-                    memset(pMgmt->abyScanSSID, 0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-                }
+       pDevice->eCommandState = WLAN_CMD_IDLE;
+       if (pDevice->cbFreeCmdQueue == CMD_Q_SIZE) {
+               //Command Queue Empty
+               pDevice->bCmdRunning = false;
+               return true;
+       } else {
+               pDevice->eCommand = pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].eCmd;
+               pSSID = (PWLAN_IE_SSID)pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].abyCmdDesireSSID;
+               bRadioCmd = pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].bRadioCmd;
+               bForceSCAN = pDevice->eCmdQueue[pDevice->uCmdDequeueIdx].bForceSCAN;
+               ADD_ONE_WITH_WRAP_AROUND(pDevice->uCmdDequeueIdx, CMD_Q_SIZE);
+               pDevice->cbFreeCmdQueue++;
+               pDevice->bCmdRunning = true;
+               switch (pDevice->eCommand) {
+               case WLAN_CMD_BSSID_SCAN:
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState= WLAN_CMD_BSSID_SCAN\n");
+                       pDevice->eCommandState = WLAN_CMD_SCAN_START;
+                       pMgmt->uScanChannel = 0;
+                       if (pSSID->len != 0)
+                               memcpy(pMgmt->abyScanSSID, pSSID, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
+                       else
+                               memset(pMgmt->abyScanSSID, 0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
 /*
-                if ((bForceSCAN == false) && (pDevice->bLinkPass == true)) {
-                    if ((pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyCurrSSID)->len) &&
-                        ( !memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyCurrSSID)->abySSID, pSSID->len))) {
-                        pDevice->eCommandState = WLAN_CMD_IDLE;
-                    }
-                }
+                       if ((bForceSCAN == false) && (pDevice->bLinkPass == true)) {
+                               if ((pSSID->len == ((PWLAN_IE_SSID)pMgmt->abyCurrSSID)->len) &&
+                                   ( !memcmp(pSSID->abySSID, ((PWLAN_IE_SSID)pMgmt->abyCurrSSID)->abySSID, pSSID->len))) {
+                                       pDevice->eCommandState = WLAN_CMD_IDLE;
+                               }
+                       }
 */
-                break;
-            case WLAN_CMD_SSID:
-                pDevice->eCommandState = WLAN_CMD_SSID_START;
-                if (pSSID->len > WLAN_SSID_MAXLEN)
-                    pSSID->len = WLAN_SSID_MAXLEN;
-                if (pSSID->len != 0)
-                    memcpy(pMgmt->abyDesireSSID, pSSID, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-                DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState= WLAN_CMD_SSID_START\n");
-                break;
-            case WLAN_CMD_DISASSOCIATE:
-                pDevice->eCommandState = WLAN_CMD_DISASSOCIATE_START;
-                break;
-            case WLAN_CMD_RX_PSPOLL:
-                pDevice->eCommandState = WLAN_CMD_TX_PSPACKET_START;
-                break;
-            case WLAN_CMD_RUN_AP:
-                pDevice->eCommandState = WLAN_CMD_AP_MODE_START;
-                break;
-            case WLAN_CMD_RADIO:
-                pDevice->eCommandState = WLAN_CMD_RADIO_START;
-                pDevice->bRadioCmd = bRadioCmd;
-                break;
-            case WLAN_CMD_CHANGE_BBSENSITIVITY:
-                pDevice->eCommandState = WLAN_CMD_CHANGE_BBSENSITIVITY_START;
-                break;
-
-            case WLAN_CMD_TBTT_WAKEUP:
-                pDevice->eCommandState = WLAN_CMD_TBTT_WAKEUP_START;
-                break;
-
-            case WLAN_CMD_BECON_SEND:
-                pDevice->eCommandState = WLAN_CMD_BECON_SEND_START;
-                break;
-
-            case WLAN_CMD_SETPOWER:
-                pDevice->eCommandState = WLAN_CMD_SETPOWER_START;
-                break;
-
-            case WLAN_CMD_CHANGE_ANTENNA:
-                pDevice->eCommandState = WLAN_CMD_CHANGE_ANTENNA_START;
-                break;
-
-            case WLAN_CMD_REMOVE_ALLKEY:
-                pDevice->eCommandState = WLAN_CMD_REMOVE_ALLKEY_START;
-                break;
-
-            case WLAN_CMD_MAC_DISPOWERSAVING:
-                pDevice->eCommandState = WLAN_CMD_MAC_DISPOWERSAVING_START;
-                break;
-
-            case WLAN_CMD_11H_CHSW:
-                pDevice->eCommandState = WLAN_CMD_11H_CHSW_START;
-                break;
-
-            default:
-                break;
-
-        }
-       vCommandTimerWait(pDevice, 0);
-    }
-
-    return true;
+                       break;
+               case WLAN_CMD_SSID:
+                       pDevice->eCommandState = WLAN_CMD_SSID_START;
+                       if (pSSID->len > WLAN_SSID_MAXLEN)
+                               pSSID->len = WLAN_SSID_MAXLEN;
+                       if (pSSID->len != 0)
+                               memcpy(pMgmt->abyDesireSSID, pSSID, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
+                       DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"eCommandState= WLAN_CMD_SSID_START\n");
+                       break;
+               case WLAN_CMD_DISASSOCIATE:
+                       pDevice->eCommandState = WLAN_CMD_DISASSOCIATE_START;
+                       break;
+               case WLAN_CMD_RX_PSPOLL:
+                       pDevice->eCommandState = WLAN_CMD_TX_PSPACKET_START;
+                       break;
+               case WLAN_CMD_RUN_AP:
+                       pDevice->eCommandState = WLAN_CMD_AP_MODE_START;
+                       break;
+               case WLAN_CMD_RADIO:
+                       pDevice->eCommandState = WLAN_CMD_RADIO_START;
+                       pDevice->bRadioCmd = bRadioCmd;
+                       break;
+               case WLAN_CMD_CHANGE_BBSENSITIVITY:
+                       pDevice->eCommandState = WLAN_CMD_CHANGE_BBSENSITIVITY_START;
+                       break;
+
+               case WLAN_CMD_TBTT_WAKEUP:
+                       pDevice->eCommandState = WLAN_CMD_TBTT_WAKEUP_START;
+                       break;
+
+               case WLAN_CMD_BECON_SEND:
+                       pDevice->eCommandState = WLAN_CMD_BECON_SEND_START;
+                       break;
+
+               case WLAN_CMD_SETPOWER:
+                       pDevice->eCommandState = WLAN_CMD_SETPOWER_START;
+                       break;
+
+               case WLAN_CMD_CHANGE_ANTENNA:
+                       pDevice->eCommandState = WLAN_CMD_CHANGE_ANTENNA_START;
+                       break;
+
+               case WLAN_CMD_REMOVE_ALLKEY:
+                       pDevice->eCommandState = WLAN_CMD_REMOVE_ALLKEY_START;
+                       break;
+
+               case WLAN_CMD_MAC_DISPOWERSAVING:
+                       pDevice->eCommandState = WLAN_CMD_MAC_DISPOWERSAVING_START;
+                       break;
+
+               case WLAN_CMD_11H_CHSW:
+                       pDevice->eCommandState = WLAN_CMD_11H_CHSW_START;
+                       break;
+
+               default:
+                       break;
+               }
+               vCommandTimerWait(pDevice, 0);
+       }
+
+       return true;
 }
 
 int bScheduleCommand(struct vnt_private *pDevice,
                CMD_CODE eCommand, u8 *pbyItem0)
 {
 
-    if (pDevice->cbFreeCmdQueue == 0) {
-        return (false);
-    }
-    pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].eCmd = eCommand;
-    pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bForceSCAN = true;
-    memset(pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].abyCmdDesireSSID, 0 , WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-    if (pbyItem0 != NULL) {
-        switch (eCommand) {
-            case WLAN_CMD_BSSID_SCAN:
-                pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bForceSCAN = false;
-                memcpy(pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].abyCmdDesireSSID,
-                         pbyItem0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-                break;
-
-            case WLAN_CMD_SSID:
-                memcpy(pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].abyCmdDesireSSID,
-                         pbyItem0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
-                break;
-
-            case WLAN_CMD_DISASSOCIATE:
-                pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bNeedRadioOFF = *((int *)pbyItem0);
-                break;
+       if (pDevice->cbFreeCmdQueue == 0)
+               return false;
+       pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].eCmd = eCommand;
+       pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bForceSCAN = true;
+       memset(pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].abyCmdDesireSSID, 0 , WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
+       if (pbyItem0 != NULL) {
+               switch (eCommand) {
+               case WLAN_CMD_BSSID_SCAN:
+                       pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bForceSCAN = false;
+                       memcpy(pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].abyCmdDesireSSID,
+                               pbyItem0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
+                       break;
+
+               case WLAN_CMD_SSID:
+                       memcpy(pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].abyCmdDesireSSID,
+                               pbyItem0, WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1);
+                       break;
+
+               case WLAN_CMD_DISASSOCIATE:
+                       pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bNeedRadioOFF = *((int *)pbyItem0);
+                       break;
 /*
-            case WLAN_CMD_DEAUTH:
-                pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].wDeAuthenReason = *((u16 *)pbyItem0);
-                break;
+               case WLAN_CMD_DEAUTH:
+                       pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].wDeAuthenReason = *((u16 *)pbyItem0);
+                       break;
 */
 
-            case WLAN_CMD_RADIO:
-                pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bRadioCmd = *((int *)pbyItem0);
-                break;
+               case WLAN_CMD_RADIO:
+                       pDevice->eCmdQueue[pDevice->uCmdEnqueueIdx].bRadioCmd = *((int *)pbyItem0);
+                       break;
+
+               default:
+                       break;
+               }
+       }
 
-            default:
-                break;
-        }
-    }
+       ADD_ONE_WITH_WRAP_AROUND(pDevice->uCmdEnqueueIdx, CMD_Q_SIZE);
+       pDevice->cbFreeCmdQueue--;
 
-    ADD_ONE_WITH_WRAP_AROUND(pDevice->uCmdEnqueueIdx, CMD_Q_SIZE);
-    pDevice->cbFreeCmdQueue--;
+       if (pDevice->bCmdRunning == false)
+               s_bCommandComplete(pDevice);
 
-    if (pDevice->bCmdRunning == false) {
-        s_bCommandComplete(pDevice);
-    }
-    else {
-    }
-    return (true);
+       return true;
 
 }
 
@@ -1121,16 +1089,16 @@ static int s_bClearBSSID_SCAN(struct vnt_private *pDevice)
        unsigned int uCmdDequeueIdx = pDevice->uCmdDequeueIdx;
        unsigned int ii;
 
-    if ((pDevice->cbFreeCmdQueue < CMD_Q_SIZE) && (uCmdDequeueIdx != pDevice->uCmdEnqueueIdx)) {
-        for (ii = 0; ii < (CMD_Q_SIZE - pDevice->cbFreeCmdQueue); ii ++) {
-            if (pDevice->eCmdQueue[uCmdDequeueIdx].eCmd == WLAN_CMD_BSSID_SCAN)
-                pDevice->eCmdQueue[uCmdDequeueIdx].eCmd = WLAN_CMD_IDLE;
-            ADD_ONE_WITH_WRAP_AROUND(uCmdDequeueIdx, CMD_Q_SIZE);
-            if (uCmdDequeueIdx == pDevice->uCmdEnqueueIdx)
-                break;
-        }
-    }
-    return true;
+       if ((pDevice->cbFreeCmdQueue < CMD_Q_SIZE) && (uCmdDequeueIdx != pDevice->uCmdEnqueueIdx)) {
+               for (ii = 0; ii < (CMD_Q_SIZE - pDevice->cbFreeCmdQueue); ii++) {
+                       if (pDevice->eCmdQueue[uCmdDequeueIdx].eCmd == WLAN_CMD_BSSID_SCAN)
+                               pDevice->eCmdQueue[uCmdDequeueIdx].eCmd = WLAN_CMD_IDLE;
+                       ADD_ONE_WITH_WRAP_AROUND(uCmdDequeueIdx, CMD_Q_SIZE);
+                       if (uCmdDequeueIdx == pDevice->uCmdEnqueueIdx)
+                               break;
+               }
+       }
+       return true;
 }
 
 //mike add:reset command timer
index e26c41519b156dbc04bef2d3ae6e91b0cf0bc017..d74b0e7cb171963a91db5e961a36f890bd675c5b 100644 (file)
@@ -2961,7 +2961,7 @@ static struct vnt_tx_mgmt *s_MgrMakeBeacon(struct vnt_private *pDevice,
  *
 -*/
 
-struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
+static struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
        struct vnt_manager *pMgmt, u16 wCurrCapInfo, u16 wCurrBeaconPeriod,
        u32 uCurrChannel, u16 wCurrATIMWinodw, u8 *pDstAddr,
        PWLAN_IE_SSID pCurrSSID, u8 *pCurrBSSID,
@@ -3081,7 +3081,7 @@ struct vnt_tx_mgmt *s_MgrMakeProbeResponse(struct vnt_private *pDevice,
  *
 -*/
 
-struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
+static struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
        struct vnt_manager *pMgmt, u8 *pDAddr, u16 wCurrCapInfo,
        u16 wListenInterval,
        PWLAN_IE_SSID pCurrSSID,
@@ -3329,7 +3329,7 @@ struct vnt_tx_mgmt *s_MgrMakeAssocRequest(struct vnt_private *pDevice,
  *
 -*/
 
-struct vnt_tx_mgmt *s_MgrMakeReAssocRequest(struct vnt_private *pDevice,
+static struct vnt_tx_mgmt *s_MgrMakeReAssocRequest(struct vnt_private *pDevice,
        struct vnt_manager *pMgmt, u8 *pDAddr, u16 wCurrCapInfo,
        u16 wListenInterval, PWLAN_IE_SSID pCurrSSID,
        PWLAN_IE_SUPP_RATES pCurrRates,
@@ -3576,7 +3576,7 @@ struct vnt_tx_mgmt *s_MgrMakeReAssocRequest(struct vnt_private *pDevice,
  *
 -*/
 
-struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *pDevice,
+static struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *pDevice,
        struct vnt_manager *pMgmt, u16 wCurrCapInfo, u16 wAssocStatus,
        u16 wAssocAID, u8 *pDstAddr, PWLAN_IE_SUPP_RATES pCurrSuppRates,
        PWLAN_IE_SUPP_RATES pCurrExtSuppRates)
@@ -3642,7 +3642,7 @@ struct vnt_tx_mgmt *s_MgrMakeAssocResponse(struct vnt_private *pDevice,
  *
 -*/
 
-struct vnt_tx_mgmt *s_MgrMakeReAssocResponse(struct vnt_private *pDevice,
+static struct vnt_tx_mgmt *s_MgrMakeReAssocResponse(struct vnt_private *pDevice,
        struct vnt_manager *pMgmt, u16 wCurrCapInfo, u16 wAssocStatus,
        u16 wAssocAID, u8 *pDstAddr, PWLAN_IE_SUPP_RATES pCurrSuppRates,
        PWLAN_IE_SUPP_RATES pCurrExtSuppRates)
index 01db4e7154da9b39f29ef399a7f012bc799620e5..403c295cc02c19f4cac7088a9ac98521300b1be7 100644 (file)
 
 static int          msglevel                =MSG_LEVEL_INFO;
 
-const u8 abyOUI00[4] = { 0x00, 0x50, 0xf2, 0x00 };
-const u8 abyOUI01[4] = { 0x00, 0x50, 0xf2, 0x01 };
-const u8 abyOUI02[4] = { 0x00, 0x50, 0xf2, 0x02 };
-const u8 abyOUI03[4] = { 0x00, 0x50, 0xf2, 0x03 };
-const u8 abyOUI04[4] = { 0x00, 0x50, 0xf2, 0x04 };
-const u8 abyOUI05[4] = { 0x00, 0x50, 0xf2, 0x05 };
+static const u8 abyOUI00[4] = { 0x00, 0x50, 0xf2, 0x00 };
+static const u8 abyOUI01[4] = { 0x00, 0x50, 0xf2, 0x01 };
+static const u8 abyOUI02[4] = { 0x00, 0x50, 0xf2, 0x02 };
+static const u8 abyOUI03[4] = { 0x00, 0x50, 0xf2, 0x03 };
+static const u8 abyOUI04[4] = { 0x00, 0x50, 0xf2, 0x04 };
+static const u8 abyOUI05[4] = { 0x00, 0x50, 0xf2, 0x05 };
 
 /*+
  *
index aa2216184345192dabe1e524c2779d809f6038d6..df5541794e0ff50fb584d9e8bf66393ac92adbfa 100644 (file)
 static int          msglevel                =MSG_LEVEL_INFO;
 //static int          msglevel                =MSG_LEVEL_DEBUG;
 
-const u8 abyOUIGK[4]      = { 0x00, 0x0F, 0xAC, 0x00 };
-const u8 abyOUIWEP40[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
-const u8 abyOUIWEP104[4]  = { 0x00, 0x0F, 0xAC, 0x05 };
-const u8 abyOUITKIP[4]    = { 0x00, 0x0F, 0xAC, 0x02 };
-const u8 abyOUICCMP[4]    = { 0x00, 0x0F, 0xAC, 0x04 };
-
-const u8 abyOUI8021X[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
-const u8 abyOUIPSK[4]     = { 0x00, 0x0F, 0xAC, 0x02 };
+static const u8 abyOUIGK[4]      = { 0x00, 0x0F, 0xAC, 0x00 };
+static const u8 abyOUIWEP40[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
+static const u8 abyOUIWEP104[4]  = { 0x00, 0x0F, 0xAC, 0x05 };
+static const u8 abyOUITKIP[4]    = { 0x00, 0x0F, 0xAC, 0x02 };
+static const u8 abyOUICCMP[4]    = { 0x00, 0x0F, 0xAC, 0x04 };
+
+static const u8 abyOUI8021X[4]   = { 0x00, 0x0F, 0xAC, 0x01 };
+static const u8 abyOUIPSK[4]     = { 0x00, 0x0F, 0xAC, 0x02 };
 
 /*+
  *
index cac7720bef2b26922039606ef993c33b24e6e4c8..aef0855f4c689d8479d2570d83ec48c3b489a015 100644 (file)
@@ -56,7 +56,8 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter,
                        RTS_on = true; /* Using RTS */
                else {
                        if (pT01->T01_modulation_type) { /* Is using OFDM */
-                               if (CURRENT_PROTECT_MECHANISM) /* Is using protect */
+                               /* Is using protect */
+                               if (CURRENT_PROTECT_MECHANISM)
                                        CTS_on = true; /* Using CTS */
                        }
                }
@@ -69,9 +70,9 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter,
                         *  ACK Rate : 24 Mega bps
                         *  ACK frame length = 14 bytes */
                        Duration = 2*DEFAULT_SIFSTIME +
-                                          2*PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION +
-                                          ((BodyLen*8 + 22 + Rate*4 - 1)/(Rate*4))*Tsym +
-                                          ((112 + 22 + 95)/96)*Tsym;
+                               2*PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION +
+                               ((BodyLen*8 + 22 + Rate*4 - 1)/(Rate*4))*Tsym +
+                               ((112 + 22 + 95)/96)*Tsym;
                } else  { /* DSSS */
                        /* CTS duration
                         *  2 SIFS + DATA transmit time + 1 ACK
@@ -92,13 +93,15 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter,
                                 * CTS Rate : 24 Mega bps
                                 * CTS frame length = 14 bytes */
                                Duration += (DEFAULT_SIFSTIME +
-                                           PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION +
-                                           ((112 + 22 + 95)/96)*Tsym);
+                                       PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION +
+                                       ((112 + 22 + 95)/96)*Tsym);
                        } else {
                                /* CTS + 1 SIFS + CTS duration
                                 * CTS Rate : ?? Mega bps
-                                * CTS frame length = 14 bytes */
-                               if (pT01->T01_plcp_header_length) /* long preamble */
+                                * CTS frame length = 14 bytes
+                                */
+                               /* long preamble */
+                               if (pT01->T01_plcp_header_length)
                                        Duration += LONG_PREAMBLE_PLUS_PLCPHEADER_TIME;
                                else
                                        Duration += SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME;
@@ -149,8 +152,8 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter,
                                             + Rate-1) / Rate +
                                            DEFAULT_SIFSTIME*3);
                        }
-
-                       ((u16 *)buffer)[5] = cpu_to_le16(Duration); /* 4 USHOR for skip 8B USB, 2USHORT=FC + Duration */
+                       /* 4 USHOR for skip 8B USB, 2USHORT=FC + Duration */
+                       ((u16 *)buffer)[5] = cpu_to_le16(Duration);
 
                        /* ----20061009 add by anson's endian */
                        pNextT00->value = cpu_to_le32(pNextT00->value);
@@ -159,7 +162,8 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter,
 
                        buffer += OffsetSize;
                        pT01 = (struct T01_descriptor *)(buffer+4);
-                       if (i != 1)     /* The last fragment will not have the next fragment */
+                       /* The last fragment will not have the next fragment */
+                       if (i != 1)
                                pNextT00 = (struct T00_descriptor *)(buffer+OffsetSize);
                }
 
@@ -189,7 +193,8 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter,
                }
        }
 
-       ((u16 *)buffer)[5] = cpu_to_le16(Duration); /* 4 USHOR for skip 8B USB, 2USHORT=FC + Duration */
+       /* 4 USHOR for skip 8B USB, 2USHORT=FC + Duration */
+       ((u16 *)buffer)[5] = cpu_to_le16(Duration);
        pT00->value = cpu_to_le32(pT00->value);
        pT01->value = cpu_to_le32(pT01->value);
        /* --end 20061009 add */
@@ -221,9 +226,10 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter,
                CopySize = SizeLeft;
                if (SizeLeft > pDes->FragmentThreshold) {
                        CopySize = pDes->FragmentThreshold;
-                       pT00->T00_frame_length = 24 + CopySize; /* Set USB length */
-               } else
-                       pT00->T00_frame_length = 24 + SizeLeft; /* Set USB length */
+                       /* Set USB length */
+                       pT00->T00_frame_length = 24 + CopySize;
+               } else  /* Set USB length */
+                       pT00->T00_frame_length = 24 + SizeLeft;
 
                SizeLeft -= CopySize;
 
@@ -267,21 +273,27 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter,
                /* 931130.5.n */
                if (pMds->MicAdd) {
                        if (!SizeLeft) {
-                               pMds->MicWriteAddress[pMds->MicWriteIndex] = buffer - pMds->MicAdd;
-                               pMds->MicWriteSize[pMds->MicWriteIndex] = pMds->MicAdd;
+                               pMds->MicWriteAddress[pMds->MicWriteIndex] =
+                                       buffer - pMds->MicAdd;
+                               pMds->MicWriteSize[pMds->MicWriteIndex] =
+                                       pMds->MicAdd;
                                pMds->MicAdd = 0;
                        } else if (SizeLeft < 8) { /* 931130.5.p */
                                pMds->MicAdd = SizeLeft;
-                               pMds->MicWriteAddress[pMds->MicWriteIndex] = buffer - (8 - SizeLeft);
-                               pMds->MicWriteSize[pMds->MicWriteIndex] = 8 - SizeLeft;
+                               pMds->MicWriteAddress[pMds->MicWriteIndex] =
+                                       buffer - (8 - SizeLeft);
+                               pMds->MicWriteSize[pMds->MicWriteIndex] =
+                                       8 - SizeLeft;
                                pMds->MicWriteIndex++;
                        }
                }
 
                /* Does it need to generate the new header for next mpdu? */
                if (SizeLeft) {
-                       buffer = TargetBuffer + Size; /* Get the next 4n start address */
-                       memcpy(buffer, TargetBuffer, 32); /* Copy 8B USB +24B 802.11 */
+                       /* Get the next 4n start address */
+                       buffer = TargetBuffer + Size;
+                       /* Copy 8B USB +24B 802.11 */
+                       memcpy(buffer, TargetBuffer, 32);
                        pT00 = (struct T00_descriptor *)buffer;
                        pT00->T00_first_mpdu = 0;
                }
@@ -293,7 +305,8 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter,
        pT00->T00_IsLastMpdu = 1;
        buffer = (u8 *)pT00 + 8; /* +8 for USB hdr */
        buffer[1] &= ~0x04; /* Clear more frag bit of 802.11 frame control */
-       pDes->FragmentCount = FragmentCount; /* Update the correct fragment number */
+       /* Update the correct fragment number */
+       pDes->FragmentCount = FragmentCount;
        return Size;
 }
 
@@ -330,7 +343,8 @@ static void Mds_HeaderCopy(struct wbsoft_priv *adapter,
 
        FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; /* Do not fragment */
        /* Copy full data, the 1'st buffer contain all the data 931130.5.j */
-       memcpy(TargetBuffer, src_buffer, DOT_11_MAC_HEADER_SIZE); /* Copy header */
+       /* Copy header */
+       memcpy(TargetBuffer, src_buffer, DOT_11_MAC_HEADER_SIZE);
        pDes->buffer_address[0] = src_buffer + DOT_11_MAC_HEADER_SIZE;
        pDes->buffer_total_size -= DOT_11_MAC_HEADER_SIZE;
        pDes->buffer_size[0] = pDes->buffer_total_size;
@@ -358,8 +372,8 @@ static void Mds_HeaderCopy(struct wbsoft_priv *adapter,
        for (i = 0; i < 2; i++) {
                if (i == 1)
                        ctmp1 = ctmpf;
-
-               pMds->TxRate[pDes->Descriptor_ID][i] = ctmp1; /* backup the ta rate and fall back rate */
+               /* backup the ta rate and fall back rate */
+               pMds->TxRate[pDes->Descriptor_ID][i] = ctmp1;
 
                if (ctmp1 == 108)
                        ctmp2 = 7;
@@ -395,7 +409,8 @@ static void Mds_HeaderCopy(struct wbsoft_priv *adapter,
        /*
         * Set preamble type
         */
-       if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0)) /* RATE_1M */
+       /* RATE_1M */
+       if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0))
                pDes->PreambleMode =  WLAN_PREAMBLE_TYPE_LONG;
        else
                pDes->PreambleMode =  CURRENT_PREAMBLE_MODE;
@@ -468,12 +483,14 @@ Mds_Tx(struct wbsoft_priv *adapter)
        /* Start to fill the data */
        do {
                FillIndex = pMds->TxFillIndex;
-               if (pMds->TxOwner[FillIndex]) { /* Is owned by software 0:Yes 1:No */
+               /* Is owned by software 0:Yes 1:No */
+               if (pMds->TxOwner[FillIndex]) {
                        pr_debug("[Mds_Tx] Tx Owner is H/W.\n");
                        break;
                }
 
-               XmitBufAddress = pMds->pTxBuffer + (MAX_USB_TX_BUFFER * FillIndex); /* Get buffer */
+               /* Get buffer */
+               XmitBufAddress = pMds->pTxBuffer + (MAX_USB_TX_BUFFER * FillIndex);
                XmitBufSize = 0;
                FillCount = 0;
                do {
@@ -485,7 +502,8 @@ Mds_Tx(struct wbsoft_priv *adapter)
                        FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD;
                        /* 931130.5.b */
                        FragmentCount = PacketSize/FragmentThreshold + 1;
-                       stmp = PacketSize + FragmentCount*32 + 8; /* 931130.5.c 8:MIC */
+                       /* 931130.5.c 8:MIC */
+                       stmp = PacketSize + FragmentCount*32 + 8;
                        if ((XmitBufSize + stmp) >= MAX_USB_TX_BUFFER)
                                break; /* buffer is not enough */
 
@@ -499,18 +517,23 @@ Mds_Tx(struct wbsoft_priv *adapter)
 
                        TxDesIndex = pMds->TxDesIndex; /* Get the current ID */
                        pTxDes->Descriptor_ID = TxDesIndex;
-                       pMds->TxDesFrom[TxDesIndex] = 2; /* Storing the information of source coming from */
+                       /* Storing the information of source coming from */
+                       pMds->TxDesFrom[TxDesIndex] = 2;
                        pMds->TxDesIndex++;
                        pMds->TxDesIndex %= MAX_USB_TX_DESCRIPTOR;
 
                        MLME_GetNextPacket(adapter, pTxDes);
 
-                       /* Copy header. 8byte USB + 24byte 802.11Hdr. Set TxRate, Preamble type */
+                       /*
+                        * Copy header. 8byte USB + 24byte 802.11Hdr.
+                        * Set TxRate, Preamble type
+                       */
                        Mds_HeaderCopy(adapter, pTxDes, XmitBufAddress);
 
                        /* For speed up Key setting */
                        if (pTxDes->EapFix) {
-                               pr_debug("35: EPA 4th frame detected. Size = %d\n", PacketSize);
+                               pr_debug("35: EPA 4th frame detected. Size = %d\n",
+                                                PacketSize);
                                pHwData->IsKeyPreSet = 1;
                        }
 
@@ -524,7 +547,9 @@ Mds_Tx(struct wbsoft_priv *adapter)
                        XmitBufSize += CurrentSize;
                        XmitBufAddress += CurrentSize;
 
-                       /* Get packet to transmit completed, 1:TESTSTA 2:MLME 3: Ndis data */
+                       /* Get packet to transmit completed,
+                        * 1:TESTSTA 2:MLME 3: Ndis data
+                       */
                        MLME_SendComplete(adapter, 0, true);
 
                        /* Software TSC count 20060214 */
@@ -533,7 +558,12 @@ Mds_Tx(struct wbsoft_priv *adapter)
                                pMds->TxTsc_2++;
 
                        FillCount++; /* 20060928 */
-               } while (HAL_USB_MODE_BURST(pHwData)); /* End of multiple MSDU copy loop. false = single true = multiple sending  */
+               /*
+                * End of multiple MSDU copy loop.
+                * false = single
+                * true = multiple sending
+                */
+               } while (HAL_USB_MODE_BURST(pHwData));
 
                /* Move to the next one, if necessary */
                if (BufferFilled) {
@@ -594,7 +624,8 @@ Mds_SendComplete(struct wbsoft_priv *adapter, struct T02_descriptor *pT02)
                                        pHwData->tx_retry_count[RetryCount] += RetryCount;
                                else
                                        pHwData->tx_retry_count[7] += RetryCount;
-                               pr_debug("dto_tx_retry_count =%d\n", pHwData->dto_tx_retry_count);
+                               pr_debug("dto_tx_retry_count =%d\n",
+                                               pHwData->dto_tx_retry_count);
                                MTO_SetTxCount(adapter, TxRate, RetryCount);
                        }
                        pHwData->dto_tx_frag_count += (RetryCount+1);
index 5b6f670d8ef2217b44db95754920c376cdc9cc0a..eccd780ef135ff96c089ad2206e420722700611c 100644 (file)
@@ -5211,7 +5211,7 @@ static const CFG_PROG_STRCT fw_image_code[] = {
                0000,
        0x000F429B,                                     // Start execution address
        },
-       { 0000, 0000, 0000, 0000, 00000000, 0000, 00000000}
+       { 0000, 0000, 0000, 0000, 00000000, 0000, NULL}
 };
 
 static const CFG_RANGE20_STRCT fw_image_infocompat[] = {
@@ -5247,8 +5247,8 @@ memimage fw_image = {
        "FUPU7D37dhfwci\001C",                  //signature, <format number>, C/Bin type
        (CFG_PROG_STRCT *) fw_image_code,
        0x000F429B,
-       00000000,                                       //(dummy) pdaplug
-       00000000,                                       //(dummy) priplug
+       NULL,                                   //(dummy) pdaplug
+       NULL,                                   //(dummy) priplug
        (CFG_RANGE20_STRCT *) fw_image_infocompat,
        (CFG_IDENTITY_STRCT *) fw_image_infoidentity,
 };
index a4fd5c4717a880d7c68eefaf939062eabbb4c02a..a7d24c95191d15826ac808b226c26ae71e12ac98 100644 (file)
@@ -73,7 +73,8 @@ static int prism2_result2err(int prism2_result)
 static int prism2_domibset_uint32(wlandevice_t *wlandev, u32 did, u32 data)
 {
        struct p80211msg_dot11req_mibset msg;
-       p80211item_uint32_t *mibitem = (p80211item_uint32_t *) &msg.mibattribute.data;
+       p80211item_uint32_t *mibitem =
+                       (p80211item_uint32_t *) &msg.mibattribute.data;
 
        msg.msgcode = DIDmsg_dot11req_mibset;
        mibitem->did = did;
@@ -86,7 +87,8 @@ static int prism2_domibset_pstr32(wlandevice_t *wlandev,
                                  u32 did, u8 len, u8 *data)
 {
        struct p80211msg_dot11req_mibset msg;
-       p80211item_pstr32_t *mibitem = (p80211item_pstr32_t *) &msg.mibattribute.data;
+       p80211item_pstr32_t *mibitem =
+                       (p80211item_pstr32_t *) &msg.mibattribute.data;
 
        msg.msgcode = DIDmsg_dot11req_mibset;
        mibitem->did = did;
@@ -182,7 +184,8 @@ static int prism2_add_key(struct wiphy *wiphy, struct net_device *dev,
                        goto exit;
                }
 
-               result = prism2_domibset_pstr32(wlandev, did, params->key_len, params->key);
+               result = prism2_domibset_pstr32(wlandev, did,
+                                               params->key_len, params->key);
                if (result)
                        goto exit;
                break;
@@ -328,7 +331,8 @@ static int prism2_get_station(struct wiphy *wiphy, struct net_device *dev,
        return result;
 }
 
-static int prism2_scan(struct wiphy *wiphy, struct cfg80211_scan_request *request)
+static int prism2_scan(struct wiphy *wiphy,
+                      struct cfg80211_scan_request *request)
 {
        struct net_device *dev;
        struct prism2_wiphy_private *priv = wiphy_priv(wiphy);
@@ -380,7 +384,8 @@ static int prism2_scan(struct wiphy *wiphy, struct cfg80211_scan_request *reques
                (i < request->n_channels) && i < ARRAY_SIZE(prism2_channels);
                i++)
                msg1.channellist.data.data[i] =
-                       ieee80211_frequency_to_channel(request->channels[i]->center_freq);
+                       ieee80211_frequency_to_channel(
+                               request->channels[i]->center_freq);
        msg1.channellist.data.len = request->n_channels;
 
        msg1.maxchanneltime.data = 250;
@@ -410,7 +415,8 @@ static int prism2_scan(struct wiphy *wiphy, struct cfg80211_scan_request *reques
                ie_len = ie_buf[1] + 2;
                memcpy(&ie_buf[2], &(msg2.ssid.data.data), msg2.ssid.data.len);
                bss = cfg80211_inform_bss(wiphy,
-                       ieee80211_get_channel(wiphy, ieee80211_dsss_chan_to_freq(msg2.dschannel.data)),
+                       ieee80211_get_channel(wiphy,
+                             ieee80211_dsss_chan_to_freq(msg2.dschannel.data)),
                        (const u8 *) &(msg2.bssid.data.data),
                        msg2.timestamp.data, msg2.capinfo.data,
                        msg2.beaconperiod.data,
index 3dfa85ccc50408bdccbc1129670472427ec2f04f..333a2f693e49682720d396fd2e24baeb049279e8 100644 (file)
@@ -350,10 +350,10 @@ PD Record codes
 
 /*-------------------------------------------------------------*/
 /* Commonly used basic types */
-typedef struct hfa384x_bytestr {
+struct hfa384x_bytestr {
        u16 len;
        u8 data[0];
-} __packed hfa384x_bytestr_t;
+} __packed;
 
 typedef struct hfa384x_bytestr32 {
        u16 len;
index d22db43e803199f122696f7ae7ec3c16ee2d6171..a9909f6b000114245052f4e3ba995154797143a8 100644 (file)
@@ -525,7 +525,7 @@ int prism2mgmt_start(wlandevice_t *wlandev, void *msgp)
 
        p80211pstrd_t *pstr;
        u8 bytebuf[80];
-       hfa384x_bytestr_t *p2bytestr = (hfa384x_bytestr_t *) bytebuf;
+       struct hfa384x_bytestr *p2bytestr = (struct hfa384x_bytestr *) bytebuf;
        u16 word;
 
        wlandev->macmode = WLAN_MACMODE_NONE;
@@ -1019,7 +1019,7 @@ int prism2mgmt_autojoin(wlandevice_t *wlandev, void *msgp)
        struct p80211msg_lnxreq_autojoin *msg = msgp;
        p80211pstrd_t *pstr;
        u8 bytebuf[256];
-       hfa384x_bytestr_t *p2bytestr = (hfa384x_bytestr_t *) bytebuf;
+       struct hfa384x_bytestr *p2bytestr = (struct hfa384x_bytestr *) bytebuf;
 
        wlandev->macmode = WLAN_MACMODE_NONE;
 
index 07eecebeb6ccb476c3759aea3e87037512c0b45a..190d390c8490ac0c77a06cab7358da0d37fe4601 100644 (file)
@@ -92,8 +92,10 @@ void prism2mgmt_pstr2bytearea(u8 *bytearea, p80211pstrd_t *pstr);
 void prism2mgmt_bytearea2pstr(u8 *bytearea, p80211pstrd_t *pstr, int len);
 
 /* byte string conversion functions*/
-void prism2mgmt_pstr2bytestr(hfa384x_bytestr_t *bytestr, p80211pstrd_t *pstr);
-void prism2mgmt_bytestr2pstr(hfa384x_bytestr_t *bytestr, p80211pstrd_t *pstr);
+void prism2mgmt_pstr2bytestr(struct hfa384x_bytestr *bytestr,
+                            p80211pstrd_t *pstr);
+void prism2mgmt_bytestr2pstr(struct hfa384x_bytestr *bytestr,
+                            p80211pstrd_t *pstr);
 
 /* functions to convert Group Addresses */
 void prism2mgmt_get_grpaddr(u32 did, p80211pstrd_t *pstr, hfa384x_t *priv);
index d3a06fa0b4f6ad934b3025b94d9be2c631b0f41d..9b5f3b72d3cac36552903062297c8a0956fbe025 100644 (file)
@@ -763,7 +763,8 @@ static int prism2mib_priv(struct mibrec *mib,
 *
 ----------------------------------------------------------------*/
 
-void prism2mgmt_pstr2bytestr(hfa384x_bytestr_t *bytestr, p80211pstrd_t *pstr)
+void prism2mgmt_pstr2bytestr(struct hfa384x_bytestr *bytestr,
+                            p80211pstrd_t *pstr)
 {
        bytestr->len = cpu_to_le16((u16) (pstr->len));
        memcpy(bytestr->data, pstr->data, pstr->len);
@@ -804,7 +805,8 @@ void prism2mgmt_pstr2bytearea(u8 *bytearea, p80211pstrd_t *pstr)
 *
 ----------------------------------------------------------------*/
 
-void prism2mgmt_bytestr2pstr(hfa384x_bytestr_t *bytestr, p80211pstrd_t *pstr)
+void prism2mgmt_bytestr2pstr(struct hfa384x_bytestr *bytestr,
+                            p80211pstrd_t *pstr)
 {
        pstr->len = (u8) (le16_to_cpu((u16) (bytestr->len)));
        memcpy(pstr->data, bytestr->data, pstr->len);
index 76374b2202285b201981fd6c618c7fc744e72ff0..46f9491d10d3ce92252665615d35ec747e5db37d 100644 (file)
@@ -1279,7 +1279,7 @@ void prism2sta_processing_defer(struct work_struct *data)
                                     HFA384x_RID_CURRENTSSID, result);
                                return;
                        }
-                       prism2mgmt_bytestr2pstr((hfa384x_bytestr_t *) &ssid,
+                       prism2mgmt_bytestr2pstr((struct hfa384x_bytestr *) &ssid,
                                                (p80211pstrd_t *) &
                                                wlandev->ssid);
 
@@ -1361,7 +1361,7 @@ void prism2sta_processing_defer(struct work_struct *data)
                                 HFA384x_RID_CURRENTSSID, result);
                        return;
                }
-               prism2mgmt_bytestr2pstr((hfa384x_bytestr_t *) &ssid,
+               prism2mgmt_bytestr2pstr((struct hfa384x_bytestr *) &ssid,
                                        (p80211pstrd_t *) &wlandev->ssid);
 
                hw->link_status = HFA384x_LINK_CONNECTED;
@@ -2037,7 +2037,7 @@ void prism2sta_commsqual_defer(struct work_struct *data)
                         HFA384x_RID_CURRENTSSID, result);
                return;
        }
-       prism2mgmt_bytestr2pstr((hfa384x_bytestr_t *) &ssid,
+       prism2mgmt_bytestr2pstr((struct hfa384x_bytestr *) &ssid,
                                (p80211pstrd_t *) &wlandev->ssid);
 
        /* Reschedule timer */