Staging: rtl8192e: remove unused functions
This removes a number of unused functions. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
@@ -856,25 +856,6 @@ static void rtl8192_proc_init_one(struct net_device *dev)
|
|||||||
-----------------------------MISC STUFF-------------------------
|
-----------------------------MISC STUFF-------------------------
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
/* this is only for debugging */
|
|
||||||
static void print_buffer(u32 *buffer, int len)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
u8 *buf =(u8*)buffer;
|
|
||||||
|
|
||||||
printk("ASCII BUFFER DUMP (len: %x):\n",len);
|
|
||||||
|
|
||||||
for(i=0;i<len;i++)
|
|
||||||
printk("%c",buf[i]);
|
|
||||||
|
|
||||||
printk("\nBINARY BUFFER DUMP (len: %x):\n",len);
|
|
||||||
|
|
||||||
for(i=0;i<len;i++)
|
|
||||||
printk("%x",buf[i]);
|
|
||||||
|
|
||||||
printk("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
short check_nic_enough_desc(struct net_device *dev, int prio)
|
short check_nic_enough_desc(struct net_device *dev, int prio)
|
||||||
{
|
{
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||||
@@ -904,32 +885,6 @@ static void tx_timeout(struct net_device *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* this is only for debug */
|
|
||||||
static void dump_eprom(struct net_device *dev)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for(i=0; i<0xff; i++)
|
|
||||||
RT_TRACE(COMP_INIT, "EEPROM addr %x : %x", i, eprom_read(dev,i));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* this is only for debug */
|
|
||||||
static void rtl8192_dump_reg(struct net_device *dev)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int n;
|
|
||||||
int max=0x5ff;
|
|
||||||
|
|
||||||
RT_TRACE(COMP_INIT, "Dumping NIC register map");
|
|
||||||
|
|
||||||
for(n=0;n<=max;)
|
|
||||||
{
|
|
||||||
printk( "\nD: %2x> ", n);
|
|
||||||
for(i=0;i<16 && n<=max;i++,n++)
|
|
||||||
printk("%2x ",read_nic_byte(dev,n));
|
|
||||||
}
|
|
||||||
printk("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
------------------------------HW STUFF---------------------------
|
------------------------------HW STUFF---------------------------
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
@@ -1164,27 +1119,6 @@ inline u16 rtl8192_rate2rate(short rate)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
static u32 rtl819xusb_rx_command_packet(struct net_device *dev, struct ieee80211_rx_stats *pstats)
|
|
||||||
{
|
|
||||||
u32 status;
|
|
||||||
|
|
||||||
//RT_TRACE(COMP_RECV, DBG_TRACE, ("---> RxCommandPacketHandle819xUsb()\n"));
|
|
||||||
|
|
||||||
RT_TRACE(COMP_EVENTS, "---->rtl819xusb_rx_command_packet()\n");
|
|
||||||
status = cmpk_message_handle_rx(dev, pstats);
|
|
||||||
if (status)
|
|
||||||
{
|
|
||||||
DMESG("rxcommandpackethandle819xusb: It is a command packet\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//RT_TRACE(COMP_RECV, DBG_TRACE, ("RxCommandPacketHandle819xUsb: It is not a command packet\n"));
|
|
||||||
}
|
|
||||||
|
|
||||||
//RT_TRACE(COMP_RECV, DBG_TRACE, ("<--- RxCommandPacketHandle819xUsb()\n"));
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
void rtl8192_tx_queues_stop(struct net_device *dev)
|
void rtl8192_tx_queues_stop(struct net_device *dev)
|
||||||
{
|
{
|
||||||
@@ -1483,141 +1417,6 @@ static void rtl8192_net_update(struct net_device *dev)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline u8 rtl8192_IsWirelessBMode(u16 rate)
|
|
||||||
{
|
|
||||||
if( ((rate <= 110) && (rate != 60) && (rate != 90)) || (rate == 220) )
|
|
||||||
return 1;
|
|
||||||
else return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
u16 N_DBPSOfRate(u16 DataRate);
|
|
||||||
|
|
||||||
static u16 ComputeTxTime(
|
|
||||||
u16 FrameLength,
|
|
||||||
u16 DataRate,
|
|
||||||
u8 bManagementFrame,
|
|
||||||
u8 bShortPreamble
|
|
||||||
)
|
|
||||||
{
|
|
||||||
u16 FrameTime;
|
|
||||||
u16 N_DBPS;
|
|
||||||
u16 Ceiling;
|
|
||||||
|
|
||||||
if( rtl8192_IsWirelessBMode(DataRate) )
|
|
||||||
{
|
|
||||||
if( bManagementFrame || !bShortPreamble || DataRate == 10 )
|
|
||||||
{ // long preamble
|
|
||||||
FrameTime = (u16)(144+48+(FrameLength*8/(DataRate/10)));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // Short preamble
|
|
||||||
FrameTime = (u16)(72+24+(FrameLength*8/(DataRate/10)));
|
|
||||||
}
|
|
||||||
if( ( FrameLength*8 % (DataRate/10) ) != 0 ) //Get the Ceilling
|
|
||||||
FrameTime ++;
|
|
||||||
} else { //802.11g DSSS-OFDM PLCP length field calculation.
|
|
||||||
N_DBPS = N_DBPSOfRate(DataRate);
|
|
||||||
Ceiling = (16 + 8*FrameLength + 6) / N_DBPS
|
|
||||||
+ (((16 + 8*FrameLength + 6) % N_DBPS) ? 1 : 0);
|
|
||||||
FrameTime = (u16)(16 + 4 + 4*Ceiling + 6);
|
|
||||||
}
|
|
||||||
return FrameTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
u16 N_DBPSOfRate(u16 DataRate)
|
|
||||||
{
|
|
||||||
u16 N_DBPS = 24;
|
|
||||||
|
|
||||||
switch(DataRate)
|
|
||||||
{
|
|
||||||
case 60:
|
|
||||||
N_DBPS = 24;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 90:
|
|
||||||
N_DBPS = 36;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 120:
|
|
||||||
N_DBPS = 48;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 180:
|
|
||||||
N_DBPS = 72;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 240:
|
|
||||||
N_DBPS = 96;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 360:
|
|
||||||
N_DBPS = 144;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 480:
|
|
||||||
N_DBPS = 192;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 540:
|
|
||||||
N_DBPS = 216;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return N_DBPS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static unsigned int txqueue2outpipe(unsigned int tx_queue)
|
|
||||||
{
|
|
||||||
unsigned int outpipe = 0x04;
|
|
||||||
|
|
||||||
switch (tx_queue) {
|
|
||||||
case VO_QUEUE://EP4
|
|
||||||
outpipe = 0x04;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VI_QUEUE://EP5
|
|
||||||
outpipe = 0x05;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case BE_QUEUE://EP6
|
|
||||||
outpipe = 0x06;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case BK_QUEUE://EP7
|
|
||||||
outpipe = 0x07;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case HCCA_QUEUE://EP8
|
|
||||||
outpipe = 0x08;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case BEACON_QUEUE://EPA
|
|
||||||
outpipe = 0x0A;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case HIGH_QUEUE://EPB
|
|
||||||
outpipe = 0x0B;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MGNT_QUEUE://EPC
|
|
||||||
outpipe = 0x0C;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TXCMD_QUEUE://EPD
|
|
||||||
outpipe = 0x0D;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
printk("Unknow queue index!\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return outpipe;
|
|
||||||
}
|
|
||||||
|
|
||||||
void rtl819xE_tx_cmd(struct net_device *dev, struct sk_buff *skb)
|
void rtl819xE_tx_cmd(struct net_device *dev, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||||
@@ -3528,10 +3327,6 @@ static short rtl8192_init(struct net_device *dev)
|
|||||||
|
|
||||||
//rtl8192_rx_enable(dev);
|
//rtl8192_rx_enable(dev);
|
||||||
//rtl8192_adapter_start(dev);
|
//rtl8192_adapter_start(dev);
|
||||||
//#ifdef DEBUG_EPROM
|
|
||||||
// dump_eprom(dev);
|
|
||||||
//#endif
|
|
||||||
//rtl8192_dump_reg(dev);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3707,7 +3502,6 @@ static RT_STATUS rtl8192_adapter_start(struct net_device *dev)
|
|||||||
//3//
|
//3//
|
||||||
//3// Initialize BB before MAC
|
//3// Initialize BB before MAC
|
||||||
//3//
|
//3//
|
||||||
//rtl8192_dump_reg(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 != RT_STATUS_SUCCESS)
|
if(rtStatus != RT_STATUS_SUCCESS)
|
||||||
@@ -3717,8 +3511,6 @@ static RT_STATUS rtl8192_adapter_start(struct net_device *dev)
|
|||||||
}
|
}
|
||||||
RT_TRACE(COMP_INIT,"BB Config Finished!\n");
|
RT_TRACE(COMP_INIT,"BB Config Finished!\n");
|
||||||
|
|
||||||
//rtl8192_dump_reg(dev);
|
|
||||||
//
|
|
||||||
//3//Set Loopback mode or Normal mode
|
//3//Set Loopback mode or Normal mode
|
||||||
//3//
|
//3//
|
||||||
//2006.12.13 by emily. Note!We should not merge these two CPU_GEN register writings
|
//2006.12.13 by emily. Note!We should not merge these two CPU_GEN register writings
|
||||||
@@ -4790,46 +4582,6 @@ IPSLeave(struct net_device *dev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
static void CAM_read_entry(
|
|
||||||
struct net_device *dev,
|
|
||||||
u32 iIndex
|
|
||||||
)
|
|
||||||
{
|
|
||||||
u32 target_command=0;
|
|
||||||
u32 target_content=0;
|
|
||||||
u8 entry_i=0;
|
|
||||||
u32 ulStatus;
|
|
||||||
s32 i=100;
|
|
||||||
// printk("=======>start read CAM\n");
|
|
||||||
for(entry_i=0;entry_i<CAM_CONTENT_COUNT;entry_i++)
|
|
||||||
{
|
|
||||||
// polling bit, and No Write enable, and address
|
|
||||||
target_command= entry_i+CAM_CONTENT_COUNT*iIndex;
|
|
||||||
target_command= target_command | BIT31;
|
|
||||||
|
|
||||||
//Check polling bit is clear
|
|
||||||
// mdelay(1);
|
|
||||||
#if 1
|
|
||||||
while((i--)>=0)
|
|
||||||
{
|
|
||||||
ulStatus = read_nic_dword(dev, RWCAM);
|
|
||||||
if(ulStatus & BIT31){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
write_nic_dword(dev, RWCAM, target_command);
|
|
||||||
RT_TRACE(COMP_SEC,"CAM_read_entry(): WRITE A0: %x \n",target_command);
|
|
||||||
// printk("CAM_read_entry(): WRITE A0: %lx \n",target_command);
|
|
||||||
target_content = read_nic_dword(dev, RCAMO);
|
|
||||||
RT_TRACE(COMP_SEC, "CAM_read_entry(): WRITE A8: %x \n",target_content);
|
|
||||||
// printk("CAM_read_entry(): WRITE A8: %lx \n",target_content);
|
|
||||||
}
|
|
||||||
printk("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void rtl819x_update_rxcounts(
|
static void rtl819x_update_rxcounts(
|
||||||
struct r8192_priv *priv,
|
struct r8192_priv *priv,
|
||||||
@@ -4932,7 +4684,6 @@ extern void rtl819x_watchdog_wqcallback(struct net_device *dev)
|
|||||||
ieee->LinkDetectInfo.NumRecvDataInPeriod=0;
|
ieee->LinkDetectInfo.NumRecvDataInPeriod=0;
|
||||||
|
|
||||||
}
|
}
|
||||||
// CAM_read_entry(dev,0);
|
|
||||||
//check if reset the driver
|
//check if reset the driver
|
||||||
spin_lock_irqsave(&priv->tx_lock,flags);
|
spin_lock_irqsave(&priv->tx_lock,flags);
|
||||||
if(check_reset_cnt++ >= 3 && !ieee->is_roaming && (last_time != 1))
|
if(check_reset_cnt++ >= 3 && !ieee->is_roaming && (last_time != 1))
|
||||||
@@ -7155,7 +6906,6 @@ void setKey( struct net_device *dev,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
RT_TRACE(COMP_SEC,"=========>after set key, usconfig:%x\n", usConfig);
|
RT_TRACE(COMP_SEC,"=========>after set key, usconfig:%x\n", usConfig);
|
||||||
// CAM_read_entry(dev, 0);
|
|
||||||
}
|
}
|
||||||
// This function seems not ready! WB
|
// This function seems not ready! WB
|
||||||
void CamPrintDbgReg(struct net_device* dev)
|
void CamPrintDbgReg(struct net_device* dev)
|
||||||
|
@@ -2082,113 +2082,6 @@ void dm_change_dynamic_initgain_thresh(struct net_device *dev, u32 dm_type, u32
|
|||||||
}
|
}
|
||||||
} /* DM_ChangeDynamicInitGainThresh */
|
} /* DM_ChangeDynamicInitGainThresh */
|
||||||
|
|
||||||
static void dm_change_fsync_setting(struct net_device *dev, s32 DM_Type, s32 DM_Value)
|
|
||||||
{
|
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
|
||||||
|
|
||||||
if (DM_Type == 0) // monitor 0xc38 register
|
|
||||||
{
|
|
||||||
if(DM_Value > 1)
|
|
||||||
DM_Value = 1;
|
|
||||||
priv->framesyncMonitor = (u8)DM_Value;
|
|
||||||
//DbgPrint("pHalData->framesyncMonitor = %d", pHalData->framesyncMonitor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void dm_change_rxpath_selection_setting(struct net_device *dev, s32 DM_Type, s32 DM_Value)
|
|
||||||
{
|
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
|
||||||
prate_adaptive pRA = (prate_adaptive)&(priv->rate_adaptive);
|
|
||||||
|
|
||||||
|
|
||||||
if(DM_Type == 0)
|
|
||||||
{
|
|
||||||
if(DM_Value > 1)
|
|
||||||
DM_Value = 1;
|
|
||||||
DM_RxPathSelTable.Enable = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 1)
|
|
||||||
{
|
|
||||||
if(DM_Value > 1)
|
|
||||||
DM_Value = 1;
|
|
||||||
DM_RxPathSelTable.DbgMode = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 2)
|
|
||||||
{
|
|
||||||
if(DM_Value > 40)
|
|
||||||
DM_Value = 40;
|
|
||||||
DM_RxPathSelTable.SS_TH_low = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 3)
|
|
||||||
{
|
|
||||||
if(DM_Value > 25)
|
|
||||||
DM_Value = 25;
|
|
||||||
DM_RxPathSelTable.diff_TH = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 4)
|
|
||||||
{
|
|
||||||
if(DM_Value >= CCK_Rx_Version_MAX)
|
|
||||||
DM_Value = CCK_Rx_Version_1;
|
|
||||||
DM_RxPathSelTable.cck_method= (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 10)
|
|
||||||
{
|
|
||||||
if(DM_Value > 100)
|
|
||||||
DM_Value = 50;
|
|
||||||
DM_RxPathSelTable.rf_rssi[0] = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 11)
|
|
||||||
{
|
|
||||||
if(DM_Value > 100)
|
|
||||||
DM_Value = 50;
|
|
||||||
DM_RxPathSelTable.rf_rssi[1] = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 12)
|
|
||||||
{
|
|
||||||
if(DM_Value > 100)
|
|
||||||
DM_Value = 50;
|
|
||||||
DM_RxPathSelTable.rf_rssi[2] = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 13)
|
|
||||||
{
|
|
||||||
if(DM_Value > 100)
|
|
||||||
DM_Value = 50;
|
|
||||||
DM_RxPathSelTable.rf_rssi[3] = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 20)
|
|
||||||
{
|
|
||||||
if(DM_Value > 1)
|
|
||||||
DM_Value = 1;
|
|
||||||
pRA->ping_rssi_enable = (u8)DM_Value;
|
|
||||||
}
|
|
||||||
else if(DM_Type == 21)
|
|
||||||
{
|
|
||||||
if(DM_Value > 30)
|
|
||||||
DM_Value = 30;
|
|
||||||
pRA->ping_rssi_thresh_for_ra = DM_Value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
void dm_force_tx_fw_info(struct net_device *dev, u32 force_type, u32 force_value)
|
|
||||||
{
|
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
|
||||||
|
|
||||||
if (force_type == 0) // don't force TxSC
|
|
||||||
{
|
|
||||||
//DbgPrint("Set Force SubCarrier Off\n");
|
|
||||||
priv->tx_fwinfo_force_subcarriermode = 0;
|
|
||||||
}
|
|
||||||
else if(force_type == 1) //force
|
|
||||||
{
|
|
||||||
//DbgPrint("Set Force SubCarrier On\n");
|
|
||||||
priv->tx_fwinfo_force_subcarriermode = 1;
|
|
||||||
if(force_value > 3)
|
|
||||||
force_value = 3;
|
|
||||||
priv->tx_fwinfo_force_subcarrierval = (u8)force_value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------------
|
/*-----------------------------------------------------------------------------
|
||||||
* Function: dm_dig_init()
|
* Function: dm_dig_init()
|
||||||
@@ -2941,26 +2834,6 @@ dm_CheckEdcaTurbo_EXIT:
|
|||||||
} // dm_CheckEdcaTurbo
|
} // dm_CheckEdcaTurbo
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void DM_CTSToSelfSetting(struct net_device *dev, u32 DM_Type, u32 DM_Value)
|
|
||||||
{
|
|
||||||
struct r8192_priv *priv = ieee80211_priv((struct net_device *)dev);
|
|
||||||
|
|
||||||
if (DM_Type == 0) // CTS to self disable/enable
|
|
||||||
{
|
|
||||||
if(DM_Value > 1)
|
|
||||||
DM_Value = 1;
|
|
||||||
priv->ieee80211->bCTSToSelfEnable = (bool)DM_Value;
|
|
||||||
//DbgPrint("pMgntInfo->bCTSToSelfEnable = %d\n", pMgntInfo->bCTSToSelfEnable);
|
|
||||||
}
|
|
||||||
else if(DM_Type == 1) //CTS to self Th
|
|
||||||
{
|
|
||||||
if(DM_Value >= 50)
|
|
||||||
DM_Value = 50;
|
|
||||||
priv->ieee80211->CTSToSelfTH = (u8)DM_Value;
|
|
||||||
//DbgPrint("pMgntInfo->CTSToSelfTH = %d\n", pMgntInfo->CTSToSelfTH);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void dm_init_ctstoself(struct net_device * dev)
|
static void dm_init_ctstoself(struct net_device * dev)
|
||||||
{
|
{
|
||||||
struct r8192_priv *priv = ieee80211_priv((struct net_device *)dev);
|
struct r8192_priv *priv = ieee80211_priv((struct net_device *)dev);
|
||||||
|
@@ -107,45 +107,6 @@ cmdsend_downloadcode_fail:
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
|
||||||
fwSendNullPacket(
|
|
||||||
struct net_device *dev,
|
|
||||||
u32 Length
|
|
||||||
)
|
|
||||||
{
|
|
||||||
bool rtStatus = true;
|
|
||||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
|
||||||
struct sk_buff *skb;
|
|
||||||
cb_desc *tcb_desc;
|
|
||||||
unsigned char *ptr_buf;
|
|
||||||
bool bLastInitPacket = false;
|
|
||||||
|
|
||||||
//PlatformAcquireSpinLock(Adapter, RT_TX_SPINLOCK);
|
|
||||||
|
|
||||||
//Get TCB and local buffer from common pool. (It is shared by CmdQ, MgntQ, and USB coalesce DataQ)
|
|
||||||
skb = dev_alloc_skb(Length+ 4);
|
|
||||||
memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev));
|
|
||||||
tcb_desc = (cb_desc*)(skb->cb + MAX_DEV_ADDR_SIZE);
|
|
||||||
tcb_desc->queue_index = TXCMD_QUEUE;
|
|
||||||
tcb_desc->bCmdOrInit = DESC_PACKET_TYPE_INIT;
|
|
||||||
tcb_desc->bLastIniPkt = bLastInitPacket;
|
|
||||||
ptr_buf = skb_put(skb, Length);
|
|
||||||
memset(ptr_buf,0,Length);
|
|
||||||
tcb_desc->txbuf_size= (u16)Length;
|
|
||||||
|
|
||||||
if(!priv->ieee80211->check_nic_enough_desc(dev,tcb_desc->queue_index)||
|
|
||||||
(!skb_queue_empty(&priv->ieee80211->skb_waitQ[tcb_desc->queue_index]))||\
|
|
||||||
(priv->ieee80211->queue_stop) ) {
|
|
||||||
RT_TRACE(COMP_FIRMWARE,"===================NULL packet==================================> tx full!\n");
|
|
||||||
skb_queue_tail(&priv->ieee80211->skb_waitQ[tcb_desc->queue_index], skb);
|
|
||||||
} else {
|
|
||||||
priv->ieee80211->softmac_hard_start_xmit(skb,dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
//PlatformReleaseSpinLock(Adapter, RT_TX_SPINLOCK);
|
|
||||||
return rtStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Procedure: Check whether main code is download OK. If OK, turn on CPU
|
// Procedure: Check whether main code is download OK. If OK, turn on CPU
|
||||||
//
|
//
|
||||||
@@ -396,15 +357,6 @@ bool init_firmware(struct net_device *dev)
|
|||||||
* will set polling bit when firmware code is also configured
|
* will set polling bit when firmware code is also configured
|
||||||
*/
|
*/
|
||||||
pfirmware->firmware_status = FW_STATUS_1_MOVE_BOOT_CODE;
|
pfirmware->firmware_status = FW_STATUS_1_MOVE_BOOT_CODE;
|
||||||
#ifdef RTL8190P
|
|
||||||
// To initialize IMEM, CPU move code from 0x80000080, hence, we send 0x80 byte packet
|
|
||||||
rt_status = fwSendNullPacket(dev, RTL8190_CPU_START_OFFSET);
|
|
||||||
if(rt_status != true)
|
|
||||||
{
|
|
||||||
RT_TRACE(COMP_INIT, "fwSendNullPacket() fail ! \n");
|
|
||||||
goto download_firmware_fail;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
//mdelay(1000);
|
//mdelay(1000);
|
||||||
/*
|
/*
|
||||||
* To initialize IMEM, CPU move code from 0x80000080,
|
* To initialize IMEM, CPU move code from 0x80000080,
|
||||||
|
Reference in New Issue
Block a user