[PATCH 14/16] staging: rtl8192e: Remove _rtl92e_fw_download_code()

Mateusz Kulikowski mateusz.kulikowski at gmail.com
Mon Oct 19 20:00:28 UTC 2015


Reuse  rtl92e_send_cmd_pkt() instead.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski at gmail.com>
---
 .../staging/rtl8192e/rtl8192e/r8192E_firmware.c    | 56 ++--------------------
 1 file changed, 3 insertions(+), 53 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
index 7c7c195..cbd23c0 100644
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c
@@ -17,6 +17,7 @@
 #include "r8192E_hw.h"
 #include "r8192E_hwimg.h"
 #include "r8192E_firmware.h"
+#include "r8192E_cmdpkt.h"
 #include <linux/firmware.h>
 
 static bool _rtl92e_wait_for_fw(struct net_device *dev, u32 mask, u32 timeout)
@@ -31,57 +32,6 @@ static bool _rtl92e_wait_for_fw(struct net_device *dev, u32 mask, u32 timeout)
 	return false;
 }
 
-static bool _rtl92e_fw_download_code(struct net_device *dev,
-				     u8 *code_virtual_address, u32 buffer_len)
-{
-	struct r8192_priv *priv = rtllib_priv(dev);
-	u16		    frag_length, frag_offset = 0;
-	struct sk_buff	    *skb;
-	struct cb_desc *tcb_desc;
-	u8                  bLastIniPkt;
-
-	do {
-		if ((buffer_len - frag_offset) > CMDPACKET_FRAG_SIZE) {
-			frag_length = CMDPACKET_FRAG_SIZE;
-			bLastIniPkt = 0;
-
-		} else {
-			frag_length = buffer_len - frag_offset;
-			bLastIniPkt = 1;
-
-		}
-
-		skb  = dev_alloc_skb(frag_length + 4);
-		memcpy((unsigned char *)(skb->cb), &dev, sizeof(dev));
-		tcb_desc = (struct cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
-		tcb_desc->queue_index = TXCMD_QUEUE;
-		tcb_desc->bCmdOrInit = DESC_PACKET_TYPE_INIT;
-		tcb_desc->bLastIniPkt = bLastIniPkt;
-		tcb_desc->txbuf_size = (u16)frag_length;
-		memcpy(skb->data, code_virtual_address, frag_length);
-		skb_put(skb, frag_length);
-
-		if (!priv->rtllib->check_nic_enough_desc(dev, tcb_desc->queue_index) ||
-		    (!skb_queue_empty(&priv->rtllib->skb_waitQ[tcb_desc->queue_index])) ||
-		    (priv->rtllib->queue_stop)) {
-			RT_TRACE(COMP_FIRMWARE,
-				 "===================> tx full!\n");
-			skb_queue_tail(&priv->rtllib->skb_waitQ
-					[tcb_desc->queue_index], skb);
-		} else {
-		priv->rtllib->softmac_hard_start_xmit(skb, dev);
-		}
-
-		code_virtual_address += frag_length;
-		frag_offset += frag_length;
-
-	} while (frag_offset < buffer_len);
-
-	rtl92e_writeb(dev, TPPoll, TPPoll_CQ);
-
-	return true;
-}
-
 static bool _rtl92e_fw_boot_cpu(struct net_device *dev)
 {
 	u32		CPU_status = 0;
@@ -241,8 +191,8 @@ bool rtl92e_init_fw(struct net_device *dev)
 		mapped_file = pfirmware->blobs[i].data;
 		file_length = pfirmware->blobs[i].size;
 
-		rt_status = _rtl92e_fw_download_code(dev, mapped_file,
-						     file_length);
+		rt_status = rtl92e_send_cmd_pkt(dev, DESC_PACKET_TYPE_INIT,
+						mapped_file, file_length);
 		if (!rt_status)
 			goto download_firmware_fail;
 
-- 
2.1.4



More information about the devel mailing list