linux/drivers/staging/rtl8188eu/core/rtw_sreset.c
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or modify it
   6 * under the terms of version 2 of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but WITHOUT
  10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12 * more details.
  13 *
  14 ******************************************************************************/
  15
  16#include <rtw_sreset.h>
  17#include <usb_ops_linux.h>
  18
  19void rtw_hal_sreset_init(struct adapter *padapter)
  20{
  21        struct sreset_priv *psrtpriv = &padapter->HalData->srestpriv;
  22
  23        psrtpriv->Wifi_Error_Status = WIFI_STATUS_SUCCESS;
  24}
  25
  26u8 sreset_get_wifi_status(struct adapter *padapter)
  27{
  28        struct sreset_priv *psrtpriv = &padapter->HalData->srestpriv;
  29
  30        u8 status = WIFI_STATUS_SUCCESS;
  31        u32 val32 = 0;
  32
  33        val32 = usb_read32(padapter, REG_TXDMA_STATUS);
  34        if (val32 == 0xeaeaeaea) {
  35                psrtpriv->Wifi_Error_Status = WIFI_IF_NOT_EXIST;
  36        } else if (val32 != 0) {
  37                DBG_88E("txdmastatu(%x)\n", val32);
  38                psrtpriv->Wifi_Error_Status = WIFI_MAC_TXDMA_ERROR;
  39        }
  40
  41        if (WIFI_STATUS_SUCCESS != psrtpriv->Wifi_Error_Status) {
  42                DBG_88E("==>%s error_status(0x%x)\n", __func__, psrtpriv->Wifi_Error_Status);
  43                status = psrtpriv->Wifi_Error_Status & (~(USB_READ_PORT_FAIL|USB_WRITE_PORT_FAIL));
  44        }
  45        DBG_88E("==> %s wifi_status(0x%x)\n", __func__, status);
  46
  47        /* status restore */
  48        psrtpriv->Wifi_Error_Status = WIFI_STATUS_SUCCESS;
  49
  50        return status;
  51}
  52
  53void sreset_set_wifi_error_status(struct adapter *padapter, u32 status)
  54{
  55        padapter->HalData->srestpriv.Wifi_Error_Status = status;
  56}
  57