Changes of the local variable value and
modification in the seletive repetition structure.

Signed-off-by: Camylla Goncalves Cantanheide <c.cantanhe...@gmail.com>
---
 drivers/staging/rtl8192u/r8192U_core.c | 52 ++++++++++++--------------
 1 file changed, 24 insertions(+), 28 deletions(-)

diff --git a/drivers/staging/rtl8192u/r8192U_core.c 
b/drivers/staging/rtl8192u/r8192U_core.c
index 9b8d85a4855d..87c02aee3854 100644
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -4880,7 +4880,7 @@ void EnableHWSecurityConfig8192(struct net_device *dev)
 void setKey(struct net_device *dev, u8 entryno, u8 keyindex, u16 keytype,
            u8 *macaddr, u8 defaultkey, u32 *keycontent)
 {
-       u32 target_command = 0;
+       u32 target_command = CAM_CONTENT_COUNT * entryno |  BIT(31) | BIT(16);
        u32 target_content = 0;
        u16 us_config = 0;
        u8 i;
@@ -4890,39 +4890,35 @@ void setKey(struct net_device *dev, u8 entryno, u8 
keyindex, u16 keytype,
 
        RT_TRACE(COMP_SEC,
                 "====>to %s, dev:%p, EntryNo:%d, KeyIndex:%d, KeyType:%d, 
MacAddr%pM\n",
-                __func__, dev, entryno, keyindex, keytype, macaddr);
+                __func__, dev, entryno, keyindex, keytype, macaddr);
 
        if (defaultkey)
                us_config |= BIT(15) | (keytype << 2);
        else
                us_config |= BIT(15) | (keytype << 2) | keyindex;
 
-       for (i = 0; i < CAM_CONTENT_COUNT; i++) {
-               target_command  = i + CAM_CONTENT_COUNT * entryno;
-               target_command |= BIT(31) | BIT(16);
-
-               if (i == 0) { /* MAC|Config */
-                       target_content = (u32)(*(macaddr + 0)) << 16 |
-                                       (u32)(*(macaddr + 1)) << 24 |
-                                       (u32)us_config;
-
-                       write_nic_dword(dev, WCAMI, target_content);
-                       write_nic_dword(dev, RWCAM, target_command);
-               } else if (i == 1) { /* MAC */
-                       target_content = (u32)(*(macaddr + 2))   |
-                                       (u32)(*(macaddr + 3)) <<  8 |
-                                       (u32)(*(macaddr + 4)) << 16 |
-                                       (u32)(*(macaddr + 5)) << 24;
-                       write_nic_dword(dev, WCAMI, target_content);
-                       write_nic_dword(dev, RWCAM, target_command);
-               } else {
-                       /* Key Material */
-                       if (keycontent) {
-                               write_nic_dword(dev, WCAMI,
-                                               *(keycontent + i - 2));
-                               write_nic_dword(dev, RWCAM, target_command);
-                       }
-               }
+       target_content = macaddr[0] << 16 |
+                        macaddr[0] << 24 |
+                       (u32)us_config;
+
+       write_nic_dword(dev, WCAMI, target_content);
+       write_nic_dword(dev, RWCAM, target_command++);
+
+       /* MAC */
+       target_content = macaddr[2]       |
+                        macaddr[3] <<  8 |
+                        macaddr[4] << 16 |
+                        macaddr[5] << 24;
+       write_nic_dword(dev, WCAMI, target_content);
+       write_nic_dword(dev, RWCAM, target_command++);
+
+       /* Key Material */
+       if (!keycontent)
+               return;
+
+       for (i = 2; i < CAM_CONTENT_COUNT; i++) {
+               write_nic_dword(dev, WCAMI, *keycontent++);
+               write_nic_dword(dev, RWCAM, target_command++);
        }
 }
 
-- 
2.20.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to