)\r
{\r
_adapter *padapter = pLed->padapter;\r
- EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);\r
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter);\r
struct led_priv *ledpriv = &(padapter->ledpriv);\r
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);\r
PLED_USB pLed1 = &(ledpriv->SwLed1);\r
u8 bStopBlinking = _FALSE;\r
\r
u32 uLedBlinkNoLinkInterval = LED_BLINK_NO_LINK_INTERVAL_ALPHA; //add by ylb 20121012 for customer led for alpha\r
- if(pEEPROM->CustomerID == RT_CID_819x_ALPHA_Dlink)\r
+ if(pHalData->CustomerID == RT_CID_819x_ALPHA_Dlink)\r
uLedBlinkNoLinkInterval= LED_BLINK_NO_LINK_INTERVAL_ALPHA_500MS;\r
\r
- if(pEEPROM->CustomerID == RT_CID_819x_CAMEO)\r
+ if(pHalData->CustomerID == RT_CID_819x_CAMEO)\r
pLed = &(ledpriv->SwLed1);\r
\r
// Change LED according to BlinkingLedState specified.\r
}\r
\r
\r
- if(pEEPROM->CustomerID == RT_CID_DEFAULT)\r
+ if(pHalData->CustomerID == RT_CID_DEFAULT)\r
{\r
if(check_fwstate(pmlmepriv, _FW_LINKED)== _TRUE)\r
{\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(padapter))\r
- {\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- pLed->CurrLedState = LED_BLINK_ALWAYS_ON;\r
- }\r
+ \r
+ if( pLed->bLedOn )\r
+ pLed->BlinkingLedState = RTW_LED_OFF;\r
else\r
- {\r
- if( pLed->bLedOn )\r
- pLed->BlinkingLedState = RTW_LED_OFF;\r
- else\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- }\r
+ pLed->BlinkingLedState = RTW_LED_ON;\r
+ \r
_set_timer(&(pLed->BlinkTimer), LED_BLINK_FASTER_INTERVAL_ALPHA);\r
}\r
}\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(padapter))\r
- {\r
- pLed->BlinkingLedState = RTW_LED_ON; \r
- pLed->CurrLedState = LED_BLINK_ALWAYS_ON;\r
- }\r
+ pLed->bLedNoLinkBlinkInProgress = _TRUE;\r
+ pLed->CurrLedState = LED_BLINK_SLOWLY;\r
+ if( pLed->bLedOn )\r
+ pLed->BlinkingLedState = RTW_LED_OFF;\r
else\r
- {\r
- pLed->bLedNoLinkBlinkInProgress = _TRUE;\r
- pLed->CurrLedState = LED_BLINK_SLOWLY;\r
- if( pLed->bLedOn )\r
- pLed->BlinkingLedState = RTW_LED_OFF;\r
- else\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- }\r
+ pLed->BlinkingLedState = RTW_LED_ON;\r
+ \r
_set_timer(&(pLed->BlinkTimer), LED_BLINK_NO_LINK_INTERVAL_ALPHA);\r
}\r
pLed->bLedBlinkInProgress = _FALSE;\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(padapter))\r
- {\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- }\r
+ if( pLed->bLedOn )\r
+ pLed->BlinkingLedState = RTW_LED_OFF;\r
else\r
- {\r
- if( pLed->bLedOn )\r
- pLed->BlinkingLedState = RTW_LED_OFF;\r
- else\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- }\r
+ pLed->BlinkingLedState = RTW_LED_ON;\r
+ \r
_set_timer(&(pLed->BlinkTimer), LED_BLINK_FASTER_INTERVAL_ALPHA);\r
}\r
}\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(Adapter))\r
- {\r
- pLed->BlinkingLedState = RTW_LED_ON; \r
- pLed->CurrLedState = LED_BLINK_ALWAYS_ON;\r
- }\r
+ if( pLed->bLedOn )\r
+ pLed->BlinkingLedState = RTW_LED_OFF; \r
else\r
- {\r
- if( pLed->bLedOn )\r
- pLed->BlinkingLedState = RTW_LED_OFF; \r
- else\r
- pLed->BlinkingLedState = RTW_LED_ON; \r
- }\r
+ pLed->BlinkingLedState = RTW_LED_ON; \r
+ \r
_set_timer(&(pLed->BlinkTimer), LED_BLINK_FASTER_INTERVAL_ALPHA);\r
}\r
}\r
}\r
else \r
{\r
- if(IS_HARDWARE_TYPE_8192DU(Adapter) || IS_HARDWARE_TYPE_8812AU(Adapter))\r
+ if(IS_HARDWARE_TYPE_8812AU(Adapter))\r
{\r
pLed->BlinkingLedState = RTW_LED_ON; \r
pLed->CurrLedState = LED_BLINK_ALWAYS_ON;\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(Adapter) || IS_HARDWARE_TYPE_8723AU(Adapter) || IS_HARDWARE_TYPE_8812AU(Adapter))\r
+ if(IS_HARDWARE_TYPE_8812AU(Adapter))\r
{\r
pLed->BlinkingLedState = RTW_LED_ON; \r
}\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(Adapter) || IS_HARDWARE_TYPE_8812AU(Adapter))\r
+ if(IS_HARDWARE_TYPE_8812AU(Adapter))\r
{\r
pLed->BlinkingLedState = RTW_LED_ON;\r
pLed->CurrLedState = LED_BLINK_ALWAYS_ON;\r
}\r
else\r
{\r
- if(IS_HARDWARE_TYPE_8192DU(Adapter) || IS_HARDWARE_TYPE_8723AU(Adapter) || IS_HARDWARE_TYPE_8812AU(Adapter))\r
+ if(IS_HARDWARE_TYPE_8812AU(Adapter))\r
{\r
pLed->BlinkingLedState = RTW_LED_ON;\r
}\r
#ifdef CONFIG_LED_HANDLED_BY_CMD_THREAD\r
rtw_led_blink_cmd(padapter, (PVOID)pLed);\r
#else\r
- _set_workitem(&(pLed->BlinkWorkItem));\r
+ if(ATOMIC_READ(&pLed->bCancelWorkItem) == _FALSE)\r
+ _set_workitem(&(pLed->BlinkWorkItem));\r
#endif\r
}\r
\r
struct led_priv *ledpriv = &(padapter->ledpriv);\r
PLED_USB pLed = &(ledpriv->SwLed0);\r
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);\r
- EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);\r
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter);\r
\r
u32 uLedBlinkNoLinkInterval = LED_BLINK_NO_LINK_INTERVAL_ALPHA; //add by ylb 20121012 for customer led for alpha\r
- if(pEEPROM->CustomerID == RT_CID_819x_ALPHA_Dlink)\r
+ if(pHalData->CustomerID == RT_CID_819x_ALPHA_Dlink)\r
uLedBlinkNoLinkInterval= LED_BLINK_NO_LINK_INTERVAL_ALPHA_500MS; \r
\r
- if(pEEPROM->CustomerID == RT_CID_819x_CAMEO)\r
+ if(pHalData->CustomerID == RT_CID_819x_CAMEO)\r
pLed = &(ledpriv->SwLed1);\r
\r
switch(LedAction)\r
}\r
\r
pLed->bLedNoLinkBlinkInProgress = _TRUE;\r
- if(IS_HARDWARE_TYPE_8192DU(padapter))\r
- {\r
- if(LedAction == LED_CTL_LINK)\r
- {\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- pLed->CurrLedState = LED_BLINK_ALWAYS_ON;\r
- }\r
- else\r
- {\r
- pLed->CurrLedState = LED_BLINK_SLOWLY;\r
- if( pLed->bLedOn )\r
- pLed->BlinkingLedState = RTW_LED_OFF;\r
- else\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
-\r
- }\r
- }\r
+ pLed->CurrLedState = LED_BLINK_SLOWLY;\r
+ if( pLed->bLedOn )\r
+ pLed->BlinkingLedState = RTW_LED_OFF;\r
else\r
- {\r
- pLed->CurrLedState = LED_BLINK_SLOWLY;\r
- if( pLed->bLedOn )\r
- pLed->BlinkingLedState = RTW_LED_OFF;\r
- else\r
- pLed->BlinkingLedState = RTW_LED_ON;\r
- }\r
+ pLed->BlinkingLedState = RTW_LED_ON;\r
+ \r
_set_timer(&(pLed->BlinkTimer), LED_BLINK_NO_LINK_INTERVAL_ALPHA);\r
}\r
break;\r
pLed->bLedBlinkInProgress = _FALSE;\r
}\r
pLed->bLedScanBlinkInProgress = _TRUE;\r
- if(IS_HARDWARE_TYPE_8192D(padapter))\r
- pLed->CurrLedState = LED_BLINK_SLOWLY;\r
- else\r
- pLed->CurrLedState = LED_BLINK_SCAN;\r
+ pLed->CurrLedState = LED_BLINK_SCAN;\r
pLed->BlinkTimes = 24;\r
if( pLed->bLedOn )\r
pLed->BlinkingLedState = RTW_LED_OFF;\r
{\r
struct led_priv *ledpriv = &(padapter->ledpriv);\r
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;\r
- EEPROM_EFUSE_PRIV *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);\r
+ PHAL_DATA_TYPE pHalData = GET_HAL_DATA(padapter);\r
PLED_USB pLed = &(ledpriv->SwLed0);\r
\r
- if(pEEPROM->CustomerID == RT_CID_819x_CAMEO)\r
+ if(pHalData->CustomerID == RT_CID_819x_CAMEO)\r
pLed = &(ledpriv->SwLed1);\r
\r
switch(LedAction)\r
}\r
\r
pLed->bLedNoLinkBlinkInProgress = _TRUE;\r
- if(IS_HARDWARE_TYPE_8192DU(Adapter) || IS_HARDWARE_TYPE_8812AU(Adapter))\r
+ if(IS_HARDWARE_TYPE_8812AU(Adapter))\r
{\r
if(LedAction == LED_CTL_LINK)\r
{\r
pLed->bLedBlinkInProgress = _FALSE;\r
}\r
pLed->bLedScanBlinkInProgress = _TRUE;\r
- if(IS_HARDWARE_TYPE_8192D(Adapter))\r
- pLed->CurrLedState = LED_BLINK_SLOWLY;\r
- else\r
- pLed->CurrLedState = LED_BLINK_SCAN;\r
+ pLed->CurrLedState = LED_BLINK_SCAN;\r
pLed->BlinkTimes = 24;\r
if( pLed->bLedOn )\r
pLed->BlinkingLedState = RTW_LED_OFF; \r
pLed->LedPin = LedPin;\r
\r
ResetLedStatus(pLed);\r
-\r
+ ATOMIC_SET(&pLed->bCancelWorkItem, _FALSE);\r
_init_timer(&(pLed->BlinkTimer), padapter->pnetdev, BlinkTimerCallback, pLed);\r
-\r
_init_workitem(&(pLed->BlinkWorkItem), BlinkWorkItemCallback, pLed);\r
}\r
\r
PLED_USB pLed\r
)\r
{\r
+ ATOMIC_SET(&pLed->bCancelWorkItem, _TRUE);\r
_cancel_workitem_sync(&(pLed->BlinkWorkItem));\r
_cancel_timer_ex(&(pLed->BlinkTimer));\r
ResetLedStatus(pLed);\r