|
@@ -1996,7 +1996,8 @@ static void rtl8180_rq_tx_ack(struct net_device *dev)
|
|
|
|
|
|
struct r8180_priv *priv = ieee80211_priv(dev);
|
|
struct r8180_priv *priv = ieee80211_priv(dev);
|
|
|
|
|
|
- write_nic_byte(dev, CONFIG4, read_nic_byte(dev, CONFIG4) | CONFIG4_PWRMGT);
|
|
|
|
|
|
+ write_nic_byte(dev, CONFIG4,
|
|
|
|
+ read_nic_byte(dev, CONFIG4) | CONFIG4_PWRMGT);
|
|
priv->ack_tx_to_ieee = 1;
|
|
priv->ack_tx_to_ieee = 1;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2044,7 +2045,8 @@ static void rtl8180_hw_wakeup(struct net_device *dev)
|
|
struct r8180_priv *priv = ieee80211_priv(dev);
|
|
struct r8180_priv *priv = ieee80211_priv(dev);
|
|
|
|
|
|
spin_lock_irqsave(&priv->ps_lock, flags);
|
|
spin_lock_irqsave(&priv->ps_lock, flags);
|
|
- write_nic_byte(dev, CONFIG4, read_nic_byte(dev, CONFIG4) & ~CONFIG4_PWRMGT);
|
|
|
|
|
|
+ write_nic_byte(dev, CONFIG4,
|
|
|
|
+ read_nic_byte(dev, CONFIG4) & ~CONFIG4_PWRMGT);
|
|
if (priv->rf_wakeup)
|
|
if (priv->rf_wakeup)
|
|
priv->rf_wakeup(dev);
|
|
priv->rf_wakeup(dev);
|
|
spin_unlock_irqrestore(&priv->ps_lock, flags);
|
|
spin_unlock_irqrestore(&priv->ps_lock, flags);
|
|
@@ -2091,7 +2093,8 @@ static void rtl8180_hw_sleep(struct net_device *dev, u32 th, u32 tl)
|
|
|
|
|
|
priv->DozePeriodInPast2Sec += jiffies_to_msecs(tmp);
|
|
priv->DozePeriodInPast2Sec += jiffies_to_msecs(tmp);
|
|
/* as tl may be less than rb */
|
|
/* as tl may be less than rb */
|
|
- queue_delayed_work(priv->ieee80211->wq, &priv->ieee80211->hw_wakeup_wq, tmp);
|
|
|
|
|
|
+ queue_delayed_work(priv->ieee80211->wq,
|
|
|
|
+ &priv->ieee80211->hw_wakeup_wq, tmp);
|
|
}
|
|
}
|
|
/*
|
|
/*
|
|
* If we suspect the TimerInt is gone beyond tl
|
|
* If we suspect the TimerInt is gone beyond tl
|
|
@@ -2221,7 +2224,8 @@ static void watch_dog_adaptive(unsigned long data)
|
|
|
|
|
|
/* Tx High Power Mechanism. */
|
|
/* Tx High Power Mechanism. */
|
|
if (CheckHighPower((struct net_device *)data))
|
|
if (CheckHighPower((struct net_device *)data))
|
|
- queue_work(priv->ieee80211->wq, (void *)&priv->ieee80211->tx_pw_wq);
|
|
|
|
|
|
+ queue_work(priv->ieee80211->wq,
|
|
|
|
+ (void *)&priv->ieee80211->tx_pw_wq);
|
|
|
|
|
|
/* Tx Power Tracking on 87SE. */
|
|
/* Tx Power Tracking on 87SE. */
|
|
if (CheckTxPwrTracking((struct net_device *)data))
|
|
if (CheckTxPwrTracking((struct net_device *)data))
|
|
@@ -2229,12 +2233,17 @@ static void watch_dog_adaptive(unsigned long data)
|
|
|
|
|
|
/* Perform DIG immediately. */
|
|
/* Perform DIG immediately. */
|
|
if (CheckDig((struct net_device *)data))
|
|
if (CheckDig((struct net_device *)data))
|
|
- queue_work(priv->ieee80211->wq, (void *)&priv->ieee80211->hw_dig_wq);
|
|
|
|
|
|
+ queue_work(priv->ieee80211->wq,
|
|
|
|
+ (void *)&priv->ieee80211->hw_dig_wq);
|
|
|
|
+
|
|
rtl8180_watch_dog((struct net_device *)data);
|
|
rtl8180_watch_dog((struct net_device *)data);
|
|
|
|
|
|
- queue_work(priv->ieee80211->wq, (void *)&priv->ieee80211->GPIOChangeRFWorkItem);
|
|
|
|
|
|
+ queue_work(priv->ieee80211->wq,
|
|
|
|
+ (void *)&priv->ieee80211->GPIOChangeRFWorkItem);
|
|
|
|
+
|
|
|
|
+ priv->watch_dog_timer.expires = jiffies +
|
|
|
|
+ MSECS(IEEE80211_WATCH_DOG_TIME);
|
|
|
|
|
|
- priv->watch_dog_timer.expires = jiffies + MSECS(IEEE80211_WATCH_DOG_TIME);
|
|
|
|
add_timer(&priv->watch_dog_timer);
|
|
add_timer(&priv->watch_dog_timer);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2425,7 +2434,8 @@ static short rtl8180_init(struct net_device *dev)
|
|
rtl8180_link_detect_init(&priv->link_detect);
|
|
rtl8180_link_detect_init(&priv->link_detect);
|
|
|
|
|
|
priv->ack_tx_to_ieee = 0;
|
|
priv->ack_tx_to_ieee = 0;
|
|
- priv->ieee80211->current_network.beacon_interval = DEFAULT_BEACONINTERVAL;
|
|
|
|
|
|
+ priv->ieee80211->current_network.beacon_interval =
|
|
|
|
+ DEFAULT_BEACONINTERVAL;
|
|
priv->ieee80211->iw_mode = IW_MODE_INFRA;
|
|
priv->ieee80211->iw_mode = IW_MODE_INFRA;
|
|
priv->ieee80211->softmac_features = IEEE_SOFTMAC_SCAN |
|
|
priv->ieee80211->softmac_features = IEEE_SOFTMAC_SCAN |
|
|
IEEE_SOFTMAC_ASSOCIATE | IEEE_SOFTMAC_PROBERQ |
|
|
IEEE_SOFTMAC_ASSOCIATE | IEEE_SOFTMAC_PROBERQ |
|
|
@@ -2471,7 +2481,8 @@ static short rtl8180_init(struct net_device *dev)
|
|
priv->AdRxSsBeforeSwitched = 0;
|
|
priv->AdRxSsBeforeSwitched = 0;
|
|
init_timer(&priv->SwAntennaDiversityTimer);
|
|
init_timer(&priv->SwAntennaDiversityTimer);
|
|
priv->SwAntennaDiversityTimer.data = (unsigned long)dev;
|
|
priv->SwAntennaDiversityTimer.data = (unsigned long)dev;
|
|
- priv->SwAntennaDiversityTimer.function = (void *)SwAntennaDiversityTimerCallback;
|
|
|
|
|
|
+ priv->SwAntennaDiversityTimer.function =
|
|
|
|
+ (void *)SwAntennaDiversityTimerCallback;
|
|
priv->bDigMechanism = true;
|
|
priv->bDigMechanism = true;
|
|
priv->InitialGain = 6;
|
|
priv->InitialGain = 6;
|
|
priv->bXtalCalibration = false;
|
|
priv->bXtalCalibration = false;
|
|
@@ -2480,7 +2491,8 @@ static short rtl8180_init(struct net_device *dev)
|
|
priv->bTxPowerTrack = false;
|
|
priv->bTxPowerTrack = false;
|
|
priv->ThermalMeter = 0;
|
|
priv->ThermalMeter = 0;
|
|
priv->FalseAlarmRegValue = 0;
|
|
priv->FalseAlarmRegValue = 0;
|
|
- priv->RegDigOfdmFaUpTh = 0xc; /* Upper threshold of OFDM false alarm, which is used in DIG. */
|
|
|
|
|
|
+ priv->RegDigOfdmFaUpTh = 0xc; /* Upper threshold of OFDM false alarm,
|
|
|
|
+ which is used in DIG. */
|
|
priv->DIG_NumberFallbackVote = 0;
|
|
priv->DIG_NumberFallbackVote = 0;
|
|
priv->DIG_NumberUpgradeVote = 0;
|
|
priv->DIG_NumberUpgradeVote = 0;
|
|
priv->LastSignalStrengthInPercent = 0;
|
|
priv->LastSignalStrengthInPercent = 0;
|
|
@@ -2625,7 +2637,8 @@ static short rtl8180_init(struct net_device *dev)
|
|
priv->bSwAntennaDiverity = priv->EEPROMSwAntennaDiversity;
|
|
priv->bSwAntennaDiverity = priv->EEPROMSwAntennaDiversity;
|
|
else
|
|
else
|
|
/* 1:disable antenna diversity, 2: enable antenna diversity. */
|
|
/* 1:disable antenna diversity, 2: enable antenna diversity. */
|
|
- priv->bSwAntennaDiverity = priv->RegSwAntennaDiversityMechanism == 2;
|
|
|
|
|
|
+ priv->bSwAntennaDiverity =
|
|
|
|
+ priv->RegSwAntennaDiversityMechanism == 2;
|
|
|
|
|
|
if (priv->RegDefaultAntenna == 0)
|
|
if (priv->RegDefaultAntenna == 0)
|
|
/* 0: default from EEPROM. */
|
|
/* 0: default from EEPROM. */
|
|
@@ -2709,7 +2722,8 @@ static short rtl8180_init(struct net_device *dev)
|
|
TX_BEACON_RING_ADDR))
|
|
TX_BEACON_RING_ADDR))
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
- if (request_irq(dev->irq, rtl8180_interrupt, IRQF_SHARED, dev->name, dev)) {
|
|
|
|
|
|
+ if (request_irq(dev->irq, rtl8180_interrupt,
|
|
|
|
+ IRQF_SHARED, dev->name, dev)) {
|
|
DMESGE("Error allocating IRQ %d", dev->irq);
|
|
DMESGE("Error allocating IRQ %d", dev->irq);
|
|
return -1;
|
|
return -1;
|
|
} else {
|
|
} else {
|
|
@@ -2808,16 +2822,19 @@ static void rtl8185_write_phy(struct net_device *dev, u8 adr, u32 data)
|
|
|
|
|
|
phyw = ((data<<8) | adr);
|
|
phyw = ((data<<8) | adr);
|
|
|
|
|
|
- /* Note that, we must write 0xff7c after 0x7d-0x7f to write BB register. */
|
|
|
|
|
|
+ /* Note: we must write 0xff7c after 0x7d-0x7f to write BB register. */
|
|
write_nic_byte(dev, 0x7f, ((phyw & 0xff000000) >> 24));
|
|
write_nic_byte(dev, 0x7f, ((phyw & 0xff000000) >> 24));
|
|
write_nic_byte(dev, 0x7e, ((phyw & 0x00ff0000) >> 16));
|
|
write_nic_byte(dev, 0x7e, ((phyw & 0x00ff0000) >> 16));
|
|
write_nic_byte(dev, 0x7d, ((phyw & 0x0000ff00) >> 8));
|
|
write_nic_byte(dev, 0x7d, ((phyw & 0x0000ff00) >> 8));
|
|
write_nic_byte(dev, 0x7c, ((phyw & 0x000000ff)));
|
|
write_nic_byte(dev, 0x7c, ((phyw & 0x000000ff)));
|
|
|
|
|
|
- /* this is ok to fail when we write AGC table. check for AGC table might be
|
|
|
|
- * done by masking with 0x7f instead of 0xff
|
|
|
|
|
|
+ /* this is ok to fail when we write AGC table. check for AGC table
|
|
|
|
+ * might be done by masking with 0x7f instead of 0xff
|
|
*/
|
|
*/
|
|
- /* if (phyr != (data&0xff)) DMESGW("Phy write timeout %x %x %x", phyr, data, adr); */
|
|
|
|
|
|
+ /*
|
|
|
|
+ if (phyr != (data&0xff))
|
|
|
|
+ DMESGW("Phy write timeout %x %x %x", phyr, data, adr);
|
|
|
|
+ */
|
|
}
|
|
}
|
|
|
|
|
|
inline void write_phy_ofdm(struct net_device *dev, u8 adr, u32 data)
|
|
inline void write_phy_ofdm(struct net_device *dev, u8 adr, u32 data)
|
|
@@ -2886,25 +2903,26 @@ static bool MgntActSet_802_11_PowerSaveMode(struct r8180_priv *priv,
|
|
|
|
|
|
static void LeisurePSEnter(struct r8180_priv *priv)
|
|
static void LeisurePSEnter(struct r8180_priv *priv)
|
|
{
|
|
{
|
|
- if (priv->bLeisurePs) {
|
|
|
|
|
|
+ if (priv->bLeisurePs)
|
|
if (priv->ieee80211->ps == IEEE80211_PS_DISABLED)
|
|
if (priv->ieee80211->ps == IEEE80211_PS_DISABLED)
|
|
/* IEEE80211_PS_ENABLE */
|
|
/* IEEE80211_PS_ENABLE */
|
|
- MgntActSet_802_11_PowerSaveMode(priv, IEEE80211_PS_MBCAST|IEEE80211_PS_UNICAST);
|
|
|
|
- }
|
|
|
|
|
|
+ MgntActSet_802_11_PowerSaveMode(priv,
|
|
|
|
+ IEEE80211_PS_MBCAST | IEEE80211_PS_UNICAST);
|
|
}
|
|
}
|
|
|
|
|
|
static void LeisurePSLeave(struct r8180_priv *priv)
|
|
static void LeisurePSLeave(struct r8180_priv *priv)
|
|
{
|
|
{
|
|
- if (priv->bLeisurePs) {
|
|
|
|
|
|
+ if (priv->bLeisurePs)
|
|
if (priv->ieee80211->ps != IEEE80211_PS_DISABLED)
|
|
if (priv->ieee80211->ps != IEEE80211_PS_DISABLED)
|
|
- MgntActSet_802_11_PowerSaveMode(priv, IEEE80211_PS_DISABLED);
|
|
|
|
- }
|
|
|
|
|
|
+ MgntActSet_802_11_PowerSaveMode(
|
|
|
|
+ priv, IEEE80211_PS_DISABLED);
|
|
}
|
|
}
|
|
|
|
|
|
void rtl8180_hw_wakeup_wq(struct work_struct *work)
|
|
void rtl8180_hw_wakeup_wq(struct work_struct *work)
|
|
{
|
|
{
|
|
struct delayed_work *dwork = to_delayed_work(work);
|
|
struct delayed_work *dwork = to_delayed_work(work);
|
|
- struct ieee80211_device *ieee = container_of(dwork, struct ieee80211_device, hw_wakeup_wq);
|
|
|
|
|
|
+ struct ieee80211_device *ieee = container_of(
|
|
|
|
+ dwork, struct ieee80211_device, hw_wakeup_wq);
|
|
struct net_device *dev = ieee->dev;
|
|
struct net_device *dev = ieee->dev;
|
|
|
|
|
|
rtl8180_hw_wakeup(dev);
|
|
rtl8180_hw_wakeup(dev);
|
|
@@ -2913,7 +2931,8 @@ void rtl8180_hw_wakeup_wq(struct work_struct *work)
|
|
void rtl8180_hw_sleep_wq(struct work_struct *work)
|
|
void rtl8180_hw_sleep_wq(struct work_struct *work)
|
|
{
|
|
{
|
|
struct delayed_work *dwork = to_delayed_work(work);
|
|
struct delayed_work *dwork = to_delayed_work(work);
|
|
- struct ieee80211_device *ieee = container_of(dwork, struct ieee80211_device, hw_sleep_wq);
|
|
|
|
|
|
+ struct ieee80211_device *ieee = container_of(
|
|
|
|
+ dwork, struct ieee80211_device, hw_sleep_wq);
|
|
struct net_device *dev = ieee->dev;
|
|
struct net_device *dev = ieee->dev;
|
|
|
|
|
|
rtl8180_hw_sleep_down(dev);
|
|
rtl8180_hw_sleep_down(dev);
|
|
@@ -2930,23 +2949,30 @@ static void MgntLinkKeepAlive(struct r8180_priv *priv)
|
|
*/
|
|
*/
|
|
|
|
|
|
if ((priv->keepAliveLevel == 2) ||
|
|
if ((priv->keepAliveLevel == 2) ||
|
|
- (priv->link_detect.last_num_tx_unicast == priv->NumTxUnicast &&
|
|
|
|
- priv->link_detect.last_num_rx_unicast == priv->ieee80211->NumRxUnicast)
|
|
|
|
|
|
+ (priv->link_detect.last_num_tx_unicast ==
|
|
|
|
+ priv->NumTxUnicast &&
|
|
|
|
+ priv->link_detect.last_num_rx_unicast ==
|
|
|
|
+ priv->ieee80211->NumRxUnicast)
|
|
) {
|
|
) {
|
|
priv->link_detect.idle_count++;
|
|
priv->link_detect.idle_count++;
|
|
|
|
|
|
/*
|
|
/*
|
|
- * Send a Keep-Alive packet packet to AP if we had been idle for a while.
|
|
|
|
|
|
+ * Send a Keep-Alive packet packet to AP if we had
|
|
|
|
+ * been idle for a while.
|
|
*/
|
|
*/
|
|
- if (priv->link_detect.idle_count >= ((KEEP_ALIVE_INTERVAL / CHECK_FOR_HANG_PERIOD)-1)) {
|
|
|
|
|
|
+ if (priv->link_detect.idle_count >=
|
|
|
|
+ KEEP_ALIVE_INTERVAL /
|
|
|
|
+ CHECK_FOR_HANG_PERIOD - 1) {
|
|
priv->link_detect.idle_count = 0;
|
|
priv->link_detect.idle_count = 0;
|
|
- ieee80211_sta_ps_send_null_frame(priv->ieee80211, false);
|
|
|
|
|
|
+ ieee80211_sta_ps_send_null_frame(
|
|
|
|
+ priv->ieee80211, false);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
priv->link_detect.idle_count = 0;
|
|
priv->link_detect.idle_count = 0;
|
|
}
|
|
}
|
|
priv->link_detect.last_num_tx_unicast = priv->NumTxUnicast;
|
|
priv->link_detect.last_num_tx_unicast = priv->NumTxUnicast;
|
|
- priv->link_detect.last_num_rx_unicast = priv->ieee80211->NumRxUnicast;
|
|
|
|
|
|
+ priv->link_detect.last_num_rx_unicast =
|
|
|
|
+ priv->ieee80211->NumRxUnicast;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2966,15 +2992,22 @@ void rtl8180_watch_dog(struct net_device *dev)
|
|
IPSEnter(dev);
|
|
IPSEnter(dev);
|
|
}
|
|
}
|
|
/* YJ,add,080828,for link state check */
|
|
/* YJ,add,080828,for link state check */
|
|
- if ((priv->ieee80211->state == IEEE80211_LINKED) && (priv->ieee80211->iw_mode == IW_MODE_INFRA)) {
|
|
|
|
- SlotIndex = (priv->link_detect.slot_index++) % priv->link_detect.slot_num;
|
|
|
|
- priv->link_detect.rx_frame_num[SlotIndex] = priv->ieee80211->NumRxDataInPeriod + priv->ieee80211->NumRxBcnInPeriod;
|
|
|
|
|
|
+ if ((priv->ieee80211->state == IEEE80211_LINKED) &&
|
|
|
|
+ (priv->ieee80211->iw_mode == IW_MODE_INFRA)) {
|
|
|
|
+ SlotIndex = (priv->link_detect.slot_index++) %
|
|
|
|
+ priv->link_detect.slot_num;
|
|
|
|
+
|
|
|
|
+ priv->link_detect.rx_frame_num[SlotIndex] =
|
|
|
|
+ priv->ieee80211->NumRxDataInPeriod +
|
|
|
|
+ priv->ieee80211->NumRxBcnInPeriod;
|
|
|
|
+
|
|
for (i = 0; i < priv->link_detect.slot_num; i++)
|
|
for (i = 0; i < priv->link_detect.slot_num; i++)
|
|
TotalRxNum += priv->link_detect.rx_frame_num[i];
|
|
TotalRxNum += priv->link_detect.rx_frame_num[i];
|
|
|
|
|
|
if (TotalRxNum == 0) {
|
|
if (TotalRxNum == 0) {
|
|
priv->ieee80211->state = IEEE80211_ASSOCIATING;
|
|
priv->ieee80211->state = IEEE80211_ASSOCIATING;
|
|
- queue_work(priv->ieee80211->wq, &priv->ieee80211->associate_procedure_wq);
|
|
|
|
|
|
+ queue_work(priv->ieee80211->wq,
|
|
|
|
+ &priv->ieee80211->associate_procedure_wq);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2985,12 +3018,14 @@ void rtl8180_watch_dog(struct net_device *dev)
|
|
LeisurePSLeave(priv);
|
|
LeisurePSLeave(priv);
|
|
|
|
|
|
if (priv->ieee80211->state == IEEE80211_LINKED) {
|
|
if (priv->ieee80211->state == IEEE80211_LINKED) {
|
|
- priv->link_detect.num_rx_ok_in_period = priv->ieee80211->NumRxDataInPeriod;
|
|
|
|
|
|
+ priv->link_detect.num_rx_ok_in_period =
|
|
|
|
+ priv->ieee80211->NumRxDataInPeriod;
|
|
if (priv->link_detect.num_rx_ok_in_period > 666 ||
|
|
if (priv->link_detect.num_rx_ok_in_period > 666 ||
|
|
priv->link_detect.num_tx_ok_in_period > 666) {
|
|
priv->link_detect.num_tx_ok_in_period > 666) {
|
|
bBusyTraffic = true;
|
|
bBusyTraffic = true;
|
|
}
|
|
}
|
|
- if (((priv->link_detect.num_rx_ok_in_period + priv->link_detect.num_tx_ok_in_period) > 8)
|
|
|
|
|
|
+ if ((priv->link_detect.num_rx_ok_in_period +
|
|
|
|
+ priv->link_detect.num_tx_ok_in_period > 8)
|
|
|| (priv->link_detect.num_rx_ok_in_period > 2)) {
|
|
|| (priv->link_detect.num_rx_ok_in_period > 2)) {
|
|
bEnterPS = false;
|
|
bEnterPS = false;
|
|
} else
|
|
} else
|
|
@@ -3088,14 +3123,16 @@ int rtl8180_down(struct net_device *dev)
|
|
cancel_delayed_work(&priv->ieee80211->tx_pw_wq);
|
|
cancel_delayed_work(&priv->ieee80211->tx_pw_wq);
|
|
del_timer_sync(&priv->SwAntennaDiversityTimer);
|
|
del_timer_sync(&priv->SwAntennaDiversityTimer);
|
|
SetZebraRFPowerState8185(dev, eRfOff);
|
|
SetZebraRFPowerState8185(dev, eRfOff);
|
|
- memset(&(priv->ieee80211->current_network), 0, sizeof(struct ieee80211_network));
|
|
|
|
|
|
+ memset(&priv->ieee80211->current_network,
|
|
|
|
+ 0, sizeof(struct ieee80211_network));
|
|
priv->ieee80211->state = IEEE80211_NOLINK;
|
|
priv->ieee80211->state = IEEE80211_NOLINK;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
void rtl8180_restart_wq(struct work_struct *work)
|
|
void rtl8180_restart_wq(struct work_struct *work)
|
|
{
|
|
{
|
|
- struct r8180_priv *priv = container_of(work, struct r8180_priv, reset_wq);
|
|
|
|
|
|
+ struct r8180_priv *priv = container_of(
|
|
|
|
+ work, struct r8180_priv, reset_wq);
|
|
struct net_device *dev = priv->dev;
|
|
struct net_device *dev = priv->dev;
|
|
|
|
|
|
down(&priv->wx_sem);
|
|
down(&priv->wx_sem);
|
|
@@ -3156,7 +3193,8 @@ static int r8180_set_mac_adr(struct net_device *dev, void *mac)
|
|
memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
|
|
memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
|
|
|
|
|
|
if (priv->ieee80211->iw_mode == IW_MODE_MASTER)
|
|
if (priv->ieee80211->iw_mode == IW_MODE_MASTER)
|
|
- memcpy(priv->ieee80211->current_network.bssid, dev->dev_addr, ETH_ALEN);
|
|
|
|
|
|
+ memcpy(priv->ieee80211->current_network.bssid,
|
|
|
|
+ dev->dev_addr, ETH_ALEN);
|
|
|
|
|
|
if (priv->up) {
|
|
if (priv->up) {
|
|
rtl8180_down(dev);
|
|
rtl8180_down(dev);
|
|
@@ -3177,7 +3215,8 @@ static int rtl8180_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
|
|
|
|
|
switch (cmd) {
|
|
switch (cmd) {
|
|
case RTL_IOCTL_WPA_SUPPLICANT:
|
|
case RTL_IOCTL_WPA_SUPPLICANT:
|
|
- ret = ieee80211_wpa_supplicant_ioctl(priv->ieee80211, &wrq->u.data);
|
|
|
|
|
|
+ ret = ieee80211_wpa_supplicant_ioctl(
|
|
|
|
+ priv->ieee80211, &wrq->u.data);
|
|
return ret;
|
|
return ret;
|
|
default:
|
|
default:
|
|
return -EOPNOTSUPP;
|
|
return -EOPNOTSUPP;
|
|
@@ -3728,7 +3767,8 @@ void rtl8180_irq_rx_tasklet(struct r8180_priv *priv)
|
|
|
|
|
|
void GPIOChangeRFWorkItemCallBack(struct work_struct *work)
|
|
void GPIOChangeRFWorkItemCallBack(struct work_struct *work)
|
|
{
|
|
{
|
|
- struct ieee80211_device *ieee = container_of(work, struct ieee80211_device, GPIOChangeRFWorkItem.work);
|
|
|
|
|
|
+ struct ieee80211_device *ieee = container_of(
|
|
|
|
+ work, struct ieee80211_device, GPIOChangeRFWorkItem.work);
|
|
struct net_device *dev = ieee->dev;
|
|
struct net_device *dev = ieee->dev;
|
|
struct r8180_priv *priv = ieee80211_priv(dev);
|
|
struct r8180_priv *priv = ieee80211_priv(dev);
|
|
u8 btPSR;
|
|
u8 btPSR;
|
|
@@ -3738,7 +3778,8 @@ void GPIOChangeRFWorkItemCallBack(struct work_struct *work)
|
|
|
|
|
|
char *argv[3];
|
|
char *argv[3];
|
|
static char *RadioPowerPath = "/etc/acpi/events/RadioPower.sh";
|
|
static char *RadioPowerPath = "/etc/acpi/events/RadioPower.sh";
|
|
- static char *envp[] = {"HOME=/", "TERM=linux", "PATH=/usr/bin:/bin", NULL};
|
|
|
|
|
|
+ static char *envp[] = {"HOME=/", "TERM=linux",
|
|
|
|
+ "PATH=/usr/bin:/bin", NULL};
|
|
static int readf_count;
|
|
static int readf_count;
|
|
|
|
|
|
readf_count = (readf_count+1)%0xffff;
|
|
readf_count = (readf_count+1)%0xffff;
|