diff options
Diffstat (limited to 'drivers/staging/rtl8187se')
-rw-r--r-- | drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c | 2 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c | 17 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c | 232 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c | 5 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_core.c | 112 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_dm.c | 98 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_rtl8225z2.c | 6 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_wx.c | 13 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8185b_init.c | 428 |
9 files changed, 525 insertions, 388 deletions
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c index 10b2210..3045790 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_rx.c @@ -858,7 +858,7 @@ static inline void ieee80211_extract_country_ie( } -int +static int ieee80211_TranslateToDbm( unsigned char SignalStrengthIndex // 0-100 index. ) diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c index b65db54..0290706 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c @@ -887,7 +887,8 @@ static struct sk_buff* ieee80211_probe_resp(struct ieee80211_device *ieee, u8 *d return skb; } -struct sk_buff* ieee80211_assoc_resp(struct ieee80211_device *ieee, u8 *dest) +static struct sk_buff *ieee80211_assoc_resp(struct ieee80211_device *ieee, + u8 *dest) { struct sk_buff *skb; u8* tag; @@ -940,7 +941,8 @@ struct sk_buff* ieee80211_assoc_resp(struct ieee80211_device *ieee, u8 *dest) return skb; } -struct sk_buff* ieee80211_auth_resp(struct ieee80211_device *ieee,int status, u8 *dest) +static struct sk_buff *ieee80211_auth_resp(struct ieee80211_device *ieee, + int status, u8 *dest) { struct sk_buff *skb; struct ieee80211_authentication *auth; @@ -2942,14 +2944,9 @@ int ieee80211_wpa_supplicant_ioctl(struct ieee80211_device *ieee, struct iw_poin goto out; } - param = kmalloc(p->length, GFP_KERNEL); - if (param == NULL){ - ret = -ENOMEM; - goto out; - } - if (copy_from_user(param, p->pointer, p->length)) { - kfree(param); - ret = -EFAULT; + param = memdup_user(p->pointer, p->length); + if (IS_ERR(param)) { + ret = PTR_ERR(param); goto out; } diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c index b346653..f5a5219 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_tx.c @@ -32,7 +32,6 @@ ******************************************************************************/ #include <linux/compiler.h> -//#include <linux/config.h> #include <linux/errno.h> #include <linux/if_arp.h> #include <linux/in6.h> @@ -186,9 +185,12 @@ int ieee80211_encrypt_fragment( struct ieee80211_crypt_data* crypt = ieee->crypt[ieee->tx_keyidx]; int res; - /*added to care about null crypt condition, to solve that system hangs when shared keys error*/ - if (!crypt || !crypt->ops) - return -1; + /* + * added to care about null crypt condition, to solve that system hangs + * when shared keys error + */ + if (!crypt || !crypt->ops) + return -1; #ifdef CONFIG_IEEE80211_CRYPT_TKIP struct ieee80211_hdr_4addr *header; @@ -197,19 +199,22 @@ int ieee80211_encrypt_fragment( crypt && crypt->ops && strcmp(crypt->ops->name, "TKIP") == 0) { header = (struct ieee80211_hdr_4addr *)frag->data; if (net_ratelimit()) { - printk(KERN_DEBUG "%s: TKIP countermeasures: dropped " - "TX packet to %pM\n", - ieee->dev->name, header->addr1); + netdev_dbg(ieee->dev, "TKIP countermeasures: dropped " + "TX packet to %pM\n", header->addr1); } return -1; } #endif - /* To encrypt, frame format is: - * IV (4 bytes), clear payload (including SNAP), ICV (4 bytes) */ - - // PR: FIXME: Copied from hostap. Check fragmentation/MSDU/MPDU encryption. - /* Host-based IEEE 802.11 fragmentation for TX is not yet supported, so - * call both MSDU and MPDU encryption functions from here. */ + /* + * To encrypt, frame format is: + * IV (4 bytes), clear payload (including SNAP), ICV (4 bytes) + * + * PR: FIXME: Copied from hostap. Check fragmentation/MSDU/MPDU + * encryption. + * + * Host-based IEEE 802.11 fragmentation for TX is not yet supported, so + * call both MSDU and MPDU encryption functions from here. + */ atomic_inc(&crypt->refcnt); res = 0; if (crypt->ops->encrypt_msdu) @@ -219,8 +224,7 @@ int ieee80211_encrypt_fragment( atomic_dec(&crypt->refcnt); if (res < 0) { - printk(KERN_INFO "%s: Encryption failed: len=%d.\n", - ieee->dev->name, frag->len); + netdev_info(ieee->dev, "Encryption failed: len=%d.\n", frag->len); ieee->ieee_stats.tx_discards++; return -1; } @@ -229,7 +233,8 @@ int ieee80211_encrypt_fragment( } -void ieee80211_txb_free(struct ieee80211_txb *txb) { +void ieee80211_txb_free(struct ieee80211_txb *txb) +{ int i; if (unlikely(!txb)) return; @@ -239,13 +244,13 @@ void ieee80211_txb_free(struct ieee80211_txb *txb) { kfree(txb); } -struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size, - int gfp_mask) +static struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size, + gfp_t gfp_mask) { struct ieee80211_txb *txb; int i; txb = kmalloc( - sizeof(struct ieee80211_txb) + (sizeof(u8*) * nr_frags), + sizeof(struct ieee80211_txb) + (sizeof(u8 *) * nr_frags), gfp_mask); if (!txb) return NULL; @@ -270,42 +275,43 @@ struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size, return txb; } -// Classify the to-be send data packet -// Need to acquire the sent queue index. +/* + * 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) { - struct ether_header *eh = (struct ether_header*)skb->data; - unsigned int wme_UP = 0; + struct ether_header *eh = (struct ether_header *)skb->data; + unsigned int wme_UP = 0; - if(!network->QoS_Enable) { - skb->priority = 0; - return(wme_UP); - } + if (!network->QoS_Enable) { + skb->priority = 0; + return(wme_UP); + } - if(eh->ether_type == __constant_htons(ETHERTYPE_IP)) { - const struct iphdr *ih = (struct iphdr*)(skb->data + \ + if (eh->ether_type == __constant_htons(ETHERTYPE_IP)) { + const struct iphdr *ih = (struct iphdr *)(skb->data + sizeof(struct ether_header)); - wme_UP = (ih->tos >> 5)&0x07; - } else if (vlan_tx_tag_present(skb)) {//vtag packet + wme_UP = (ih->tos >> 5)&0x07; + } else if (vlan_tx_tag_present(skb)) {/* vtag packet */ #ifndef VLAN_PRI_SHIFT #define VLAN_PRI_SHIFT 13 /* Shift to find VLAN user priority */ #define VLAN_PRI_MASK 7 /* Mask for user priority bits in VLAN */ #endif - u32 tag = vlan_tx_tag_get(skb); - wme_UP = (tag >> VLAN_PRI_SHIFT) & VLAN_PRI_MASK; - } else if(ETH_P_PAE == ntohs(((struct ethhdr *)skb->data)->h_proto)) { - //printk(KERN_WARNING "type = normal packet\n"); - wme_UP = 7; - } - - skb->priority = wme_UP; - return(wme_UP); + u32 tag = vlan_tx_tag_get(skb); + wme_UP = (tag >> VLAN_PRI_SHIFT) & VLAN_PRI_MASK; + } else if (ETH_P_PAE == ntohs(((struct ethhdr *)skb->data)->h_proto)) { + wme_UP = 7; + } + + skb->priority = wme_UP; + return(wme_UP); } /* SKBs are added to the ieee->tx_queue. */ int ieee80211_rtl_xmit(struct sk_buff *skb, - struct net_device *dev) + struct net_device *dev) { struct ieee80211_device *ieee = netdev_priv(dev); struct ieee80211_txb *txb = NULL; @@ -325,24 +331,25 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, struct ieee80211_crypt_data* crypt; - //printk(KERN_WARNING "upper layer packet!\n"); spin_lock_irqsave(&ieee->lock, flags); - /* If there is no driver handler to take the TXB, don't bother - * creating it... */ - if ((!ieee->hard_start_xmit && !(ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE))|| - ((!ieee->softmac_data_hard_start_xmit && (ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE)))) { - printk(KERN_WARNING "%s: No xmit handler.\n", - ieee->dev->name); + /* + * If there is no driver handler to take the TXB, don't bother + * creating it... + */ + if ((!ieee->hard_start_xmit && + !(ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE)) || + ((!ieee->softmac_data_hard_start_xmit && + (ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE)))) { + netdev_warn(ieee->dev, "No xmit handler.\n"); goto success; } ieee80211_classify(skb,&ieee->current_network); - if(likely(ieee->raw_tx == 0)){ + if (likely(ieee->raw_tx == 0)){ if (unlikely(skb->len < SNAP_SIZE + sizeof(u16))) { - printk(KERN_WARNING "%s: skb too small (%d).\n", - ieee->dev->name, skb->len); + netdev_warn(ieee->dev, "skb too small (%d).\n", skb->len); goto success; } @@ -378,7 +385,7 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, /* Determine total amount of storage required for TXB packets */ bytes = skb->len + SNAP_SIZE + sizeof(u16); - if(ieee->current_network.QoS_Enable) { + if (ieee->current_network.QoS_Enable) { if (encrypt) fc = IEEE80211_FTYPE_DATA | IEEE80211_STYPE_QOS_DATA | IEEE80211_FCTL_WEP; @@ -395,31 +402,31 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, if (ieee->iw_mode == IW_MODE_INFRA) { fc |= IEEE80211_FCTL_TODS; - /* To DS: Addr1 = BSSID, Addr2 = SA, - Addr3 = DA */ + /* To DS: Addr1 = BSSID, Addr2 = SA, Addr3 = DA */ memcpy(&header.addr1, ieee->current_network.bssid, ETH_ALEN); memcpy(&header.addr2, &src, ETH_ALEN); memcpy(&header.addr3, &dest, ETH_ALEN); } else if (ieee->iw_mode == IW_MODE_ADHOC) { - /* not From/To DS: Addr1 = DA, Addr2 = SA, - Addr3 = BSSID */ + /* + * not From/To DS: Addr1 = DA, Addr2 = SA, + * Addr3 = BSSID + */ memcpy(&header.addr1, dest, ETH_ALEN); memcpy(&header.addr2, src, ETH_ALEN); memcpy(&header.addr3, ieee->current_network.bssid, ETH_ALEN); } - // printk(KERN_WARNING "essid MAC address is %pM", &header.addr1); header.frame_ctl = cpu_to_le16(fc); - //hdr_len = IEEE80211_3ADDR_LEN; - /* Determine fragmentation size based on destination (multicast - * and broadcast are not fragmented) */ + /* + * Determine fragmentation size based on destination (multicast + * and broadcast are not fragmented) + */ if (is_multicast_ether_addr(header.addr1)) { frag_size = MAX_FRAG_THRESHOLD; qos_ctl = QOS_CTL_NOTCONTAIN_ACK; - } - else { - //printk(KERN_WARNING "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&frag_size = %d\n", frag_size); - frag_size = ieee->fts;//default:392 + } else { + /* default:392 */ + frag_size = ieee->fts; qos_ctl = 0; } @@ -432,11 +439,12 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, hdr_len = IEEE80211_3ADDR_LEN; } - /* Determine amount of payload per fragment. Regardless of if - * this stack is providing the full 802.11 header, one will - * eventually be affixed to this fragment -- so we must account for - * it when determining the amount of payload space. */ - //bytes_per_frag = frag_size - (IEEE80211_3ADDR_LEN + (ieee->current_network->QoS_Enable ? 2:0)); + /* + * Determine amount of payload per fragment. Regardless of if + * this stack is providing the full 802.11 header, one will + * eventually be affixed to this fragment -- so we must account + * for it when determining the amount of payload space. + */ bytes_per_frag = frag_size - hdr_len; if (ieee->config & (CFG_IEEE80211_COMPUTE_FCS | CFG_IEEE80211_RESERVE_FCS)) @@ -447,8 +455,10 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, bytes_per_frag -= crypt->ops->extra_prefix_len + crypt->ops->extra_postfix_len; - /* Number of fragments is the total bytes_per_frag / - * payload_per_fragment */ + /* + * Number of fragments is the total bytes_per_frag / + * payload_per_fragment + */ nr_frags = bytes / bytes_per_frag; bytes_last_frag = bytes % bytes_per_frag; if (bytes_last_frag) @@ -456,13 +466,14 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, else bytes_last_frag = bytes_per_frag; - /* When we allocate the TXB we allocate enough space for the reserve - * and full fragment bytes (bytes_per_frag doesn't include prefix, - * postfix, header, FCS, etc.) */ + /* + * When we allocate the TXB we allocate enough space for the + * reserve and full fragment bytes (bytes_per_frag doesn't + * include prefix, postfix, header, FCS, etc.) + */ txb = ieee80211_alloc_txb(nr_frags, frag_size, GFP_ATOMIC); if (unlikely(!txb)) { - printk(KERN_WARNING "%s: Could not allocate TXB\n", - ieee->dev->name); + netdev_warn(ieee->dev, "Could not allocate TXB\n"); goto failed; } txb->encrypted = encrypt; @@ -474,11 +485,14 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, if (encrypt) skb_reserve(skb_frag, crypt->ops->extra_prefix_len); - frag_hdr = (struct ieee80211_hdr_3addrqos *)skb_put(skb_frag, hdr_len); + frag_hdr = (struct ieee80211_hdr_3addrqos *)skb_put( + skb_frag, hdr_len); memcpy(frag_hdr, &header, hdr_len); - /* If this is not the last fragment, then add the MOREFRAGS - * bit to the frame control */ + /* + * If this is not the last fragment, then add the MOREFRAGS + * bit to the frame control + */ if (i != nr_frags - 1) { frag_hdr->frame_ctl = cpu_to_le16( fc | IEEE80211_FCTL_MOREFRAGS); @@ -488,16 +502,17 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, /* The last fragment takes the remaining length */ bytes = bytes_last_frag; } - if(ieee->current_network.QoS_Enable) { - // add 1 only indicate to corresponding seq number control 2006/7/12 - frag_hdr->seq_ctl = cpu_to_le16(ieee->seq_ctrl[UP2AC(skb->priority)+1]<<4 | i); - //printk(KERN_WARNING "skb->priority = %d,", skb->priority); - //printk(KERN_WARNING "type:%d: seq = %d\n",UP2AC(skb->priority),ieee->seq_ctrl[UP2AC(skb->priority)+1]); + if (ieee->current_network.QoS_Enable) { + /* + * add 1 only indicate to corresponding seq + * number control 2006/7/12 + */ + frag_hdr->seq_ctl = cpu_to_le16( + ieee->seq_ctrl[UP2AC(skb->priority)+1]<<4 | i); } else { - frag_hdr->seq_ctl = cpu_to_le16(ieee->seq_ctrl[0]<<4 | i); + frag_hdr->seq_ctl = cpu_to_le16( + ieee->seq_ctrl[0]<<4 | i); } - //frag_hdr->seq_ctl = cpu_to_le16(ieee->seq_ctrl<<4 | i); - // /* Put a SNAP header on the first fragment */ if (i == 0) { @@ -512,54 +527,53 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, /* Advance the SKB... */ skb_pull(skb, bytes); - /* Encryption routine will move the header forward in order - * to insert the IV between the header and the payload */ + /* + * Encryption routine will move the header forward in + * order to insert the IV between the header and the + * payload + */ if (encrypt) ieee80211_encrypt_fragment(ieee, skb_frag, hdr_len); if (ieee->config & (CFG_IEEE80211_COMPUTE_FCS | CFG_IEEE80211_RESERVE_FCS)) skb_put(skb_frag, 4); } - // Advance sequence number in data frame. - //printk(KERN_WARNING "QoS Enalbed? %s\n", ieee->current_network.QoS_Enable?"Y":"N"); + /* Advance sequence number in data frame. */ if (ieee->current_network.QoS_Enable) { - if (ieee->seq_ctrl[UP2AC(skb->priority) + 1] == 0xFFF) - ieee->seq_ctrl[UP2AC(skb->priority) + 1] = 0; - else - ieee->seq_ctrl[UP2AC(skb->priority) + 1]++; + if (ieee->seq_ctrl[UP2AC(skb->priority) + 1] == 0xFFF) + ieee->seq_ctrl[UP2AC(skb->priority) + 1] = 0; + else + ieee->seq_ctrl[UP2AC(skb->priority) + 1]++; } else { - if (ieee->seq_ctrl[0] == 0xFFF) - ieee->seq_ctrl[0] = 0; - else - ieee->seq_ctrl[0]++; + if (ieee->seq_ctrl[0] == 0xFFF) + ieee->seq_ctrl[0] = 0; + else + ieee->seq_ctrl[0]++; } - //--- - }else{ + } else { if (unlikely(skb->len < sizeof(struct ieee80211_hdr_3addr))) { - printk(KERN_WARNING "%s: skb too small (%d).\n", - ieee->dev->name, skb->len); + netdev_warn(ieee->dev, "skb too small (%d).\n", skb->len); goto success; } txb = ieee80211_alloc_txb(1, skb->len, GFP_ATOMIC); - if(!txb){ - printk(KERN_WARNING "%s: Could not allocate TXB\n", - ieee->dev->name); + if (!txb) { + netdev_warn(ieee->dev, "Could not allocate TXB\n"); goto failed; } txb->encrypted = 0; txb->payload_size = skb->len; - memcpy(skb_put(txb->fragments[0],skb->len), skb->data, skb->len); + memcpy(skb_put(txb->fragments[0], skb->len), skb->data, skb->len); } success: spin_unlock_irqrestore(&ieee->lock, flags); dev_kfree_skb_any(skb); if (txb) { - if (ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE){ + if (ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE) { ieee80211_softmac_xmit(txb, ieee); - }else{ + } else { if ((*ieee->hard_start_xmit)(txb, dev) == 0) { stats->tx_packets++; stats->tx_bytes += txb->payload_size; diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c index e014f7e..24d39cc 100644 --- a/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c +++ b/drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c @@ -145,7 +145,8 @@ static inline char *rtl818x_translate_scan(struct ieee80211_device *ieee, /* Add quality statistics */ /* TODO: Fix these values... */ if (network->stats.signal == 0 || network->stats.rssi == 0) - printk("========>signal:%d, rssi:%d\n", network->stats.signal, network->stats.rssi); + printk("========>signal:%d, rssi:%d\n", network->stats.signal, + network->stats.rssi); iwe.cmd = IWEVQUAL; // printk("SIGNAL: %d,RSSI: %d,NOISE: %d\n",network->stats.signal,network->stats.rssi,network->stats.noise); iwe.u.qual.qual = network->stats.signalstrength; @@ -622,7 +623,7 @@ done: if (ieee->set_security) ieee->set_security(ieee->dev, &sec); - if (ieee->reset_on_keychange && + if (ieee->reset_on_keychange && ieee->iw_mode != IW_MODE_INFRA && ieee->reset_port && ieee->reset_port(dev)) { IEEE80211_DEBUG_WX("%s: reset_port failed\n", dev->name); diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c index 5947a6f..76a6738 100644 --- a/drivers/staging/rtl8187se/r8180_core.c +++ b/drivers/staging/rtl8187se/r8180_core.c @@ -160,34 +160,34 @@ static struct pci_driver rtl8180_pci_driver = { u8 read_nic_byte(struct net_device *dev, int x) { - return 0xff&readb((u8 *)dev->mem_start + x); + return 0xff&readb((u8 __iomem *)dev->mem_start + x); } u32 read_nic_dword(struct net_device *dev, int x) { - return readl((u8 *)dev->mem_start + x); + return readl((u8 __iomem *)dev->mem_start + x); } u16 read_nic_word(struct net_device *dev, int x) { - return readw((u8 *)dev->mem_start + x); + return readw((u8 __iomem *)dev->mem_start + x); } void write_nic_byte(struct net_device *dev, int x, u8 y) { - writeb(y, (u8 *)dev->mem_start + x); + writeb(y, (u8 __iomem *)dev->mem_start + x); udelay(20); } void write_nic_dword(struct net_device *dev, int x, u32 y) { - writel(y, (u8 *)dev->mem_start + x); + writel(y, (u8 __iomem *)dev->mem_start + x); udelay(20); } void write_nic_word(struct net_device *dev, int x, u16 y) { - writew(y, (u8 *)dev->mem_start + x); + writew(y, (u8 __iomem *)dev->mem_start + x); udelay(20); } @@ -275,18 +275,18 @@ static int proc_get_stats_tx(struct seq_file *m, void *v) return 0; } -void rtl8180_proc_module_init(void) +static void rtl8180_proc_module_init(void) { DMESG("Initializing proc filesystem"); rtl8180_proc = proc_mkdir(RTL8180_MODULE_NAME, init_net.proc_net); } -void rtl8180_proc_module_remove(void) +static void rtl8180_proc_module_remove(void) { remove_proc_entry(RTL8180_MODULE_NAME, init_net.proc_net); } -void rtl8180_proc_remove_one(struct net_device *dev) +static void rtl8180_proc_remove_one(struct net_device *dev) { remove_proc_subtree(dev->name, rtl8180_proc); } @@ -325,7 +325,7 @@ static const struct rtl8180_proc_file rtl8180_proc_files[] = { { "" } }; -void rtl8180_proc_init_one(struct net_device *dev) +static void rtl8180_proc_init_one(struct net_device *dev) { const struct rtl8180_proc_file *f; struct proc_dir_entry *dir; @@ -351,8 +351,8 @@ void rtl8180_proc_init_one(struct net_device *dev) data type+functions in kernel */ -short buffer_add(struct buffer **buffer, u32 *buf, dma_addr_t dma, - struct buffer **bufferhead) +static short buffer_add(struct buffer **buffer, u32 *buf, dma_addr_t dma, + struct buffer **bufferhead) { struct buffer *tmp; @@ -463,7 +463,7 @@ int get_curr_tx_free_desc(struct net_device *dev, int priority) return ret; } -short check_nic_enought_desc(struct net_device *dev, int priority) +static short check_nic_enought_desc(struct net_device *dev, int priority) { struct r8180_priv *priv = ieee80211_priv(dev); struct ieee80211_device *ieee = netdev_priv(dev); @@ -589,7 +589,7 @@ void fix_rx_fifo(struct net_device *dev) set_nic_rxring(dev); } -void rtl8180_irq_disable(struct net_device *dev) +static void rtl8180_irq_disable(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); @@ -705,8 +705,8 @@ void rtl8180_rtx_disable(struct net_device *dev) dev_kfree_skb_any(priv->rx_skb); } -short alloc_tx_desc_ring(struct net_device *dev, int bufsize, int count, - int addr) +static short alloc_tx_desc_ring(struct net_device *dev, int bufsize, int count, + int addr) { int i; u32 *desc; @@ -830,7 +830,7 @@ short alloc_tx_desc_ring(struct net_device *dev, int bufsize, int count, return 0; } -void free_tx_desc_rings(struct net_device *dev) +static void free_tx_desc_rings(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); struct pci_dev *pdev = priv->pdev; @@ -866,7 +866,7 @@ void free_tx_desc_rings(struct net_device *dev) buffer_free(dev, &(priv->txbeaconbufs), priv->txbuffsize, 1); } -void free_rx_desc_ring(struct net_device *dev) +static void free_rx_desc_ring(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); struct pci_dev *pdev = priv->pdev; @@ -878,7 +878,7 @@ void free_rx_desc_ring(struct net_device *dev) buffer_free(dev, &(priv->rxbuffer), priv->rxbuffersize, 0); } -short alloc_rx_desc_ring(struct net_device *dev, u16 bufsize, int count) +static short alloc_rx_desc_ring(struct net_device *dev, u16 bufsize, int count) { int i; u32 *desc; @@ -1092,7 +1092,7 @@ u16 N_DBPSOfRate(u16 DataRate) /* * For Netgear case, they want good-looking signal strength. */ -long NetgearSignalStrengthTranslate(long LastSS, long CurrSS) +static long NetgearSignalStrengthTranslate(long LastSS, long CurrSS) { long RetSS; @@ -1128,7 +1128,7 @@ long NetgearSignalStrengthTranslate(long LastSS, long CurrSS) /* * Translate 0-100 signal strength index into dBm. */ -long TranslateToDbm8185(u8 SignalStrengthIndex) +static long TranslateToDbm8185(u8 SignalStrengthIndex) { long SignalPower; @@ -1145,8 +1145,8 @@ long TranslateToDbm8185(u8 SignalStrengthIndex) * No dramatic adjustion is apply because dynamic mechanism need some degree * of correctness. Ported from 8187B. */ -void PerformUndecoratedSignalSmoothing8185(struct r8180_priv *priv, - bool bCckRate) +static void PerformUndecoratedSignalSmoothing8185(struct r8180_priv *priv, + bool bCckRate) { /* Determin the current packet is CCK rate. */ priv->bCurCCKPkt = bCckRate; @@ -1170,7 +1170,7 @@ void PerformUndecoratedSignalSmoothing8185(struct r8180_priv *priv, /* * This is rough RX isr handling routine */ -void rtl8180_rx(struct net_device *dev) +static void rtl8180_rx(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); struct sk_buff *tmp_skb; @@ -1496,7 +1496,7 @@ drop: /* this is used when we have not enough mem */ } -void rtl8180_dma_kick(struct net_device *dev, int priority) +static void rtl8180_dma_kick(struct net_device *dev, int priority) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); @@ -1508,7 +1508,7 @@ void rtl8180_dma_kick(struct net_device *dev, int priority) force_pci_posting(dev); } -void rtl8180_data_hard_stop(struct net_device *dev) +static void rtl8180_data_hard_stop(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); @@ -1518,7 +1518,7 @@ void rtl8180_data_hard_stop(struct net_device *dev) rtl8180_set_mode(dev, EPROM_CMD_NORMAL); } -void rtl8180_data_hard_resume(struct net_device *dev) +static void rtl8180_data_hard_resume(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); @@ -1532,8 +1532,9 @@ void rtl8180_data_hard_resume(struct net_device *dev) * This function TX data frames when the ieee80211 stack requires this. * It checks also if we need to stop the ieee tx queue, eventually do it */ -void rtl8180_hard_data_xmit(struct sk_buff *skb, struct net_device *dev, int -rate) { +static void rtl8180_hard_data_xmit(struct sk_buff *skb, struct net_device *dev, + int rate) +{ struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); int mode; struct ieee80211_hdr_3addr *h = (struct ieee80211_hdr_3addr *) skb->data; @@ -1584,7 +1585,7 @@ rate) { * might use a different lock than tx_lock (for example mgmt_tx_lock) */ /* these function may loop if invoked with 0 descriptors or 0 len buffer */ -int rtl8180_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) +static int rtl8180_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); unsigned long flags; @@ -1660,7 +1661,7 @@ u16 rtl8180_len2duration(u32 len, short rate, short *ext) return duration; } -void rtl8180_prepare_beacon(struct net_device *dev) +static void rtl8180_prepare_beacon(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); struct sk_buff *skb; @@ -1704,7 +1705,7 @@ short rtl8180_tx(struct net_device *dev, u8 *txbuf, int len, int priority, u16 RtsDur = 0; u16 ThisFrameTime = 0; u16 TxDescDuration = 0; - u8 ownbit_flag = false; + bool ownbit_flag = false; switch (priority) { case MANAGE_PRIORITY: @@ -1953,7 +1954,7 @@ short rtl8180_tx(struct net_device *dev, u8 *txbuf, int len, int priority, void rtl8180_irq_rx_tasklet(struct r8180_priv *priv); -void rtl8180_link_change(struct net_device *dev) +static void rtl8180_link_change(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); u16 beacon_interval; @@ -1976,7 +1977,7 @@ void rtl8180_link_change(struct net_device *dev) rtl8180_set_chan(dev, priv->chan); } -void rtl8180_rq_tx_ack(struct net_device *dev) +static void rtl8180_rq_tx_ack(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); @@ -1985,7 +1986,7 @@ void rtl8180_rq_tx_ack(struct net_device *dev) priv->ack_tx_to_ieee = 1; } -short rtl8180_is_tx_queue_empty(struct net_device *dev) +static short rtl8180_is_tx_queue_empty(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); @@ -2023,7 +2024,7 @@ short rtl8180_is_tx_queue_empty(struct net_device *dev) return 1; } -void rtl8180_hw_wakeup(struct net_device *dev) +static void rtl8180_hw_wakeup(struct net_device *dev) { unsigned long flags; struct r8180_priv *priv = ieee80211_priv(dev); @@ -2035,7 +2036,7 @@ void rtl8180_hw_wakeup(struct net_device *dev) spin_unlock_irqrestore(&priv->ps_lock, flags); } -void rtl8180_hw_sleep_down(struct net_device *dev) +static void rtl8180_hw_sleep_down(struct net_device *dev) { unsigned long flags; struct r8180_priv *priv = ieee80211_priv(dev); @@ -2046,7 +2047,7 @@ void rtl8180_hw_sleep_down(struct net_device *dev) spin_unlock_irqrestore(&priv->ps_lock, flags); } -void rtl8180_hw_sleep(struct net_device *dev, u32 th, u32 tl) +static void rtl8180_hw_sleep(struct net_device *dev, u32 th, u32 tl) { struct r8180_priv *priv = ieee80211_priv(dev); u32 rb = jiffies; @@ -2093,7 +2094,7 @@ void rtl8180_hw_sleep(struct net_device *dev, u32 th, u32 tl) spin_unlock_irqrestore(&priv->ps_lock, flags); } -void rtl8180_wmm_param_update(struct work_struct *work) +static void rtl8180_wmm_param_update(struct work_struct *work) { struct ieee80211_device *ieee = container_of(work, struct ieee80211_device, wmm_param_update_wq); struct net_device *dev = ieee->dev; @@ -2195,7 +2196,7 @@ void rtl8180_hw_sleep_wq(struct work_struct *work); void rtl8180_sw_antenna_wq(struct work_struct *work); void rtl8180_watch_dog(struct net_device *dev); -void watch_dog_adaptive(unsigned long data) +static void watch_dog_adaptive(unsigned long data) { struct r8180_priv *priv = ieee80211_priv((struct net_device *)data); @@ -2213,7 +2214,7 @@ void watch_dog_adaptive(unsigned long data) TxPwrTracking87SE((struct net_device *)data); /* Perform DIG immediately. */ - if (CheckDig((struct net_device *)data) == true) + if (CheckDig((struct net_device *)data)) queue_work(priv->ieee80211->wq, (void *)&priv->ieee80211->hw_dig_wq); rtl8180_watch_dog((struct net_device *)data); @@ -2271,7 +2272,7 @@ static void rtl8180_set_channel_map(u8 channel_plan, struct ieee80211_device *ie } case COUNTRY_CODE_GLOBAL_DOMAIN: { - GET_DOT11D_INFO(ieee)->bEnabled = 0; + GET_DOT11D_INFO(ieee)->bEnabled = false; Dot11d_Reset(ieee); ieee->bGlobalDomain = true; break; @@ -2429,7 +2430,7 @@ short rtl8180_init(struct net_device *dev) init_timer(&priv->SwAntennaDiversityTimer); priv->SwAntennaDiversityTimer.data = (unsigned long)dev; priv->SwAntennaDiversityTimer.function = (void *)SwAntennaDiversityTimerCallback; - priv->bDigMechanism = 1; + priv->bDigMechanism = true; priv->InitialGain = 6; priv->bXtalCalibration = false; priv->XtalCal_Xin = 0; @@ -2548,7 +2549,7 @@ short rtl8180_init(struct net_device *dev) (priv->EarlyRxThreshold == 7 ? RCR_ONLYERLPKT : 0); - priv->IntrMask = IMR_TMGDOK | IMR_TBDER | IMR_THPDER | + priv->IntrMask = IMR_TMGDOK | IMR_TBDER | IMR_THPDER | IMR_THPDOK | IMR_TVODER | IMR_TVODOK | IMR_TVIDER | IMR_TVIDOK | @@ -2757,7 +2758,7 @@ void rtl8185_tx_antenna(struct net_device *dev, u8 ant) mdelay(1); } -void rtl8185_write_phy(struct net_device *dev, u8 adr, u32 data) +static void rtl8185_write_phy(struct net_device *dev, u8 adr, u32 data) { u32 phyw; @@ -2969,7 +2970,7 @@ void rtl8180_watch_dog(struct net_device *dev) priv->ieee80211->NumRxBcnInPeriod = 0; } -int _rtl8180_up(struct net_device *dev) +static int _rtl8180_up(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); @@ -2991,7 +2992,7 @@ int _rtl8180_up(struct net_device *dev) return 0; } -int rtl8180_open(struct net_device *dev) +static int rtl8180_open(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); int ret; @@ -3012,7 +3013,7 @@ int rtl8180_up(struct net_device *dev) return _rtl8180_up(dev); } -int rtl8180_close(struct net_device *dev) +static int rtl8180_close(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); int ret; @@ -3065,7 +3066,7 @@ void rtl8180_restart_wq(struct work_struct *work) up(&priv->wx_sem); } -void rtl8180_restart(struct net_device *dev) +static void rtl8180_restart(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); @@ -3106,7 +3107,7 @@ static void r8180_set_multicast(struct net_device *dev) priv->promisc = promisc; } -int r8180_set_mac_adr(struct net_device *dev, void *mac) +static int r8180_set_mac_adr(struct net_device *dev, void *mac) { struct r8180_priv *priv = ieee80211_priv(dev); struct sockaddr *addr = mac; @@ -3129,7 +3130,7 @@ int r8180_set_mac_adr(struct net_device *dev, void *mac) } /* based on ipw2200 driver */ -int rtl8180_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) +static int rtl8180_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); struct iwreq *wrq = (struct iwreq *) rq; @@ -3251,7 +3252,7 @@ static int rtl8180_pci_probe(struct pci_dev *pdev, return 0; fail1: if (dev->mem_start != (unsigned long)NULL) { - iounmap((void *)dev->mem_start); + iounmap((void __iomem *)dev->mem_start); release_mem_region(pci_resource_start(pdev, 1), pci_resource_len(pdev, 1)); } @@ -3268,7 +3269,6 @@ fail_free: pci_disable_device(pdev); DMESG("wlan driver load failed\n"); - pci_set_drvdata(pdev, NULL); return ret; } @@ -3298,7 +3298,7 @@ static void rtl8180_pci_remove(struct pci_dev *pdev) free_tx_desc_rings(dev); if (dev->mem_start != (unsigned long)NULL) { - iounmap((void *)dev->mem_start); + iounmap((void __iomem *)dev->mem_start); release_mem_region(pci_resource_start(pdev, 1), pci_resource_len(pdev, 1)); } @@ -3369,7 +3369,7 @@ static void __exit rtl8180_pci_module_exit(void) DMESG("Exiting"); } -void rtl8180_try_wake_queue(struct net_device *dev, int pri) +static void rtl8180_try_wake_queue(struct net_device *dev, int pri) { unsigned long flags; short enough_desc; @@ -3383,7 +3383,7 @@ void rtl8180_try_wake_queue(struct net_device *dev, int pri) ieee80211_rtl_wake_queue(priv->ieee80211); } -void rtl8180_tx_isr(struct net_device *dev, int pri, short error) +static void rtl8180_tx_isr(struct net_device *dev, int pri, short error) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); u32 *tail; /* tail virtual addr */ diff --git a/drivers/staging/rtl8187se/r8180_dm.c b/drivers/staging/rtl8187se/r8180_dm.c index b8f2ba0..2ccd2cb 100644 --- a/drivers/staging/rtl8187se/r8180_dm.c +++ b/drivers/staging/rtl8187se/r8180_dm.c @@ -10,10 +10,10 @@ bool CheckHighPower(struct net_device *dev) struct r8180_priv *priv = ieee80211_priv(dev); struct ieee80211_device *ieee = priv->ieee80211; - if(!priv->bRegHighPowerMechanism) + if (!priv->bRegHighPowerMechanism) return false; - if(ieee->state == IEEE80211_LINKED_SCANNING) + if (ieee->state == IEEE80211_LINKED_SCANNING) return false; return true; @@ -30,7 +30,7 @@ bool CheckHighPower(struct net_device *dev) * and they are related to OFDM and MAC registers. * So, we don't want to update it so frequently in per-Rx packet base. */ -void DoTxHighPower(struct net_device *dev) +static void DoTxHighPower(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); u16 HiPwrUpperTh = 0; @@ -57,15 +57,15 @@ void DoTxHighPower(struct net_device *dev) /* Stevenl suggested that degrade 8dbm in high power sate. 2007-12-04 Isaiah */ priv->bToUpdateTxPwr = true; - u1bTmp= read_nic_byte(dev, CCK_TXAGC); + u1bTmp = read_nic_byte(dev, CCK_TXAGC); /* If it never enter High Power. */ if (CckTxPwrIdx == u1bTmp) { - u1bTmp = (u1bTmp > 16) ? (u1bTmp -16): 0; /* 8dbm */ + u1bTmp = (u1bTmp > 16) ? (u1bTmp - 16) : 0; /* 8dbm */ write_nic_byte(dev, CCK_TXAGC, u1bTmp); - u1bTmp= read_nic_byte(dev, OFDM_TXAGC); - u1bTmp = (u1bTmp > 16) ? (u1bTmp -16): 0; /* 8dbm */ + u1bTmp = read_nic_byte(dev, OFDM_TXAGC); + u1bTmp = (u1bTmp > 16) ? (u1bTmp - 16) : 0; /* 8dbm */ write_nic_byte(dev, OFDM_TXAGC, u1bTmp); } @@ -74,12 +74,12 @@ void DoTxHighPower(struct net_device *dev) if (priv->bToUpdateTxPwr) { priv->bToUpdateTxPwr = false; /* SD3 required. */ - u1bTmp= read_nic_byte(dev, CCK_TXAGC); + u1bTmp = read_nic_byte(dev, CCK_TXAGC); if (u1bTmp < CckTxPwrIdx) { write_nic_byte(dev, CCK_TXAGC, CckTxPwrIdx); } - u1bTmp= read_nic_byte(dev, OFDM_TXAGC); + u1bTmp = read_nic_byte(dev, OFDM_TXAGC); if (u1bTmp < OfdmTxPwrIdx) { write_nic_byte(dev, OFDM_TXAGC, OfdmTxPwrIdx); } @@ -97,7 +97,7 @@ void DoTxHighPower(struct net_device *dev) void rtl8180_tx_pw_wq(struct work_struct *work) { struct delayed_work *dwork = to_delayed_work(work); - struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,tx_pw_wq); + struct ieee80211_device *ieee = container_of(dwork, struct ieee80211_device, tx_pw_wq); struct net_device *dev = ieee->dev; DoTxHighPower(dev); @@ -125,7 +125,7 @@ bool CheckDig(struct net_device *dev) /* * Implementation of DIG for Zebra and Zebra2. */ -void DIG_Zebra(struct net_device *dev) +static void DIG_Zebra(struct net_device *dev) { struct r8180_priv *priv = ieee80211_priv(dev); u16 CCKFalseAlarm, OFDMFalseAlarm; @@ -149,11 +149,11 @@ void DIG_Zebra(struct net_device *dev) #if 1 /* lzm reserved 080826 */ AwakePeriodIn2Sec = (2000 - priv->DozePeriodInPast2Sec); - priv ->DozePeriodInPast2Sec = 0; + priv->DozePeriodInPast2Sec = 0; if (AwakePeriodIn2Sec) { - OfdmFA1 = (u16)((OfdmFA1 * AwakePeriodIn2Sec) / 2000) ; - OfdmFA2 = (u16)((OfdmFA2 * AwakePeriodIn2Sec) / 2000) ; + OfdmFA1 = (u16)((OfdmFA1 * AwakePeriodIn2Sec) / 2000); + OfdmFA2 = (u16)((OfdmFA2 * AwakePeriodIn2Sec) / 2000); } else { ; } @@ -202,7 +202,7 @@ void DIG_Zebra(struct net_device *dev) /* * Dispatch DIG implementation according to RF. */ -void DynamicInitGain(struct net_device *dev) +static void DynamicInitGain(struct net_device *dev) { DIG_Zebra(dev); } @@ -210,7 +210,7 @@ void DynamicInitGain(struct net_device *dev) void rtl8180_hw_dig_wq(struct work_struct *work) { struct delayed_work *dwork = to_delayed_work(work); - struct ieee80211_device *ieee = container_of(dwork,struct ieee80211_device,hw_dig_wq); + struct ieee80211_device *ieee = container_of(dwork, struct ieee80211_device, hw_dig_wq); struct net_device *dev = ieee->dev; struct r8180_priv *priv = ieee80211_priv(dev); @@ -223,7 +223,7 @@ void rtl8180_hw_dig_wq(struct work_struct *work) } -int IncludedInSupportedRates(struct r8180_priv *priv, u8 TxRate) +static int IncludedInSupportedRates(struct r8180_priv *priv, u8 TxRate) { u8 rate_len; u8 rate_ex_len; @@ -234,7 +234,7 @@ int IncludedInSupportedRates(struct r8180_priv *priv, u8 TxRate) rate_len = priv->ieee80211->current_network.rates_len; rate_ex_len = priv->ieee80211->current_network.rates_ex_len; - for (idx=0; idx < rate_len; idx++) { + for (idx = 0; idx < rate_len; idx++) { if ((priv->ieee80211->current_network.rates[idx] & RateMask) == NaiveTxRate) { Found = 1; goto found_rate; @@ -247,7 +247,7 @@ int IncludedInSupportedRates(struct r8180_priv *priv, u8 TxRate) } } return Found; - found_rate: +found_rate: return Found; } @@ -255,7 +255,7 @@ int IncludedInSupportedRates(struct r8180_priv *priv, u8 TxRate) * Get the Tx rate one degree up form the input rate in the supported rates. * Return the upgrade rate if it is successed, otherwise return the input rate. */ -u8 GetUpgradeTxRate(struct net_device *dev, u8 rate) +static u8 GetUpgradeTxRate(struct net_device *dev, u8 rate) { struct r8180_priv *priv = ieee80211_priv(dev); u8 UpRate; @@ -315,7 +315,7 @@ u8 GetUpgradeTxRate(struct net_device *dev, u8 rate) * Return the degrade rate if it is successed, otherwise return the input rate. */ -u8 GetDegradeTxRate(struct net_device *dev, u8 rate) +static u8 GetDegradeTxRate(struct net_device *dev, u8 rate) { struct r8180_priv *priv = ieee80211_priv(dev); u8 DownRate; @@ -375,7 +375,7 @@ u8 GetDegradeTxRate(struct net_device *dev, u8 rate) * CCK rate. */ -bool MgntIsCckRate(u16 rate) +static bool MgntIsCckRate(u16 rate) { bool bReturn = false; @@ -397,7 +397,7 @@ void TxPwrTracking87SE(struct net_device *dev) tmpu1Byte = read_nic_byte(dev, EN_LPF_CAL); CurrentThermal = (tmpu1Byte & 0xf0) >> 4; /*[ 7:4]: thermal meter indication. */ - CurrentThermal = (CurrentThermal > 0x0c) ? 0x0c:CurrentThermal;/* lzm add 080826 */ + CurrentThermal = (CurrentThermal > 0x0c) ? 0x0c : CurrentThermal;/* lzm add 080826 */ if (CurrentThermal != priv->ThermalMeter) { /* Update Tx Power level on each channel. */ @@ -435,7 +435,7 @@ void TxPwrTracking87SE(struct net_device *dev) } priv->ThermalMeter = CurrentThermal; } -void StaRateAdaptive87SE(struct net_device *dev) +static void StaRateAdaptive87SE(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); unsigned long CurrTxokCnt; @@ -513,7 +513,7 @@ void StaRateAdaptive87SE(struct net_device *dev) */ /* - * 11Mbps or 36Mbps + * 11Mbps or 36Mbps * Check more times in these rate(key rates). */ if (priv->CurrentOperaRate == 22 || priv->CurrentOperaRate == 72) @@ -542,7 +542,7 @@ void StaRateAdaptive87SE(struct net_device *dev) } } else if (CurrSignalStrength > -47 && (CurrRetryRate < 50)) { /* - * 2For High Power + * 2For High Power * * Return to highest data rate, if signal strength is good enough. * SignalStrength threshold(-50dbm) is for RTL8186. @@ -577,8 +577,7 @@ void StaRateAdaptive87SE(struct net_device *dev) if (bTryDown && (CurrSignalStrength < -75)) /* cable link */ priv->TryDownCountLowData += TryDownTh; - } - else if (priv->CurrentOperaRate == 96) { + } else if (priv->CurrentOperaRate == 96) { /* 2For 48Mbps */ /* Air Link */ if (((CurrRetryRate > 48) && (priv->LastRetryRate > 47))) { @@ -593,7 +592,7 @@ void StaRateAdaptive87SE(struct net_device *dev) bTryUp = true; } - if (bTryDown && (CurrSignalStrength < -75)){ + if (bTryDown && (CurrSignalStrength < -75)) { priv->TryDownCountLowData += TryDownTh; } } else if (priv->CurrentOperaRate == 72) { @@ -618,7 +617,7 @@ void StaRateAdaptive87SE(struct net_device *dev) bTryDown = true; } else if (((CurrRetryRate > 33) && (priv->LastRetryRate > 32)) && (CurrSignalStrength > -82)) { /* Cable Link */ bTryDown = true; - } else if ((CurrRetryRate > (priv->LastRetryRate + 50)) && (priv->FailTxRateCount > 2 )) { + } else if ((CurrRetryRate > (priv->LastRetryRate + 50)) && (priv->FailTxRateCount > 2)) { bTryDown = true; priv->TryDownCountLowData += TryDownTh; } else if ((CurrRetryRate < 20) && (priv->LastRetryRate < 21)) { /* TO DO: need to consider (RSSI) */ @@ -641,8 +640,7 @@ void StaRateAdaptive87SE(struct net_device *dev) /* 2For 11Mbps */ if (CurrRetryRate > 95) { bTryDown = true; - } - else if ((CurrRetryRate < 29) && (priv->LastRetryRate < 30)) { /*TO DO: need to consider (RSSI) */ + } else if ((CurrRetryRate < 29) && (priv->LastRetryRate < 30)) { /*TO DO: need to consider (RSSI) */ bTryUp = true; } } else if (priv->CurrentOperaRate == 11) { @@ -667,12 +665,12 @@ void StaRateAdaptive87SE(struct net_device *dev) } if (bTryUp && bTryDown) - printk("StaRateAdaptive87B(): Tx Rate tried upping and downing simultaneously!\n"); + printk("StaRateAdaptive87B(): Tx Rate tried upping and downing simultaneously!\n"); /* 1 Test Upgrading Tx Rate * Sometimes the cause of the low throughput (high retry rate) is the compatibility between the AP and NIC. * To test if the upper rate may cause lower retry rate, this mechanism randomly occurs to test upgrading tx rate. - */ + */ if (!bTryUp && !bTryDown && (priv->TryupingCount == 0) && (priv->TryDownCountLowData == 0) && priv->CurrentOperaRate != priv->ieee80211->current_network.HighestOperaRate && priv->FailTxRateCount < 2) { if (jiffies % (CurrRetryRate + 101) == 0) { @@ -702,7 +700,7 @@ void StaRateAdaptive87SE(struct net_device *dev) if (priv->CurrentOperaRate == 22) bUpdateInitialGain = true; - /* + /* * The difference in throughput between 48Mbps and 36Mbps is 8M. * So, we must be careful in this rate scale. Isaiah 2008-02-15. */ @@ -718,7 +716,7 @@ void StaRateAdaptive87SE(struct net_device *dev) if (priv->CurrentOperaRate == 36) { priv->bUpdateARFR = true; write_nic_word(dev, ARFR, 0x0F8F); /* bypass 12/9/6 */ - } else if(priv->bUpdateARFR) { + } else if (priv->bUpdateARFR) { priv->bUpdateARFR = false; write_nic_word(dev, ARFR, 0x0FFF); /* set 1M ~ 54Mbps. */ } @@ -732,7 +730,7 @@ void StaRateAdaptive87SE(struct net_device *dev) } } else { if (priv->TryupingCount > 0) - priv->TryupingCount --; + priv->TryupingCount--; } if (bTryDown) { @@ -757,7 +755,7 @@ void StaRateAdaptive87SE(struct net_device *dev) priv->CurrentOperaRate = GetDegradeTxRate(dev, priv->CurrentOperaRate); /* Reduce chariot training time at weak signal strength situation. SD3 ED demand. */ - if ((CurrSignalStrength < -80) && (priv->CurrentOperaRate > 72 )) { + if ((CurrSignalStrength < -80) && (priv->CurrentOperaRate > 72)) { priv->CurrentOperaRate = 72; } @@ -781,8 +779,8 @@ void StaRateAdaptive87SE(struct net_device *dev) priv->TryDownCountLowData--; } - /* - * Keep the Tx fail rate count to equal to 0x15 at most. + /* + * Keep the Tx fail rate count to equal to 0x15 at most. * Reduce the fail count at least to 10 sec if tx rate is tending stable. */ if (priv->FailTxRateCount >= 0x15 || @@ -803,14 +801,14 @@ void StaRateAdaptive87SE(struct net_device *dev) if (u1bCck == CckTxPwrIdx) { if (u1bOfdm != (OfdmTxPwrIdx + 2)) { priv->bEnhanceTxPwr = true; - u1bOfdm = ((u1bOfdm + 2) > 35) ? 35: (u1bOfdm + 2); + u1bOfdm = ((u1bOfdm + 2) > 35) ? 35 : (u1bOfdm + 2); write_nic_byte(dev, OFDM_TXAGC, u1bOfdm); } } else if (u1bCck < CckTxPwrIdx) { /* case 2: enter high power */ if (!priv->bEnhanceTxPwr) { priv->bEnhanceTxPwr = true; - u1bOfdm = ((u1bOfdm + 2) > 35) ? 35: (u1bOfdm + 2); + u1bOfdm = ((u1bOfdm + 2) > 35) ? 35 : (u1bOfdm + 2); write_nic_byte(dev, OFDM_TXAGC, u1bOfdm); } } @@ -826,7 +824,7 @@ void StaRateAdaptive87SE(struct net_device *dev) /* case 2: enter high power */ else if (u1bCck < CckTxPwrIdx) { priv->bEnhanceTxPwr = false; - u1bOfdm = ((u1bOfdm - 2) > 0) ? (u1bOfdm - 2): 0; + u1bOfdm = ((u1bOfdm - 2) > 0) ? (u1bOfdm - 2) : 0; write_nic_byte(dev, OFDM_TXAGC, u1bOfdm); } } @@ -851,7 +849,7 @@ SetInitialGain: else priv->InitialGain--; - printk("StaRateAdaptive87SE(): update init_gain to index %d for date rate %d\n",priv->InitialGain, priv->CurrentOperaRate); + printk("StaRateAdaptive87SE(): update init_gain to index %d for date rate %d\n", priv->InitialGain, priv->CurrentOperaRate); UpdateInitialGain(dev); } } else { /* OFDM */ @@ -859,7 +857,7 @@ SetInitialGain: priv->InitialGainBackUp = priv->InitialGain; priv->InitialGain++; - printk("StaRateAdaptive87SE(): update init_gain to index %d for date rate %d\n",priv->InitialGain, priv->CurrentOperaRate); + printk("StaRateAdaptive87SE(): update init_gain to index %d for date rate %d\n", priv->InitialGain, priv->CurrentOperaRate); UpdateInitialGain(dev); } } @@ -904,7 +902,7 @@ void SwAntennaDiversityRxOk8185(struct net_device *dev, u8 SignalStrength) } else { /* Initialization case. */ priv->AdRxSignalStrength = SignalStrength; } - + if (priv->LastRxPktAntenna) /* Main antenna. */ priv->AdMainAntennaRxOkCnt++; else /* Aux antenna. */ @@ -943,7 +941,7 @@ bool SetAntenna8185(struct net_device *dev, u8 u1bAntennaIndex) break; } - if(bAntennaSwitched) + if (bAntennaSwitched) priv->CurrAntennaIndex = u1bAntennaIndex; return bAntennaSwitched; @@ -1000,8 +998,8 @@ void SwAntennaDiversity(struct net_device *dev) priv->AdRxSsThreshold = (priv->AdRxSignalStrength + priv->AdRxSsBeforeSwitched) / 2; priv->AdRxSsThreshold = (priv->AdRxSsThreshold > priv->AdMaxRxSsThreshold) ? - priv->AdMaxRxSsThreshold: priv->AdRxSsThreshold; - if(priv->AdRxSignalStrength < priv->AdRxSsBeforeSwitched) { + priv->AdMaxRxSsThreshold : priv->AdRxSsThreshold; + if (priv->AdRxSignalStrength < priv->AdRxSsBeforeSwitched) { /* Rx signal strength is not improved after we swtiched antenna. => Swich back. */ /* Increase Antenna Diversity checking period due to bad decision. */ priv->AdCheckPeriod *= 2; @@ -1083,7 +1081,7 @@ void SwAntennaDiversity(struct net_device *dev) priv->AdRxSsThreshold = (priv->AdRxSsThreshold + priv->AdRxSignalStrength) / 2; priv->AdRxSsThreshold = (priv->AdRxSsThreshold > priv->AdMaxRxSsThreshold) ? - priv->AdMaxRxSsThreshold: priv->AdRxSsThreshold;/* +by amy 080312 */ + priv->AdMaxRxSsThreshold : priv->AdRxSsThreshold;/* +by amy 080312 */ } /* Reduce Antenna Diversity checking period if possible. */ diff --git a/drivers/staging/rtl8187se/r8180_rtl8225z2.c b/drivers/staging/rtl8187se/r8180_rtl8225z2.c index 9ae96b7..7c9a8bf 100644 --- a/drivers/staging/rtl8187se/r8180_rtl8225z2.c +++ b/drivers/staging/rtl8187se/r8180_rtl8225z2.c @@ -136,7 +136,7 @@ static const u16 rtl8225z2_rxgain[] = { }; -void rtl8225z2_set_gain(struct net_device *dev, short gain) +static void rtl8225z2_set_gain(struct net_device *dev, short gain) { const u8 *rtl8225_gain; struct r8180_priv *priv = ieee80211_priv(dev); @@ -279,8 +279,8 @@ void rtl8225z2_rf_close(struct net_device *dev) * Map dBm into Tx power index according to current HW model, for example, * RF and PA, and current wireless mode. */ -s8 DbmToTxPwrIdx(struct r8180_priv *priv, WIRELESS_MODE WirelessMode, - s32 PowerInDbm) +static s8 DbmToTxPwrIdx(struct r8180_priv *priv, WIRELESS_MODE WirelessMode, + s32 PowerInDbm) { bool bUseDefault = true; s8 TxPwrIdx = 0; diff --git a/drivers/staging/rtl8187se/r8180_wx.c b/drivers/staging/rtl8187se/r8180_wx.c index dab7875..4e01653 100644 --- a/drivers/staging/rtl8187se/r8180_wx.c +++ b/drivers/staging/rtl8187se/r8180_wx.c @@ -50,8 +50,9 @@ static int r8180_wx_get_freq(struct net_device *dev, } -int r8180_wx_set_key(struct net_device *dev, struct iw_request_info *info, - union iwreq_data *wrqu, char *key) +static int r8180_wx_set_key(struct net_device *dev, + struct iw_request_info *info, + union iwreq_data *wrqu, char *key) { struct r8180_priv *priv = ieee80211_priv(dev); struct iw_point *erq = &(wrqu->encoding); @@ -1146,12 +1147,12 @@ static int r8180_wx_set_gen_ie(struct net_device *dev, if (priv->ieee80211->bHwRadioOff) return 0; - down(&priv->wx_sem); + down(&priv->wx_sem); #if 1 - ret = ieee80211_wx_set_gen_ie(priv->ieee80211, extra, wrqu->data.length); + ret = ieee80211_wx_set_gen_ie(priv->ieee80211, extra, wrqu->data.length); #endif - up(&priv->wx_sem); - return ret; + up(&priv->wx_sem); + return ret; } diff --git a/drivers/staging/rtl8187se/r8185b_init.c b/drivers/staging/rtl8187se/r8185b_init.c index 978dc5f..dc52a3e 100644 --- a/drivers/staging/rtl8187se/r8185b_init.c +++ b/drivers/staging/rtl8187se/r8185b_init.c @@ -30,10 +30,13 @@ #define TC_3W_POLL_MAX_TRY_CNT 5 static u8 MAC_REG_TABLE[][2] = { - /*PAGA 0: */ - /* 0x34(BRSR), 0xBE(RATE_FALLBACK_CTL), 0x1E0(ARFR) would set in HwConfigureRTL8185() */ - /* 0x272(RFSW_CTRL), 0x1CE(AESMSK_QC) set in InitializeAdapter8185(). */ - /* 0x1F0~0x1F8 set in MacConfig_85BASIC() */ + /* + * PAGE 0: + * 0x34(BRSR), 0xBE(RATE_FALLBACK_CTL), 0x1E0(ARFR) would set in + * HwConfigureRTL8185() + * 0x272(RFSW_CTRL), 0x1CE(AESMSK_QC) set in InitializeAdapter8185(). + * 0x1F0~0x1F8 set in MacConfig_85BASIC() + */ {0x08, 0xae}, {0x0a, 0x72}, {0x5b, 0x42}, {0x84, 0x88}, {0x85, 0x24}, {0x88, 0x54}, {0x8b, 0xb8}, {0x8c, 0x03}, {0x8d, 0x40}, {0x8e, 0x00}, {0x8f, 0x00}, {0x5b, 0x18}, {0x91, 0x03}, @@ -44,15 +47,20 @@ static u8 MAC_REG_TABLE[][2] = { {0xfa, 0x00}, {0xfb, 0x00}, {0xfc, 0x96}, {0xfd, 0xa4}, {0xfe, 0x00}, {0xff, 0x00}, - /*PAGE 1: */ - /* For Flextronics system Logo PCIHCT failure: */ - /* 0x1C4~0x1CD set no-zero value to avoid PCI configuration space 0x45[7]=1 */ + /* + * PAGE 1: + * For Flextronics system Logo PCIHCT failure: + * 0x1C4~0x1CD set no-zero value to avoid PCI configuration + * space 0x45[7]=1 + */ {0x5e, 0x01}, {0x58, 0x00}, {0x59, 0x00}, {0x5a, 0x04}, {0x5b, 0x00}, {0x60, 0x24}, {0x61, 0x97}, {0x62, 0xF0}, {0x63, 0x09}, {0x80, 0x0F}, {0x81, 0xFF}, {0x82, 0xFF}, {0x83, 0x03}, - {0xC4, 0x22}, {0xC5, 0x22}, {0xC6, 0x22}, {0xC7, 0x22}, {0xC8, 0x22}, /* lzm add 080826 */ - {0xC9, 0x22}, {0xCA, 0x22}, {0xCB, 0x22}, {0xCC, 0x22}, {0xCD, 0x22}, /* lzm add 080826 */ + /* lzm add 080826 */ + {0xC4, 0x22}, {0xC5, 0x22}, {0xC6, 0x22}, {0xC7, 0x22}, {0xC8, 0x22}, + /* lzm add 080826 */ + {0xC9, 0x22}, {0xCA, 0x22}, {0xCB, 0x22}, {0xCC, 0x22}, {0xCD, 0x22}, {0xe2, 0x00}, @@ -66,21 +74,24 @@ static u8 MAC_REG_TABLE[][2] = { {0x8f, 0x3f}, {0xc4, 0xff}, {0xc5, 0xff}, {0xc6, 0xff}, {0xc7, 0xff}, {0xc8, 0x00}, {0xc9, 0x00}, {0xca, 0x80}, {0xcb, 0x00}, - /* PAGA 0: */ + /* PAGE 0: */ {0x5e, 0x00}, {0x9f, 0x03} }; static u8 ZEBRA_AGC[] = { 0, - 0x7E, 0x7E, 0x7E, 0x7E, 0x7D, 0x7C, 0x7B, 0x7A, 0x79, 0x78, 0x77, 0x76, 0x75, 0x74, 0x73, 0x72, - 0x71, 0x70, 0x6F, 0x6E, 0x6D, 0x6C, 0x6B, 0x6A, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, - 0x48, 0x47, 0x46, 0x45, 0x44, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x08, 0x07, - 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x15, 0x16, - 0x17, 0x17, 0x18, 0x18, 0x19, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, - 0x1f, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x23, 0x23, 0x24, - 0x24, 0x25, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F + 0x7E, 0x7E, 0x7E, 0x7E, 0x7D, 0x7C, 0x7B, 0x7A, 0x79, 0x78, 0x77, 0x76, + 0x75, 0x74, 0x73, 0x72, 0x71, 0x70, 0x6F, 0x6E, 0x6D, 0x6C, 0x6B, 0x6A, + 0x69, 0x68, 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x48, 0x47, 0x46, 0x45, + 0x44, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x08, 0x07, + 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x15, 0x16, 0x17, 0x17, 0x18, 0x18, + 0x19, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, + 0x1f, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x22, 0x22, + 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, + 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F, 0x2F }; static u32 ZEBRA_RF_RX_GAIN_TABLE[] = { @@ -123,19 +134,27 @@ static u8 PlatformIORead1Byte(struct net_device *dev, u32 offset) static void PlatformIOWrite1Byte(struct net_device *dev, u32 offset, u8 data) { write_nic_byte(dev, offset, data); - read_nic_byte(dev, offset); /* To make sure write operation is completed, 2005.11.09, by rcnjko. */ + /* + * To make sure write operation is completed, + * 2005.11.09, by rcnjko. + */ + read_nic_byte(dev, offset); } static void PlatformIOWrite2Byte(struct net_device *dev, u32 offset, u16 data) { write_nic_word(dev, offset, data); - read_nic_word(dev, offset); /* To make sure write operation is completed, 2005.11.09, by rcnjko. */ + /* + * To make sure write operation is completed, + * 2005.11.09, by rcnjko. + */ + read_nic_word(dev, offset); } static void PlatformIOWrite4Byte(struct net_device *dev, u32 offset, u32 data) { if (offset == PhyAddr) { - /* For Base Band configuration. */ + /* For Base Band configuration. */ unsigned char cmdByte; unsigned long dataBytes; unsigned char idx; @@ -146,16 +165,17 @@ static void PlatformIOWrite4Byte(struct net_device *dev, u32 offset, u32 data) /* * 071010, rcnjko: - * The critical section is only BB read/write race condition. - * Assumption: - * 1. We assume NO one will access BB at DIRQL, otherwise, system will crash for + * The critical section is only BB read/write race + * condition. Assumption: + * 1. We assume NO one will access BB at DIRQL, otherwise, + * system will crash for * acquiring the spinlock in such context. * 2. PlatformIOWrite4Byte() MUST NOT be recursive. */ /* NdisAcquireSpinLock( &(pDevice->IoSpinLock) ); */ for (idx = 0; idx < 30; idx++) { - /* Make sure command bit is clear before access it. */ + /* Make sure command bit is clear before access it. */ u1bTmp = PlatformIORead1Byte(dev, PhyAddr); if ((u1bTmp & BIT7) == 0) break; @@ -164,14 +184,19 @@ static void PlatformIOWrite4Byte(struct net_device *dev, u32 offset, u32 data) } for (idx = 0; idx < 3; idx++) - PlatformIOWrite1Byte(dev, offset+1+idx, ((u8 *)&dataBytes)[idx]); + PlatformIOWrite1Byte(dev, offset+1+idx, + ((u8 *)&dataBytes)[idx]); write_nic_byte(dev, offset, cmdByte); /* NdisReleaseSpinLock( &(pDevice->IoSpinLock) ); */ } else { write_nic_dword(dev, offset, data); - read_nic_dword(dev, offset); /* To make sure write operation is completed, 2005.11.09, by rcnjko. */ + /* + * To make sure write operation is completed, 2005.11.09, + * by rcnjko. + */ + read_nic_dword(dev, offset); } } @@ -284,9 +309,13 @@ bool SetAntennaConfig87SE(struct net_device *dev, { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); bool bAntennaSwitched = true; - u8 ant_diversity_offset = 0x00; /* 0x00 = disabled, 0x80 = enabled */ + /* 0x00 = disabled, 0x80 = enabled */ + u8 ant_diversity_offset = 0x00; - /* printk("SetAntennaConfig87SE(): DefaultAnt(%d), bAntDiversity(%d)\n", DefaultAnt, bAntDiversity); */ + /* + * printk("SetAntennaConfig87SE(): DefaultAnt(%d), bAntDiversity(%d)\n", + * DefaultAnt, bAntDiversity); + */ /* Threshold for antenna diversity. */ write_phy_cck(dev, 0x0c, 0x09); /* Reg0c : 09 */ @@ -300,22 +329,27 @@ bool SetAntennaConfig87SE(struct net_device *dev, /* Config CCK RX antenna. */ write_phy_cck(dev, 0x11, 0xbb); /* Reg11 : bb */ - write_phy_cck(dev, 0x01, 0x47|ant_diversity_offset); /* Reg01 : 47 | ant_diversity_offset */ + + /* Reg01 : 47 | ant_diversity_offset */ + write_phy_cck(dev, 0x01, 0x47|ant_diversity_offset); /* Config OFDM RX antenna. */ write_phy_ofdm(dev, 0x0D, 0x54); /* Reg0d : 54 */ - write_phy_ofdm(dev, 0x18, 0x32|ant_diversity_offset); /* Reg18 : 32 */ + /* Reg18 : 32 */ + write_phy_ofdm(dev, 0x18, 0x32|ant_diversity_offset); } else { /* main Antenna */ /* Mac register, main antenna */ write_nic_byte(dev, ANTSEL, 0x03); /* Config CCK RX antenna. */ write_phy_cck(dev, 0x11, 0x9b); /* Reg11 : 9b */ - write_phy_cck(dev, 0x01, 0x47|ant_diversity_offset); /* Reg01 : 47 */ + /* Reg01 : 47 */ + write_phy_cck(dev, 0x01, 0x47|ant_diversity_offset); /* Config OFDM RX antenna. */ write_phy_ofdm(dev, 0x0D, 0x5c); /* Reg0d : 5c */ - write_phy_ofdm(dev, 0x18, 0x32|ant_diversity_offset); /*Reg18 : 32 */ + /*Reg18 : 32 */ + write_phy_ofdm(dev, 0x18, 0x32|ant_diversity_offset); } priv->CurrAntennaIndex = DefaultAnt; /* Update default settings. */ return bAntennaSwitched; @@ -382,18 +416,23 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) RF_WriteReg(dev, 0x05, 0x059b); mdelay(1); RF_WriteReg(dev, 0x06, 0x0081); mdelay(1); RF_WriteReg(dev, 0x07, 0x01A0); mdelay(1); -/* Don't write RF23/RF24 to make a difference between 87S C cut and D cut. asked by SD3 stevenl. */ +/* + * Don't write RF23/RF24 to make a difference between 87S C cut and D cut. + * asked by SD3 stevenl. + */ RF_WriteReg(dev, 0x0a, 0x0001); mdelay(1); RF_WriteReg(dev, 0x0b, 0x0418); mdelay(1); if (d_cut) { RF_WriteReg(dev, 0x0c, 0x0fbe); mdelay(1); RF_WriteReg(dev, 0x0d, 0x0008); mdelay(1); - RF_WriteReg(dev, 0x0e, 0x0807); mdelay(1); /* RX LO buffer */ + /* RX LO buffer */ + RF_WriteReg(dev, 0x0e, 0x0807); mdelay(1); } else { RF_WriteReg(dev, 0x0c, 0x0fbe); mdelay(1); RF_WriteReg(dev, 0x0d, 0x0008); mdelay(1); - RF_WriteReg(dev, 0x0e, 0x0806); mdelay(1); /* RX LO buffer */ + /* RX LO buffer */ + RF_WriteReg(dev, 0x0e, 0x0806); mdelay(1); } RF_WriteReg(dev, 0x0f, 0x0acc); mdelay(1); @@ -408,19 +447,24 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) RF_WriteReg(dev, 0x05, 0x0203); mdelay(1); /* 203, 343 */ RF_WriteReg(dev, 0x06, 0x0200); mdelay(1); /* 400 */ - RF_WriteReg(dev, 0x00, 0x0137); mdelay(1); /* switch to reg16-reg30, and HSSI disable 137 */ + /* switch to reg16-reg30, and HSSI disable 137 */ + RF_WriteReg(dev, 0x00, 0x0137); mdelay(1); mdelay(10); /* Deay 10 ms. */ /* 0xfd */ - RF_WriteReg(dev, 0x0d, 0x0008); mdelay(1); /* Z4 synthesizer loop filter setting, 392 */ + /* Z4 synthesizer loop filter setting, 392 */ + RF_WriteReg(dev, 0x0d, 0x0008); mdelay(1); mdelay(10); /* Deay 10 ms. */ /* 0xfd */ - RF_WriteReg(dev, 0x00, 0x0037); mdelay(1); /* switch to reg0-reg15, and HSSI disable */ + /* switch to reg0-reg15, and HSSI disable */ + RF_WriteReg(dev, 0x00, 0x0037); mdelay(1); mdelay(10); /* Deay 10 ms. */ /* 0xfd */ - RF_WriteReg(dev, 0x04, 0x0160); mdelay(1); /* CBC on, Tx Rx disable, High gain */ + /* CBC on, Tx Rx disable, High gain */ + RF_WriteReg(dev, 0x04, 0x0160); mdelay(1); mdelay(10); /* Deay 10 ms. */ /* 0xfd */ - RF_WriteReg(dev, 0x07, 0x0080); mdelay(1); /* Z4 setted channel 1 */ + /* Z4 setted channel 1 */ + RF_WriteReg(dev, 0x07, 0x0080); mdelay(1); mdelay(10); /* Deay 10 ms. */ /* 0xfd */ RF_WriteReg(dev, 0x02, 0x088D); mdelay(1); /* LC calibration */ @@ -428,7 +472,8 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) mdelay(10); /* Deay 10 ms. */ /* 0xfd */ mdelay(10); /* Deay 10 ms. */ /* 0xfd */ - RF_WriteReg(dev, 0x00, 0x0137); mdelay(1); /* switch to reg16-reg30 137, and HSSI disable 137 */ + /* switch to reg16-reg30 137, and HSSI disable 137 */ + RF_WriteReg(dev, 0x00, 0x0137); mdelay(1); mdelay(10); /* Deay 10 ms. */ /* 0xfd */ RF_WriteReg(dev, 0x07, 0x0000); mdelay(1); @@ -442,46 +487,58 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) /* For crystal calibration, added by Roger, 2007.12.11. */ if (priv->bXtalCalibration) { /* reg 30. */ /* - * enable crystal calibration. - * RF Reg[30], (1)Xin:[12:9], Xout:[8:5], addr[4:0]. - * (2)PA Pwr delay timer[15:14], default: 2.4us, set BIT15=0 - * (3)RF signal on/off when calibration[13], default: on, set BIT13=0. - * So we should minus 4 BITs offset. + * enable crystal calibration. + * RF Reg[30], (1)Xin:[12:9], Xout:[8:5], addr[4:0]. + * (2)PA Pwr delay timer[15:14], default: 2.4us, + * set BIT15=0 + * (3)RF signal on/off when calibration[13], default: on, + * set BIT13=0. + * So we should minus 4 BITs offset. */ - RF_WriteReg(dev, 0x0f, (priv->XtalCal_Xin<<5) | (priv->XtalCal_Xout<<1) | BIT11 | BIT9); mdelay(1); + RF_WriteReg(dev, 0x0f, (priv->XtalCal_Xin<<5) | + (priv->XtalCal_Xout<<1) | BIT11 | BIT9); mdelay(1); printk("ZEBRA_Config_85BASIC_HardCode(): (%02x)\n", - (priv->XtalCal_Xin<<5) | (priv->XtalCal_Xout<<1) | BIT11 | BIT9); + (priv->XtalCal_Xin<<5) | (priv->XtalCal_Xout<<1) | + BIT11 | BIT9); } else { /* using default value. Xin=6, Xout=6. */ RF_WriteReg(dev, 0x0f, 0x0acc); mdelay(1); } - - RF_WriteReg(dev, 0x00, 0x00bf); mdelay(1); /* switch to reg0-reg15, and HSSI enable */ - RF_WriteReg(dev, 0x0d, 0x08df); mdelay(1); /* Rx BB start calibration, 00c//+edward */ - RF_WriteReg(dev, 0x02, 0x004d); mdelay(1); /* temperature meter off */ + /* switch to reg0-reg15, and HSSI enable */ + RF_WriteReg(dev, 0x00, 0x00bf); mdelay(1); + /* Rx BB start calibration, 00c//+edward */ + RF_WriteReg(dev, 0x0d, 0x08df); mdelay(1); + /* temperature meter off */ + RF_WriteReg(dev, 0x02, 0x004d); mdelay(1); RF_WriteReg(dev, 0x04, 0x0975); mdelay(1); /* Rx mode */ mdelay(10); /* Deay 10 ms.*/ /* 0xfe */ mdelay(10); /* Deay 10 ms.*/ /* 0xfe */ mdelay(10); /* Deay 10 ms.*/ /* 0xfe */ - RF_WriteReg(dev, 0x00, 0x0197); mdelay(1); /* Rx mode*/ /*+edward */ - RF_WriteReg(dev, 0x05, 0x05ab); mdelay(1); /* Rx mode*/ /*+edward */ - RF_WriteReg(dev, 0x00, 0x009f); mdelay(1); /* Rx mode*/ /*+edward */ - RF_WriteReg(dev, 0x01, 0x0000); mdelay(1); /* Rx mode*/ /*+edward */ - RF_WriteReg(dev, 0x02, 0x0000); mdelay(1); /* Rx mode*/ /*+edward */ + /* Rx mode*/ /*+edward */ + RF_WriteReg(dev, 0x00, 0x0197); mdelay(1); + /* Rx mode*/ /*+edward */ + RF_WriteReg(dev, 0x05, 0x05ab); mdelay(1); + /* Rx mode*/ /*+edward */ + RF_WriteReg(dev, 0x00, 0x009f); mdelay(1); + /* Rx mode*/ /*+edward */ + RF_WriteReg(dev, 0x01, 0x0000); mdelay(1); + /* Rx mode*/ /*+edward */ + RF_WriteReg(dev, 0x02, 0x0000); mdelay(1); /* power save parameters. */ u1b24E = read_nic_byte(dev, 0x24E); write_nic_byte(dev, 0x24E, (u1b24E & (~(BIT5|BIT6)))); - /*============================================================================= + /*====================================================================== * - *=========================================================================== + *====================================================================== * CCKCONF.TXT - *=========================================================================== + *====================================================================== * * [POWER SAVE] Power Saving Parameters by jong. 2007-11-27 * CCK reg0x00[7]=1'b1 :power saving for TX (default) * CCK reg0x00[6]=1'b1: power saving for RX (default) - * CCK reg0x06[4]=1'b1: turn off channel estimation related circuits if not doing channel estimation. + * CCK reg0x06[4]=1'b1: turn off channel estimation related + * circuits if not doing channel estimation. * CCK reg0x06[3]=1'b1: turn off unused circuits before cca = 1 * CCK reg0x06[2]=1'b1: turn off cck's circuit if macrst =0 */ @@ -501,9 +558,9 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) /* - *=========================================================================== + *====================================================================== * AGC.txt - *=========================================================================== + *====================================================================== */ write_phy_ofdm(dev, 0x00, 0x12); @@ -526,11 +583,11 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) PlatformIOWrite4Byte(dev, PhyAddr, 0x00001080); /* Annie, 2006-05-05 */ /* - *=========================================================================== + *====================================================================== * - *=========================================================================== + *====================================================================== * OFDMCONF.TXT - *=========================================================================== + *====================================================================== */ for (i = 0; i < 60; i++) { @@ -544,12 +601,16 @@ static void ZEBRA_Config_85BASIC_HardCode(struct net_device *dev) } /* - *=========================================================================== + *====================================================================== * by amy for antenna - *=========================================================================== + *====================================================================== */ - /* Config Sw/Hw Combinational Antenna Diversity. Added by Roger, 2008.02.26. */ - SetAntennaConfig87SE(dev, priv->bDefaultAntenna1, priv->bSwAntennaDiverity); + /* + * Config Sw/Hw Combinational Antenna Diversity. Added by Roger, + * 2008.02.26. + */ + SetAntennaConfig87SE(dev, priv->bDefaultAntenna1, + priv->bSwAntennaDiverity); } @@ -560,7 +621,8 @@ void UpdateInitialGain(struct net_device *dev) /* lzm add 080826 */ if (priv->eRFPowerState != eRfOn) { /* Don't access BB/RF under disable PLL situation. - * RT_TRACE(COMP_DIG, DBG_LOUD, ("UpdateInitialGain - pHalData->eRFPowerState!=eRfOn\n")); + * RT_TRACE(COMP_DIG, DBG_LOUD, ("UpdateInitialGain - + * pHalData->eRFPowerState!=eRfOn\n")); * Back to the original state */ priv->InitialGain = priv->InitialGainBackUp; @@ -635,7 +697,7 @@ static void InitTxPwrTracking87SE(struct net_device *dev) u4bRfReg = RF_ReadReg(dev, 0x02); /* Enable Thermal meter indication. */ - RF_WriteReg(dev, 0x02, u4bRfReg|PWR_METER_EN); mdelay(1); + RF_WriteReg(dev, 0x02, u4bRfReg|PWR_METER_EN); mdelay(1); } static void PhyConfig8185(struct net_device *dev) @@ -645,16 +707,18 @@ static void PhyConfig8185(struct net_device *dev) priv->RFProgType = read_nic_byte(dev, CONFIG4) & 0x03; /* RF config */ ZEBRA_Config_85BASIC_HardCode(dev); - /* Set default initial gain state to 4, approved by SD3 DZ, by Bruce, 2007-06-06. */ + /* Set default initial gain state to 4, approved by SD3 DZ, by Bruce, + * 2007-06-06. + */ if (priv->bDigMechanism) { if (priv->InitialGain == 0) priv->InitialGain = 4; } /* - * Enable thermal meter indication to implement TxPower tracking on 87SE. - * We initialize thermal meter here to avoid unsuccessful configuration. - * Added by Roger, 2007.12.11. + * Enable thermal meter indication to implement TxPower tracking + * on 87SE. We initialize thermal meter here to avoid unsuccessful + * configuration. Added by Roger, 2007.12.11. */ if (priv->bTxPowerTrack) InitTxPwrTracking87SE(dev); @@ -667,7 +731,10 @@ static void PhyConfig8185(struct net_device *dev) static void HwConfigureRTL8185(struct net_device *dev) { - /* RTL8185_TODO: Determine Retrylimit, TxAGC, AutoRateFallback control. */ + /* + * RTL8185_TODO: Determine Retrylimit, TxAGC, + * AutoRateFallback control. + */ u8 bUNIVERSAL_CONTROL_RL = 0; u8 bUNIVERSAL_CONTROL_AGC = 1; u8 bUNIVERSAL_CONTROL_ANT = 1; @@ -691,7 +758,7 @@ static void HwConfigureRTL8185(struct net_device *dev) write_nic_byte(dev, OFDM_TXAGC, 128); val8 = val8 & 0xfe; } else { - val8 = val8 | 0x01 ; + val8 = val8 | 0x01; } @@ -715,7 +782,9 @@ static void HwConfigureRTL8185(struct net_device *dev) if (bAUTO_RATE_FALLBACK_CTL) { val8 |= RATE_FALLBACK_CTL_ENABLE | RATE_FALLBACK_CTL_AUTO_STEP1; - /* <RJ_TODO_8185B> We shall set up the ARFR according to user's setting. */ + /* <RJ_TODO_8185B> We shall set up the ARFR according + * to user's setting. + */ PlatformIOWrite2Byte(dev, ARFR, 0x0fff); /* set 1M ~ 54Mbps. */ } write_nic_byte(dev, RATE_FALLBACK, val8); @@ -724,9 +793,9 @@ static void HwConfigureRTL8185(struct net_device *dev) static void MacConfig_85BASIC_HardCode(struct net_device *dev) { /* - *========================================================================== + *====================================================================== * MACREG.TXT - *========================================================================== + *====================================================================== */ int nLinesRead = 0; u32 u4bRegOffset, u4bRegValue, u4bPageIndex = 0; @@ -745,7 +814,7 @@ static void MacConfig_85BASIC_HardCode(struct net_device *dev) write_nic_byte(dev, u4bRegOffset, (u8)u4bRegValue); } - /* ============================================================================ */ + /* ================================================================= */ } static void MacConfig_85BASIC(struct net_device *dev) @@ -754,12 +823,14 @@ static void MacConfig_85BASIC(struct net_device *dev) u8 u1DA; MacConfig_85BASIC_HardCode(dev); - /* ============================================================================ */ + /* ================================================================= */ /* Follow TID_AC_MAP of WMac. */ write_nic_word(dev, TID_AC_MAP, 0xfa50); - /* Interrupt Migration, Jong suggested we use set 0x0000 first, 2005.12.14, by rcnjko. */ + /* Interrupt Migration, Jong suggested we use set 0x0000 first, + * 2005.12.14, by rcnjko. + */ write_nic_word(dev, IntMig, 0x0000); /* Prevent TPC to cause CRC error. Added by Annie, 2006-06-10. */ @@ -768,7 +839,11 @@ static void MacConfig_85BASIC(struct net_device *dev) PlatformIOWrite1Byte(dev, 0x1F8, 0x00); /* Asked for by SD3 CM Lin, 2006.06.27, by rcnjko. */ - /* power save parameter based on "87SE power save parameters 20071127.doc", as follow. */ + + /* + * power save parameter based on + * "87SE power save parameters 20071127.doc", as follow. + */ /* Enable DA10 TX power saving */ u1DA = read_nic_byte(dev, PHYPR); @@ -803,31 +878,45 @@ static void ActUpdateChannelAccessSetting(struct net_device *dev, /* * <RJ_TODO_8185B> - * TODO: We still don't know how to set up these registers, just follow WMAC to - * verify 8185B FPAG. + * TODO: We still don't know how to set up these registers, + * just follow WMAC to verify 8185B FPAG. * * <RJ_TODO_8185B> * Jong said CWmin/CWmax register are not functional in 8185B, - * so we shall fill channel access realted register into AC parameter registers, + * so we shall fill channel access realted register into AC + * parameter registers, * even in nQBss. */ - ChnlAccessSetting->SIFS_Timer = 0x22; /* Suggested by Jong, 2005.12.08. */ + + /* Suggested by Jong, 2005.12.08. */ + ChnlAccessSetting->SIFS_Timer = 0x22; ChnlAccessSetting->DIFS_Timer = 0x1C; /* 2006.06.02, by rcnjko. */ ChnlAccessSetting->SlotTimeTimer = 9; /* 2006.06.02, by rcnjko. */ - ChnlAccessSetting->EIFS_Timer = 0x5B; /* Suggested by wcchu, it is the default value of EIFS register, 2005.12.08. */ + /* + * Suggested by wcchu, it is the default value of EIFS register, + * 2005.12.08. + */ + ChnlAccessSetting->EIFS_Timer = 0x5B; ChnlAccessSetting->CWminIndex = 3; /* 2006.06.02, by rcnjko. */ ChnlAccessSetting->CWmaxIndex = 7; /* 2006.06.02, by rcnjko. */ write_nic_byte(dev, SIFS, ChnlAccessSetting->SIFS_Timer); - write_nic_byte(dev, SLOT, ChnlAccessSetting->SlotTimeTimer); /* Rewrited from directly use PlatformEFIOWrite1Byte(), by Annie, 2006-03-29. */ + /* + * Rewrited from directly use PlatformEFIOWrite1Byte(), + * by Annie, 2006-03-29. + */ + write_nic_byte(dev, SLOT, ChnlAccessSetting->SlotTimeTimer); write_nic_byte(dev, EIFS, ChnlAccessSetting->EIFS_Timer); - write_nic_byte(dev, AckTimeOutReg, 0x5B); /* <RJ_EXPR_QOS> Suggested by wcchu, it is the default value of EIFS register, 2005.12.08. */ + /* + * <RJ_EXPR_QOS> Suggested by wcchu, it is the default value of EIFS + * register, 2005.12.08. + */ + write_nic_byte(dev, AckTimeOutReg, 0x5B); - for (eACI = 0; eACI < AC_MAX; eACI++) { + for (eACI = 0; eACI < AC_MAX; eACI++) write_nic_byte(dev, ACM_CONTROL, 0); - } } static void ActSetWirelessMode8185(struct net_device *dev, u8 btWirelessMode) @@ -837,7 +926,10 @@ static void ActSetWirelessMode8185(struct net_device *dev, u8 btWirelessMode) u8 btSupportedWirelessMode = GetSupportedWirelessMode8185(dev); if ((btWirelessMode & btSupportedWirelessMode) == 0) { - /* Don't switch to unsupported wireless mode, 2006.02.15, by rcnjko. */ + /* + * Don't switch to unsupported wireless mode, 2006.02.15, + * by rcnjko. + */ DMESGW("ActSetWirelessMode8185(): WirelessMode(%d) is not supported (%d)!\n", btWirelessMode, btSupportedWirelessMode); return; @@ -859,11 +951,11 @@ static void ActSetWirelessMode8185(struct net_device *dev, u8 btWirelessMode) } } - /* - * 2. Swtich band: RF or BB specific actions, - * for example, refresh tables in omc8255, or change initial gain if necessary. - * Nothing to do for Zebra to switch band. - * Update current wireless mode if we switch to specified band successfully. + /* + * 2. Swtich band: RF or BB specific actions, + * for example, refresh tables in omc8255, or change initial gain if + * necessary. Nothing to do for Zebra to switch band. Update current + * wireless mode if we switch to specified band successfully. */ ieee->mode = (WIRELESS_MODE)btWirelessMode; @@ -876,7 +968,8 @@ static void ActSetWirelessMode8185(struct net_device *dev, u8 btWirelessMode) else if (ieee->mode == WIRELESS_MODE_G) DMESG("WIRELESS_MODE_G\n"); - ActUpdateChannelAccessSetting( dev, ieee->mode, &priv->ChannelAccessSetting); + ActUpdateChannelAccessSetting(dev, ieee->mode, + &priv->ChannelAccessSetting); } void rtl8185b_irq_enable(struct net_device *dev) @@ -892,7 +985,7 @@ static void MgntDisconnectIBSS(struct net_device *dev) struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); u8 i; - for (i = 0; i < 6 ; i++) + for (i = 0; i < 6; i++) priv->ieee80211->current_network.bssid[i] = 0x55; @@ -901,11 +994,12 @@ static void MgntDisconnectIBSS(struct net_device *dev) /* * Stop Beacon. * - * Vista add a Adhoc profile, HW radio off until OID_DOT11_RESET_REQUEST - * Driver would set MSR=NO_LINK, then HW Radio ON, MgntQueue Stuck. - * Because Bcn DMA isn't complete, mgnt queue would stuck until Bcn packet send. + * Vista add a Adhoc profile, HW radio off until + * OID_DOT11_RESET_REQUEST Driver would set MSR=NO_LINK, + * then HW Radio ON, MgntQueue Stuck. Because Bcn DMA isn't + * complete, mgnt queue would stuck until Bcn packet send. * - * Disable Beacon Queue Own bit, suggested by jong + * Disable Beacon Queue Own bit, suggested by jong */ ieee80211_stop_send_beacons(priv->ieee80211); @@ -938,12 +1032,14 @@ static void MgntDisconnectAP(struct net_device *dev, u8 asRsn) * Commented out by rcnjko, 2005.01.27: * I move SecClearAllKeys() to MgntActSet_802_11_DISASSOCIATE(). * - * 2004/09/15, kcwu, the key should be cleared, or the new handshaking will not success + * 2004/09/15, kcwu, the key should be cleared, or the new + * handshaking will not success * - * In WPA WPA2 need to Clear all key ... because new key will set after new handshaking. - * 2004.10.11, by rcnjko. + * In WPA WPA2 need to Clear all key ... because new key will set + * after new handshaking. 2004.10.11, by rcnjko. */ - MlmeDisassociateRequest(dev, priv->ieee80211->current_network.bssid, asRsn); + MlmeDisassociateRequest(dev, priv->ieee80211->current_network.bssid, + asRsn); priv->ieee80211->state = IEEE80211_NOLINK; } @@ -964,11 +1060,13 @@ static bool MgntDisconnect(struct net_device *dev, u8 asRsn) if (priv->ieee80211->iw_mode == IW_MODE_INFRA) { /* - * We clear key here instead of MgntDisconnectAP() because that - * MgntActSet_802_11_DISASSOCIATE() is an interface called by OS, - * e.g. OID_802_11_DISASSOCIATE in Windows while as MgntDisconnectAP() is - * used to handle disassociation related things to AP, e.g. send Disassoc - * frame to AP. 2005.01.27, by rcnjko. + * We clear key here instead of MgntDisconnectAP() + * because that MgntActSet_802_11_DISASSOCIATE() + * is an interface called by OS, e.g. + * OID_802_11_DISASSOCIATE in Windows while as + * MgntDisconnectAP() is used to handle + * disassociation related things to AP, e.g. send + * Disassoc frame to AP. 2005.01.27, by rcnjko. */ MgntDisconnectAP(dev, asRsn); } @@ -979,12 +1077,14 @@ static bool MgntDisconnect(struct net_device *dev, u8 asRsn) /* * Description: * Chang RF Power State. - * Note that, only MgntActSet_RF_State() is allowed to set HW_VAR_RF_STATE. + * Note that, only MgntActSet_RF_State() is allowed to set + * HW_VAR_RF_STATE. * * Assumption: * PASSIVE LEVEL. */ -static bool SetRFPowerState(struct net_device *dev, RT_RF_POWER_STATE eRFPowerState) +static bool SetRFPowerState(struct net_device *dev, + RT_RF_POWER_STATE eRFPowerState) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); bool bResult = false; @@ -997,7 +1097,8 @@ static bool SetRFPowerState(struct net_device *dev, RT_RF_POWER_STATE eRFPowerSt 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; @@ -1006,8 +1107,9 @@ bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet, u u16 RFWaitCounter = 0; unsigned long flag; /* - * Prevent the race condition of RF state change. By Bruce, 2007-11-28. - * Only one thread can change the RF state at one time, and others should wait to be executed. + * Prevent the race condition of RF state change. By Bruce, + * 2007-11-28. Only one thread can change the RF state at one time, + * and others should wait to be executed. */ while (true) { spin_lock_irqsave(&priv->rf_ps_lock, flag); @@ -1018,7 +1120,10 @@ bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet, u RFWaitCounter++; udelay(1000); /* 1 ms */ - /* Wait too long, return FALSE to avoid to be stuck here. */ + /* + * Wait too long, return FALSE to avoid + * to be stuck here. + */ if (RFWaitCounter > 1000) { /* 1sec */ printk("MgntActSet_RF_State(): Wait too long to set RF\n"); /* TODO: Reset RF state? */ @@ -1036,8 +1141,10 @@ bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet, u switch (StateToSet) { case eRfOn: /* - * Turn On RF no matter the IPS setting because we need to update the RF state to Ndis under Vista, or - * the Windows does not allow the driver to perform site survey any more. By Bruce, 2007-10-02. + * Turn On RF no matter the IPS setting because we need to + * update the RF state to Ndis under Vista, or the Windows + * does not allow the driver to perform site survey any + * more. By Bruce, 2007-10-02. */ priv->RfOffReason &= (~ChangeSource); @@ -1045,7 +1152,8 @@ bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet, u priv->RfOffReason = 0; bActionAllowed = true; - if (rtState == eRfOff && ChangeSource >= RF_CHANGE_BY_HW) + if (rtState == eRfOff && + ChangeSource >= RF_CHANGE_BY_HW) bConnectBySSID = true; } break; @@ -1056,13 +1164,18 @@ bool MgntActSet_RF_State(struct net_device *dev, RT_RF_POWER_STATE StateToSet, u if (priv->RfOffReason > RF_CHANGE_BY_IPS) { /* * 060808, Annie: - * Disconnect to current BSS when radio off. Asked by QuanTa. + * Disconnect to current BSS when radio off. + * Asked by QuanTa. * - * Calling MgntDisconnect() instead of MgntActSet_802_11_DISASSOCIATE(), - * because we do NOT need to set ssid to dummy ones. + * Calling MgntDisconnect() instead of + * MgntActSet_802_11_DISASSOCIATE(), because + * we do NOT need to set ssid to dummy ones. */ MgntDisconnect(dev, disas_lv_ss); - /* Clear content of bssDesc[] and bssDesc4Query[] to avoid reporting old bss to UI. */ + /* + * Clear content of bssDesc[] and bssDesc4Query[] + * to avoid reporting old bss to UI. + */ } priv->RfOffReason |= ChangeSource; @@ -1092,18 +1205,21 @@ static void InactivePowerSave(struct net_device *dev) { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); /* - * This flag "bSwRfProcessing", indicates the status of IPS procedure, should be set if the IPS workitem - * is really scheduled. - * The old code, sets this flag before scheduling the IPS workitem and however, at the same time the - * previous IPS workitem did not end yet, fails to schedule the current workitem. Thus, bSwRfProcessing - * blocks the IPS procedure of switching RF. + * This flag "bSwRfProcessing", indicates the status of IPS + * procedure, should be set if the IPS workitem is really + * scheduled. The old code, sets this flag before scheduling the + * IPS workitem and however, at the same time the previous IPS + * workitem did not end yet, fails to schedule the current + * workitem. Thus, bSwRfProcessing blocks the IPS procedure of + * switching RF. */ priv->bSwRfProcessing = true; MgntActSet_RF_State(dev, priv->eInactivePowerState, RF_CHANGE_BY_IPS); /* - * To solve CAM values miss in RF OFF, rewrite CAM values after RF ON. By Bruce, 2007-09-20. + * To solve CAM values miss in RF OFF, rewrite CAM values after + * RF ON. By Bruce, 2007-09-20. */ priv->bSwRfProcessing = false; @@ -1122,10 +1238,10 @@ void IPSEnter(struct net_device *dev) /* * Do not enter IPS in the following conditions: - * (1) RF is already OFF or Sleep - * (2) bSwRfProcessing (indicates the IPS is still under going) - * (3) Connected (only disconnected can trigger IPS) - * (4) IBSS (send Beacon) + * (1) RF is already OFF or + * Sleep (2) bSwRfProcessing (indicates the IPS is still + * under going) (3) Connected (only disconnected can + * trigger IPS)(4) IBSS (send Beacon) * (5) AP mode (send Beacon) */ if (rtState == eRfOn && !priv->bSwRfProcessing @@ -1141,7 +1257,9 @@ void IPSLeave(struct net_device *dev) RT_RF_POWER_STATE rtState; if (priv->bInactivePs) { rtState = priv->eRFPowerState; - if ((rtState == eRfOff || rtState == eRfSleep) && (!priv->bSwRfProcessing) && priv->RfOffReason <= RF_CHANGE_BY_IPS) { + if ((rtState == eRfOff || rtState == eRfSleep) && + !priv->bSwRfProcessing + && priv->RfOffReason <= RF_CHANGE_BY_IPS) { priv->eInactivePowerState = eRfOn; InactivePowerSave(dev); } @@ -1170,27 +1288,32 @@ void rtl8185b_adapter_start(struct net_device *dev) HwConfigureRTL8185(dev); write_nic_dword(dev, MAC0, ((u32 *)dev->dev_addr)[0]); write_nic_word(dev, MAC4, ((u32 *)dev->dev_addr)[1] & 0xffff); - write_nic_byte(dev, MSR, read_nic_byte(dev, MSR) & 0xf3); /* default network type to 'No Link' */ + /* default network type to 'No Link' */ + write_nic_byte(dev, MSR, read_nic_byte(dev, MSR) & 0xf3); write_nic_word(dev, BcnItv, 100); write_nic_word(dev, AtimWnd, 2); PlatformIOWrite2Byte(dev, FEMR, 0xFFFF); write_nic_byte(dev, WPA_CONFIG, 0); MacConfig_85BASIC(dev); - /* Override the RFSW_CTRL (MAC offset 0x272-0x273), 2006.06.07, by rcnjko. */ + /* Override the RFSW_CTRL (MAC offset 0x272-0x273), 2006.06.07, + * by rcnjko. + */ /* BT_DEMO_BOARD type */ PlatformIOWrite2Byte(dev, RFSW_CTRL, 0x569a); /* - *--------------------------------------------------------------------------- + *--------------------------------------------------------------------- * Set up PHY related. - *--------------------------------------------------------------------------- + *--------------------------------------------------------------------- */ /* Enable Config3.PARAM_En to revise AnaaParm. */ write_nic_byte(dev, CR9346, 0xc0); /* enable config register write */ tmpu8 = read_nic_byte(dev, CONFIG3); write_nic_byte(dev, CONFIG3, (tmpu8 | CONFIG3_PARM_En)); /* Turn on Analog power. */ - /* Asked for by William, otherwise, MAC 3-wire can't work, 2006.06.27, by rcnjko. */ + /* Asked for by William, otherwise, MAC 3-wire can't work, + * 2006.06.27, by rcnjko. + */ write_nic_dword(dev, ANAPARAM2, ANAPARM2_ASIC_ON); write_nic_dword(dev, ANAPARAM, ANAPARM_ASIC_ON); write_nic_word(dev, ANAPARAM3, 0x0010); @@ -1225,7 +1348,8 @@ void rtl8185b_adapter_start(struct net_device *dev) /* * We assume RegWirelessMode has already been initialized before, * however, we has to validate the wireless mode here and provide a - * reasonable initialized value if necessary. 2005.01.13, by rcnjko. + * reasonable initialized value if necessary. 2005.01.13, + * by rcnjko. */ SupportedWirelessMode = GetSupportedWirelessMode8185(dev); if ((ieee->mode != WIRELESS_MODE_B) && @@ -1272,14 +1396,15 @@ void rtl8185b_adapter_start(struct net_device *dev) MgntActSet_RF_State(dev, eRfOn, 0); } /* - * If inactive power mode is enabled, disable rf while in disconnected state. + * If inactive power mode is enabled, disable rf while in + * disconnected state. */ if (priv->bInactivePs) MgntActSet_RF_State(dev , eRfOff, RF_CHANGE_BY_IPS); ActSetWirelessMode8185(dev, (u8)(InitWirelessMode)); - /* ----------------------------------------------------------------------------- */ + /* ----------------------------------------------------------------- */ rtl8185b_irq_enable(dev); @@ -1296,14 +1421,15 @@ void rtl8185b_rx_enable(struct net_device *dev) if (dev->flags & IFF_PROMISC) DMESG("NIC in promisc mode"); - if (priv->ieee80211->iw_mode == IW_MODE_MONITOR || \ - dev->flags & IFF_PROMISC) { + if (priv->ieee80211->iw_mode == IW_MODE_MONITOR || dev->flags & + IFF_PROMISC) { priv->ReceiveConfig = priv->ReceiveConfig & (~RCR_APM); priv->ReceiveConfig = priv->ReceiveConfig | RCR_AAP; } if (priv->ieee80211->iw_mode == IW_MODE_MONITOR) - priv->ReceiveConfig = priv->ReceiveConfig | RCR_ACF | RCR_APWRMGT | RCR_AICV; + priv->ReceiveConfig = priv->ReceiveConfig | RCR_ACF | + RCR_APWRMGT | RCR_AICV; if (priv->crcmon == 1 && priv->ieee80211->iw_mode == IW_MODE_MONITOR) |