Commit 4bb01423 authored by Valentina Manea's avatar Valentina Manea Committed by Greg Kroah-Hartman

staging: rtl8192e: do not use comparisons on bool tests

This patch fixes coccinelle errors regarding comparisons
used in bool tests.
Signed-off-by: default avatarValentina Manea <valentina.manea.m@gmail.com>
Reviewed-by: default avatarLisa Nguyen <lisa@xenapiadmin.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 38272d20
...@@ -140,7 +140,7 @@ bool phy_RF8256_Config_ParaFile(struct net_device *dev) ...@@ -140,7 +140,7 @@ bool phy_RF8256_Config_ParaFile(struct net_device *dev)
rtStatus = rtl8192_phy_checkBBAndRF(dev, HW90_BLOCK_RF, rtStatus = rtl8192_phy_checkBBAndRF(dev, HW90_BLOCK_RF,
(enum rf90_radio_path)eRFPath); (enum rf90_radio_path)eRFPath);
if (rtStatus != true) { if (!rtStatus) {
RT_TRACE(COMP_ERR, "PHY_RF8256_Config():Check " RT_TRACE(COMP_ERR, "PHY_RF8256_Config():Check "
"Radio[%d] Fail!!\n", eRFPath); "Radio[%d] Fail!!\n", eRFPath);
goto phy_RF8256_Config_ParaFile_Fail; goto phy_RF8256_Config_ParaFile_Fail;
...@@ -245,7 +245,7 @@ void PHY_SetRF8256CCKTxPower(struct net_device *dev, u8 powerlevel) ...@@ -245,7 +245,7 @@ void PHY_SetRF8256CCKTxPower(struct net_device *dev, u8 powerlevel)
struct r8192_priv *priv = rtllib_priv(dev); struct r8192_priv *priv = rtllib_priv(dev);
TxAGC = powerlevel; TxAGC = powerlevel;
if (priv->bDynamicTxLowPower == true) { if (priv->bDynamicTxLowPower) {
if (priv->CustomerID == RT_CID_819x_Netcore) if (priv->CustomerID == RT_CID_819x_Netcore)
TxAGC = 0x22; TxAGC = 0x22;
else else
...@@ -294,7 +294,7 @@ void PHY_SetRF8256OFDMTxPower(struct net_device *dev, u8 powerlevel) ...@@ -294,7 +294,7 @@ void PHY_SetRF8256OFDMTxPower(struct net_device *dev, u8 powerlevel)
priv->Pwr_Track = writeVal_tmp; priv->Pwr_Track = writeVal_tmp;
} }
if (priv->bDynamicTxHighPower == true) if (priv->bDynamicTxHighPower)
writeVal = 0x03030303; writeVal = 0x03030303;
else else
writeVal = (byte3 << 24) | (byte2 << 16) | writeVal = (byte3 << 24) | (byte2 << 16) |
......
...@@ -720,7 +720,7 @@ bool rtl8192_adapter_start(struct net_device *dev) ...@@ -720,7 +720,7 @@ bool rtl8192_adapter_start(struct net_device *dev)
} }
priv->pFirmware->firmware_status = FW_STATUS_0_INIT; priv->pFirmware->firmware_status = FW_STATUS_0_INIT;
if (priv->RegRfOff == true) if (priv->RegRfOff)
priv->rtllib->eRFPowerState = eRfOff; priv->rtllib->eRFPowerState = eRfOff;
ulRegRead = read_nic_dword(dev, CPU_GEN); ulRegRead = read_nic_dword(dev, CPU_GEN);
...@@ -745,7 +745,7 @@ bool rtl8192_adapter_start(struct net_device *dev) ...@@ -745,7 +745,7 @@ bool rtl8192_adapter_start(struct net_device *dev)
} }
RT_TRACE(COMP_INIT, "BB Config Start!\n"); RT_TRACE(COMP_INIT, "BB Config Start!\n");
rtStatus = rtl8192_BBConfig(dev); rtStatus = rtl8192_BBConfig(dev);
if (rtStatus != true) { if (!rtStatus) {
RT_TRACE(COMP_ERR, "BB Config failed\n"); RT_TRACE(COMP_ERR, "BB Config failed\n");
return rtStatus; return rtStatus;
} }
...@@ -856,7 +856,7 @@ bool rtl8192_adapter_start(struct net_device *dev) ...@@ -856,7 +856,7 @@ bool rtl8192_adapter_start(struct net_device *dev)
if (priv->ResetProgress == RESET_TYPE_NORESET) { if (priv->ResetProgress == RESET_TYPE_NORESET) {
RT_TRACE(COMP_INIT, "RF Config Started!\n"); RT_TRACE(COMP_INIT, "RF Config Started!\n");
rtStatus = rtl8192_phy_RFConfig(dev); rtStatus = rtl8192_phy_RFConfig(dev);
if (rtStatus != true) { if (!rtStatus) {
RT_TRACE(COMP_ERR, "RF Config failed\n"); RT_TRACE(COMP_ERR, "RF Config failed\n");
return rtStatus; return rtStatus;
} }
...@@ -869,7 +869,7 @@ bool rtl8192_adapter_start(struct net_device *dev) ...@@ -869,7 +869,7 @@ bool rtl8192_adapter_start(struct net_device *dev)
write_nic_byte(dev, 0x87, 0x0); write_nic_byte(dev, 0x87, 0x0);
if (priv->RegRfOff == true) { if (priv->RegRfOff) {
RT_TRACE((COMP_INIT | COMP_RF | COMP_POWER), RT_TRACE((COMP_INIT | COMP_RF | COMP_POWER),
"%s(): Turn off RF for RegRfOff ----------\n", "%s(): Turn off RF for RegRfOff ----------\n",
__func__); __func__);
......
...@@ -329,7 +329,7 @@ bool init_firmware(struct net_device *dev) ...@@ -329,7 +329,7 @@ bool init_firmware(struct net_device *dev)
} }
rt_status = fw_download_code(dev, mapped_file, file_length); rt_status = fw_download_code(dev, mapped_file, file_length);
if (rt_status != true) { if (!rt_status) {
goto download_firmware_fail; goto download_firmware_fail;
} }
......
...@@ -567,7 +567,7 @@ static bool rtl8192_BB_Config_ParaFile(struct net_device *dev) ...@@ -567,7 +567,7 @@ static bool rtl8192_BB_Config_ParaFile(struct net_device *dev)
rtStatus = rtl8192_phy_checkBBAndRF(dev, rtStatus = rtl8192_phy_checkBBAndRF(dev,
(enum hw90_block)eCheckItem, (enum hw90_block)eCheckItem,
(enum rf90_radio_path)0); (enum rf90_radio_path)0);
if (rtStatus != true) { if (!rtStatus) {
RT_TRACE((COMP_ERR | COMP_PHY), "PHY_RF8256_Config():" RT_TRACE((COMP_ERR | COMP_PHY), "PHY_RF8256_Config():"
"Check PHY%d Fail!!\n", eCheckItem-1); "Check PHY%d Fail!!\n", eCheckItem-1);
return rtStatus; return rtStatus;
...@@ -1425,7 +1425,7 @@ static bool SetRFPowerState8190(struct net_device *dev, ...@@ -1425,7 +1425,7 @@ static bool SetRFPowerState8190(struct net_device *dev,
u8 i = 0, QueueID = 0; u8 i = 0, QueueID = 0;
struct rtl8192_tx_ring *ring = NULL; struct rtl8192_tx_ring *ring = NULL;
if (priv->SetRFPowerStateInProgress == true) if (priv->SetRFPowerStateInProgress)
return false; return false;
RT_TRACE(COMP_PS, "===========> SetRFPowerState8190()!\n"); RT_TRACE(COMP_PS, "===========> SetRFPowerState8190()!\n");
priv->SetRFPowerStateInProgress = true; priv->SetRFPowerStateInProgress = true;
...@@ -1443,10 +1443,9 @@ static bool SetRFPowerState8190(struct net_device *dev, ...@@ -1443,10 +1443,9 @@ static bool SetRFPowerState8190(struct net_device *dev,
InitilizeCount--; InitilizeCount--;
priv->RegRfOff = false; priv->RegRfOff = false;
rtstatus = NicIFEnableNIC(dev); rtstatus = NicIFEnableNIC(dev);
} while ((rtstatus != true) && } while (!rtstatus && (InitilizeCount > 0));
(InitilizeCount > 0));
if (rtstatus != true) { if (!rtstatus) {
RT_TRACE(COMP_ERR, "%s():Initialize Ada" RT_TRACE(COMP_ERR, "%s():Initialize Ada"
"pter fail,return\n", "pter fail,return\n",
__func__); __func__);
......
...@@ -370,8 +370,7 @@ bool MgntActSet_RF_State(struct net_device *dev, ...@@ -370,8 +370,7 @@ bool MgntActSet_RF_State(struct net_device *dev,
case eRfOn: case eRfOn:
priv->rtllib->RfOffReason &= (~ChangeSource); priv->rtllib->RfOffReason &= (~ChangeSource);
if ((ChangeSource == RF_CHANGE_BY_HW) && if ((ChangeSource == RF_CHANGE_BY_HW) && priv->bHwRadioOff)
(priv->bHwRadioOff == true))
priv->bHwRadioOff = false; priv->bHwRadioOff = false;
if (!priv->rtllib->RfOffReason) { if (!priv->rtllib->RfOffReason) {
...@@ -405,8 +404,7 @@ bool MgntActSet_RF_State(struct net_device *dev, ...@@ -405,8 +404,7 @@ bool MgntActSet_RF_State(struct net_device *dev,
disas_lv_ss); disas_lv_ss);
} }
} }
if ((ChangeSource == RF_CHANGE_BY_HW) && if ((ChangeSource == RF_CHANGE_BY_HW) && !priv->bHwRadioOff)
(priv->bHwRadioOff == false))
priv->bHwRadioOff = true; priv->bHwRadioOff = true;
priv->rtllib->RfOffReason |= ChangeSource; priv->rtllib->RfOffReason |= ChangeSource;
bActionAllowed = true; bActionAllowed = true;
...@@ -428,7 +426,7 @@ bool MgntActSet_RF_State(struct net_device *dev, ...@@ -428,7 +426,7 @@ bool MgntActSet_RF_State(struct net_device *dev,
PHY_SetRFPowerState(dev, StateToSet); PHY_SetRFPowerState(dev, StateToSet);
if (StateToSet == eRfOn) { if (StateToSet == eRfOn) {
if (bConnectBySSID && (priv->blinked_ingpio == true)) { if (bConnectBySSID && priv->blinked_ingpio) {
queue_delayed_work_rsl(ieee->wq, queue_delayed_work_rsl(ieee->wq,
&ieee->associate_procedure_wq, 0); &ieee->associate_procedure_wq, 0);
priv->blinked_ingpio = false; priv->blinked_ingpio = false;
...@@ -955,7 +953,7 @@ static int _rtl8192_sta_up(struct net_device *dev, bool is_silent_reset) ...@@ -955,7 +953,7 @@ static int _rtl8192_sta_up(struct net_device *dev, bool is_silent_reset)
RT_TRACE(COMP_INIT, "Bringing up iface"); RT_TRACE(COMP_INIT, "Bringing up iface");
priv->bfirst_init = true; priv->bfirst_init = true;
init_status = priv->ops->initialize_adapter(dev); init_status = priv->ops->initialize_adapter(dev);
if (init_status != true) { if (!init_status) {
RT_TRACE(COMP_ERR, "ERR!!! %s(): initialization is failed!\n", RT_TRACE(COMP_ERR, "ERR!!! %s(): initialization is failed!\n",
__func__); __func__);
priv->bfirst_init = false; priv->bfirst_init = false;
...@@ -1647,7 +1645,7 @@ void rtl819x_watchdog_wqcallback(void *data) ...@@ -1647,7 +1645,7 @@ void rtl819x_watchdog_wqcallback(void *data)
bool bHigherBusyRxTraffic = false; bool bHigherBusyRxTraffic = false;
bool bEnterPS = false; bool bEnterPS = false;
if (IS_NIC_DOWN(priv) || (priv->bHwRadioOff == true)) if (IS_NIC_DOWN(priv) || priv->bHwRadioOff)
return; return;
if (priv->rtllib->state >= RTLLIB_LINKED) { if (priv->rtllib->state >= RTLLIB_LINKED) {
...@@ -3045,7 +3043,7 @@ bool NicIFEnableNIC(struct net_device *dev) ...@@ -3045,7 +3043,7 @@ bool NicIFEnableNIC(struct net_device *dev)
RT_TRACE(COMP_PS, "===========>%s()\n", __func__); RT_TRACE(COMP_PS, "===========>%s()\n", __func__);
priv->bfirst_init = true; priv->bfirst_init = true;
init_status = priv->ops->initialize_adapter(dev); init_status = priv->ops->initialize_adapter(dev);
if (init_status != true) { if (!init_status) {
RT_TRACE(COMP_ERR, "ERR!!! %s(): initialization is failed!\n", RT_TRACE(COMP_ERR, "ERR!!! %s(): initialization is failed!\n",
__func__); __func__);
priv->bdisable_nic = false; priv->bdisable_nic = false;
......
...@@ -535,7 +535,7 @@ static void dm_TXPowerTrackingCallback_TSSI(struct net_device *dev) ...@@ -535,7 +535,7 @@ static void dm_TXPowerTrackingCallback_TSSI(struct net_device *dev)
} }
} }
if (viviflag == true) { if (viviflag) {
write_nic_byte(dev, Pw_Track_Flag, 0); write_nic_byte(dev, Pw_Track_Flag, 0);
viviflag = false; viviflag = false;
RT_TRACE(COMP_POWER_TRACKING, "we filted this data\n"); RT_TRACE(COMP_POWER_TRACKING, "we filted this data\n");
...@@ -2273,12 +2273,12 @@ void dm_CheckRfCtrlGPIO(void *data) ...@@ -2273,12 +2273,12 @@ void dm_CheckRfCtrlGPIO(void *data)
eRfPowerStateToSet = (tmp1byte&BIT1) ? eRfOn : eRfOff; eRfPowerStateToSet = (tmp1byte&BIT1) ? eRfOn : eRfOff;
if ((priv->bHwRadioOff == true) && (eRfPowerStateToSet == eRfOn)) { if (priv->bHwRadioOff && (eRfPowerStateToSet == eRfOn)) {
RT_TRACE(COMP_RF, "gpiochangeRF - HW Radio ON\n"); RT_TRACE(COMP_RF, "gpiochangeRF - HW Radio ON\n");
printk(KERN_INFO "gpiochangeRF - HW Radio ON\n"); printk(KERN_INFO "gpiochangeRF - HW Radio ON\n");
priv->bHwRadioOff = false; priv->bHwRadioOff = false;
bActuallySet = true; bActuallySet = true;
} else if ((priv->bHwRadioOff == false) && (eRfPowerStateToSet == eRfOff)) { } else if (!priv->bHwRadioOff && (eRfPowerStateToSet == eRfOff)) {
RT_TRACE(COMP_RF, "gpiochangeRF - HW Radio OFF\n"); RT_TRACE(COMP_RF, "gpiochangeRF - HW Radio OFF\n");
printk(KERN_INFO "gpiochangeRF - HW Radio OFF\n"); printk(KERN_INFO "gpiochangeRF - HW Radio OFF\n");
priv->bHwRadioOff = true; priv->bHwRadioOff = true;
...@@ -2289,7 +2289,7 @@ void dm_CheckRfCtrlGPIO(void *data) ...@@ -2289,7 +2289,7 @@ void dm_CheckRfCtrlGPIO(void *data)
mdelay(1000); mdelay(1000);
priv->bHwRfOffAction = 1; priv->bHwRfOffAction = 1;
MgntActSet_RF_State(dev, eRfPowerStateToSet, RF_CHANGE_BY_HW, true); MgntActSet_RF_State(dev, eRfPowerStateToSet, RF_CHANGE_BY_HW, true);
if (priv->bHwRadioOff == true) if (priv->bHwRadioOff)
argv[1] = "RFOFF"; argv[1] = "RFOFF";
else else
argv[1] = "RFON"; argv[1] = "RFON";
...@@ -2946,8 +2946,7 @@ static void dm_dynamic_txpower(struct net_device *dev) ...@@ -2946,8 +2946,7 @@ static void dm_dynamic_txpower(struct net_device *dev)
priv->bDynamicTxLowPower = false; priv->bDynamicTxLowPower = false;
} else { } else {
if (priv->undecorated_smoothed_pwdb < if (priv->undecorated_smoothed_pwdb <
txlowpower_threshold && txlowpower_threshold && priv->bDynamicTxHighPower)
priv->bDynamicTxHighPower == true)
priv->bDynamicTxHighPower = false; priv->bDynamicTxHighPower = false;
if (priv->undecorated_smoothed_pwdb < 35) if (priv->undecorated_smoothed_pwdb < 35)
priv->bDynamicTxLowPower = true; priv->bDynamicTxLowPower = true;
......
...@@ -264,7 +264,7 @@ static struct ts_common_info *SearchAdmitTRStream(struct rtllib_device *ieee, ...@@ -264,7 +264,7 @@ static struct ts_common_info *SearchAdmitTRStream(struct rtllib_device *ieee,
psearch_list = &ieee->Rx_TS_Admit_List; psearch_list = &ieee->Rx_TS_Admit_List;
for (dir = 0; dir <= DIR_BI_DIR; dir++) { for (dir = 0; dir <= DIR_BI_DIR; dir++) {
if (search_dir[dir] == false) if (!search_dir[dir])
continue; continue;
list_for_each_entry(pRet, psearch_list, List) { list_for_each_entry(pRet, psearch_list, List) {
if (memcmp(pRet->Addr, Addr, 6) == 0) if (memcmp(pRet->Addr, Addr, 6) == 0)
...@@ -348,7 +348,7 @@ bool GetTs(struct rtllib_device *ieee, struct ts_common_info **ppTS, ...@@ -348,7 +348,7 @@ bool GetTs(struct rtllib_device *ieee, struct ts_common_info **ppTS,
if (*ppTS != NULL) { if (*ppTS != NULL) {
return true; return true;
} else { } else {
if (bAddNewTs == false) { if (!bAddNewTs) {
RTLLIB_DEBUG(RTLLIB_DL_TS, "add new TS failed" RTLLIB_DEBUG(RTLLIB_DL_TS, "add new TS failed"
"(tid:%d)\n", UP); "(tid:%d)\n", UP);
return false; return false;
......
...@@ -1729,7 +1729,7 @@ static inline void rtllib_extract_country_ie( ...@@ -1729,7 +1729,7 @@ static inline void rtllib_extract_country_ie(
network->CountryIeLen = info_element->len; network->CountryIeLen = info_element->len;
if (!IS_COUNTRY_IE_VALID(ieee)) { if (!IS_COUNTRY_IE_VALID(ieee)) {
if ((rtllib_act_scanning(ieee, false) == true) && (ieee->FirstIe_InScan == 1)) if (rtllib_act_scanning(ieee, false) && ieee->FirstIe_InScan)
printk(KERN_INFO "Received beacon ContryIE, SSID: <%s>\n", network->ssid); printk(KERN_INFO "Received beacon ContryIE, SSID: <%s>\n", network->ssid);
Dot11d_UpdateCountryIe(ieee, addr2, info_element->len, info_element->data); Dot11d_UpdateCountryIe(ieee, addr2, info_element->len, info_element->data);
} }
......
...@@ -604,7 +604,7 @@ static void rtllib_softmac_scan_wq(void *data) ...@@ -604,7 +604,7 @@ static void rtllib_softmac_scan_wq(void *data)
if (!ieee->ieee_up) if (!ieee->ieee_up)
return; return;
if (rtllib_act_scanning(ieee, true) == true) if (rtllib_act_scanning(ieee, true))
return; return;
down(&ieee->scan_sem); down(&ieee->scan_sem);
...@@ -1202,7 +1202,7 @@ inline struct sk_buff *rtllib_association_req(struct rtllib_network *beacon, ...@@ -1202,7 +1202,7 @@ inline struct sk_buff *rtllib_association_req(struct rtllib_network *beacon,
if ((ieee->rtllib_ap_sec_type && if ((ieee->rtllib_ap_sec_type &&
(ieee->rtllib_ap_sec_type(ieee) & SEC_ALG_TKIP)) || (ieee->rtllib_ap_sec_type(ieee) & SEC_ALG_TKIP)) ||
(ieee->bForcedBgMode == true)) { ieee->bForcedBgMode) {
ieee->pHTInfo->bEnableHT = 0; ieee->pHTInfo->bEnableHT = 0;
ieee->mode = WIRELESS_MODE_G; ieee->mode = WIRELESS_MODE_G;
} }
...@@ -1535,7 +1535,7 @@ static void rtllib_associate_complete_wq(void *data) ...@@ -1535,7 +1535,7 @@ static void rtllib_associate_complete_wq(void *data)
struct rt_pwr_save_ctrl *pPSC = (struct rt_pwr_save_ctrl *) struct rt_pwr_save_ctrl *pPSC = (struct rt_pwr_save_ctrl *)
(&(ieee->PowerSaveControl)); (&(ieee->PowerSaveControl));
printk(KERN_INFO "Associated successfully\n"); printk(KERN_INFO "Associated successfully\n");
if (ieee->is_silent_reset == 0) { if (!ieee->is_silent_reset) {
printk(KERN_INFO "normal associate\n"); printk(KERN_INFO "normal associate\n");
notify_wx_assoc_event(ieee); notify_wx_assoc_event(ieee);
} }
...@@ -1572,7 +1572,7 @@ static void rtllib_associate_complete_wq(void *data) ...@@ -1572,7 +1572,7 @@ static void rtllib_associate_complete_wq(void *data)
pPSC->LpsIdleCount = 0; pPSC->LpsIdleCount = 0;
ieee->link_change(ieee->dev); ieee->link_change(ieee->dev);
if (ieee->is_silent_reset == 1) { if (ieee->is_silent_reset) {
printk(KERN_INFO "silent reset associate\n"); printk(KERN_INFO "silent reset associate\n");
ieee->is_silent_reset = 0; ieee->is_silent_reset = 0;
} }
...@@ -2005,7 +2005,7 @@ static short rtllib_sta_ps_sleep(struct rtllib_device *ieee, u64 *time) ...@@ -2005,7 +2005,7 @@ static short rtllib_sta_ps_sleep(struct rtllib_device *ieee, u64 *time)
return 0; return 0;
if (time) { if (time) {
if (ieee->bAwakePktSent == true) { if (ieee->bAwakePktSent) {
pPSC->LPSAwakeIntvl = 1; pPSC->LPSAwakeIntvl = 1;
} else { } else {
u8 MaxPeriod = 1; u8 MaxPeriod = 1;
...@@ -2338,8 +2338,7 @@ inline int rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb, ...@@ -2338,8 +2338,7 @@ inline int rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb,
} }
if (ieee->current_network.mode == if (ieee->current_network.mode ==
IEEE_N_24G && IEEE_N_24G && bHalfSupportNmode) {
bHalfSupportNmode == true) {
printk(KERN_INFO "======>enter " printk(KERN_INFO "======>enter "
"half N mode\n"); "half N mode\n");
ieee->bHalfWirelessN24GMode = ieee->bHalfWirelessN24GMode =
......
...@@ -908,7 +908,7 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev) ...@@ -908,7 +908,7 @@ int rtllib_xmit_inter(struct sk_buff *skb, struct net_device *dev)
tcb_desc->data_rate = CURRENT_RATE(ieee->mode, tcb_desc->data_rate = CURRENT_RATE(ieee->mode,
ieee->rate, ieee->HTCurrentOperaRate); ieee->rate, ieee->HTCurrentOperaRate);
if (bdhcp == true) { if (bdhcp) {
if (ieee->pHTInfo->IOTAction & if (ieee->pHTInfo->IOTAction &
HT_IOT_ACT_WA_IOT_Broadcom) { HT_IOT_ACT_WA_IOT_Broadcom) {
tcb_desc->data_rate = tcb_desc->data_rate =
......
...@@ -753,7 +753,7 @@ int rtllib_wx_set_mlme(struct rtllib_device *ieee, ...@@ -753,7 +753,7 @@ int rtllib_wx_set_mlme(struct rtllib_device *ieee,
/* leave break out intentionly */ /* leave break out intentionly */
case IW_MLME_DISASSOC: case IW_MLME_DISASSOC:
if (deauth == true) if (deauth)
printk(KERN_INFO "disauth packet !\n"); printk(KERN_INFO "disauth packet !\n");
else else
printk(KERN_INFO "dis associate packet!\n"); printk(KERN_INFO "dis associate packet!\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment