@@ -9034,6 +9034,7 @@ static int rtw_mp_efuse_get(struct net_device *dev,
90349034 u16 mask_len ;
90359035 u8 mask_buf [64 ] = "" ;
90369036 int err ;
9037+ size_t extra_len ;
90379038#ifdef CONFIG_IOL
90389039 u8 org_fw_iol = padapter -> registrypriv .fw_iol ;/* 0:Disable, 1:enable, 2:by usb speed */
90399040#endif
@@ -9108,18 +9109,18 @@ static int rtw_mp_efuse_get(struct net_device *dev,
91089109 } else
91099110 drvmaporder = 0 ;
91109111
9111- sprintf (extra , "\n" );
9112+ extra_len = sprintf (extra , "\n" );
91129113 for (i = 0 ; i < cnt ; i += 16 ) {
9113- sprintf (extra , "%s0x% 02x\t" , extra , shift + i );
9114+ extra_len += sprintf (extra + extra_len , "0x% 02x\t" , shift + i );
91149115 for (j = 0 ; j < 8 ; j ++ )
9115- sprintf (extra , "%s% 02X " , extra , efuse [i + j ]);
9116- sprintf (extra , "%s \t" , extra );
9116+ extra_len += sprintf (extra + extra_len , "%02X " , efuse [i + j ]);
9117+ extra_len += sprintf (extra + extra_len , "\t" );
91179118 for (; j < 16 ; j ++ )
9118- sprintf (extra , "%s% 02X " , extra , efuse [i + j ]);
9119- sprintf (extra , "%s \n" , extra );
9119+ extra_len += sprintf (extra + extra_len , "%02X " , efuse [i + j ]);
9120+ extra_len += sprintf (extra + extra_len , "\n" );
91209121 }
91219122 if ((shift + cnt ) < mapLen )
9122- sprintf (extra , "%s \t...more (left:%d/%d)\n" , extra , mapLen - (shift + cnt ), mapLen );
9123+ extra_len += sprintf (extra + extra_len , "\t...more (left:%d/%d)\n" , mapLen - (shift + cnt ), mapLen );
91239124
91249125 } else if (strcmp (tmp [0 ], "realmap" ) == 0 ) {
91259126 static u8 order = 0 ;
@@ -9158,18 +9159,18 @@ static int rtw_mp_efuse_get(struct net_device *dev,
91589159 } else
91599160 order = 0 ;
91609161
9161- sprintf (extra , "\n" );
9162+ extra_len = sprintf (extra , "\n" );
91629163 for (i = 0 ; i < cnt ; i += 16 ) {
9163- sprintf (extra , "%s0x% 02x\t" , extra , shift + i );
9164+ extra_len += sprintf (extra + extra_len , "0x% 02x\t" , shift + i );
91649165 for (j = 0 ; j < 8 ; j ++ )
9165- sprintf (extra , "%s% 02X " , extra , efuse [i + j ]);
9166- sprintf (extra , "%s \t" , extra );
9166+ extra_len += sprintf (extra + extra_len , "%02X " , efuse [i + j ]);
9167+ extra_len += sprintf (extra + extra_len , "\t" );
91679168 for (; j < 16 ; j ++ )
9168- sprintf (extra , "%s% 02X " , extra , efuse [i + j ]);
9169- sprintf (extra , "%s \n" , extra );
9169+ extra_len += sprintf (extra + extra_len , "%02X " , efuse [i + j ]);
9170+ extra_len += sprintf (extra + extra_len , "\n" );
91709171 }
91719172 if ((shift + cnt ) < mapLen )
9172- sprintf (extra , "%s \t...more (left:%d/%d)\n" , extra , mapLen - (shift + cnt ), mapLen );
9173+ extra_len += sprintf (extra + extra_len , "\t...more (left:%d/%d)\n" , mapLen - (shift + cnt ), mapLen );
91739174 } else if (strcmp (tmp [0 ], "rmap" ) == 0 ) {
91749175 if ((tmp [1 ] == NULL ) || (tmp [2 ] == NULL )) {
91759176 RTW_INFO ("%s: rmap Fail!! Parameters error!\n" , __FUNCTION__ );
@@ -9204,9 +9205,10 @@ static int rtw_mp_efuse_get(struct net_device *dev,
92049205
92059206 /* RTW_INFO("%s: data={", __FUNCTION__); */
92069207 * extra = 0 ;
9208+ extra_len = 0 ;
92079209 for (i = 0 ; i < cnts ; i ++ ) {
92089210 /* RTW_INFO("0x%02x ", data[i]); */
9209- sprintf (extra , "%s0x% 02X " , extra , data [i ]);
9211+ extra_len += sprintf (extra + extra_len , "0x% 02X " , data [i ]);
92109212 }
92119213 /* RTW_INFO("}\n"); */
92129214 } else if (strcmp (tmp [0 ], "realraw" ) == 0 ) {
@@ -9235,18 +9237,18 @@ static int rtw_mp_efuse_get(struct net_device *dev,
92359237 } else
92369238 raw_order = 0 ;
92379239
9238- sprintf (extra , "\n" );
9240+ extra_len = sprintf (extra , "\n" );
92399241 for (i = 0 ; i < cnt ; i += 16 ) {
9240- sprintf (extra , "%s0x% 02x\t" , extra , shift + i );
9242+ extra_len += sprintf (extra + extra_len , "0x% 02x\t" , shift + i );
92419243 for (j = 0 ; j < 8 ; j ++ )
9242- sprintf (extra , "%s% 02X " , extra , rawdata [i + j ]);
9243- sprintf (extra , "%s \t" , extra );
9244+ extra_len += sprintf (extra + extra_len , "%02X " , rawdata [i + j ]);
9245+ extra_len += sprintf (extra + extra_len , "\t" );
92449246 for (; j < 16 ; j ++ )
9245- sprintf (extra , "%s% 02X " , extra , rawdata [i + j ]);
9246- sprintf (extra , "%s \n" , extra );
9247+ extra_len += sprintf (extra + extra_len , "%02X " , rawdata [i + j ]);
9248+ extra_len += sprintf (extra + extra_len , "\n" );
92479249 }
92489250 if ((shift + cnt ) < mapLen )
9249- sprintf (extra , "%s \t...more (left:%d/%d)\n" , extra , mapLen - (shift + cnt ), mapLen );
9251+ extra_len += sprintf (extra + extra_len , "\t...more (left:%d/%d)\n" , mapLen - (shift + cnt ), mapLen );
92509252
92519253 } else if (strcmp (tmp [0 ], "btrealraw" ) == 0 ) {
92529254 static u8 bt_raw_order = 0 ;
@@ -9282,18 +9284,18 @@ static int rtw_mp_efuse_get(struct net_device *dev,
92829284 } else
92839285 bt_raw_order = 0 ;
92849286
9285- sprintf (extra , "\n" );
9287+ extra_len = sprintf (extra , "\n" );
92869288 for (i = 0 ; i < cnt ; i += 16 ) {
9287- sprintf (extra , "%s0x% 02x\t" , extra , shift + i );
9289+ extra_len += sprintf (extra + extra_len , "0x% 02x\t" , shift + i );
92889290 for (j = 0 ; j < 8 ; j ++ )
9289- sprintf (extra , "%s% 02X " , extra , rawdata [i + j ]);
9290- sprintf (extra , "%s \t" , extra );
9291+ extra_len += sprintf (extra + extra_len , "%02X " , rawdata [i + j ]);
9292+ extra_len += sprintf (extra + extra_len , "\t" );
92919293 for (; j < 16 ; j ++ )
9292- sprintf (extra , "%s% 02X " , extra , rawdata [i + j ]);
9293- sprintf (extra , "%s \n" , extra );
9294+ extra_len += sprintf (extra + extra_len , "%02X " , rawdata [i + j ]);
9295+ extra_len += sprintf (extra + extra_len , "\n" );
92949296 }
92959297 if ((shift + cnt ) < mapLen )
9296- sprintf (extra , "%s \t...more (left:%d/%d)\n" , extra , mapLen - (shift + cnt ), mapLen );
9298+ extra_len += sprintf (extra + extra_len , "\t...more (left:%d/%d)\n" , mapLen - (shift + cnt ), mapLen );
92979299
92989300 } else if (strcmp (tmp [0 ], "mac" ) == 0 ) {
92999301 if (hal_efuse_macaddr_offset (padapter ) == -1 ) {
@@ -9319,12 +9321,13 @@ static int rtw_mp_efuse_get(struct net_device *dev,
93199321
93209322 /* RTW_INFO("%s: MAC address={", __FUNCTION__); */
93219323 * extra = 0 ;
9324+ extra_len = 0 ;
93229325 for (i = 0 ; i < cnts ; i ++ ) {
93239326 /* RTW_INFO("%02X", data[i]); */
9324- sprintf (extra , "%s% 02X" , extra , data [i ]);
9327+ extra_len += sprintf (extra + extra_len , "%02X" , data [i ]);
93259328 if (i != (cnts - 1 )) {
93269329 /* RTW_INFO(":"); */
9327- sprintf (extra , "%s:" , extra );
9330+ extra_len += sprintf (extra + extra_len , ":" );
93289331 }
93299332 }
93309333 /* RTW_INFO("}\n"); */
@@ -9382,12 +9385,13 @@ static int rtw_mp_efuse_get(struct net_device *dev,
93829385
93839386 /* RTW_INFO("%s: {VID,PID}={", __FUNCTION__); */
93849387 * extra = 0 ;
9388+ extra_len = 0 ;
93859389 for (i = 0 ; i < cnts ; i ++ ) {
93869390 /* RTW_INFO("0x%02x", data[i]); */
9387- sprintf (extra , "%s0x% 02X" , extra , data [i ]);
9391+ extra_len += sprintf (extra + extra_len , "0x% 02X" , data [i ]);
93889392 if (i != (cnts - 1 )) {
93899393 /* RTW_INFO(","); */
9390- sprintf (extra , "%s," , extra );
9394+ extra_len += sprintf (extra + extra_len , "," );
93919395 }
93929396 }
93939397 /* RTW_INFO("}\n"); */
@@ -9415,22 +9419,22 @@ static int rtw_mp_efuse_get(struct net_device *dev,
94159419 }
94169420
94179421 /* RTW_INFO("OFFSET\tVALUE(hex)\n"); */
9418- sprintf (extra , "\n" );
9422+ extra_len = sprintf (extra , "\n" );
94199423 for (i = 0 ; i < 512 ; i += 16 ) { /* set 512 because the iwpriv's extra size have limit 0x7FF */
94209424 /* RTW_INFO("0x%03x\t", i); */
9421- sprintf (extra , "%s0x% 03x\t" , extra , i );
9425+ extra_len += sprintf (extra + extra_len , "0x% 03x\t" , i );
94229426 for (j = 0 ; j < 8 ; j ++ ) {
94239427 /* RTW_INFO("%02X ", pEfuseHal->BTEfuseInitMap[i+j]); */
9424- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> BTEfuseInitMap [i + j ]);
9428+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> BTEfuseInitMap [i + j ]);
94259429 }
94269430 /* RTW_INFO("\t"); */
9427- sprintf (extra , "%s \t" , extra );
9431+ extra_len += sprintf (extra + extra_len , "\t" );
94289432 for (; j < 16 ; j ++ ) {
94299433 /* RTW_INFO("%02X ", pEfuseHal->BTEfuseInitMap[i+j]); */
9430- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> BTEfuseInitMap [i + j ]);
9434+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> BTEfuseInitMap [i + j ]);
94319435 }
94329436 /* RTW_INFO("\n"); */
9433- sprintf (extra , "%s \n" , extra );
9437+ extra_len += sprintf (extra + extra_len , "\n" );
94349438 }
94359439 /* RTW_INFO("\n"); */
94369440 } else if (strcmp (tmp [0 ], "btbmap" ) == 0 ) {
@@ -9444,22 +9448,22 @@ static int rtw_mp_efuse_get(struct net_device *dev,
94449448 }
94459449
94469450 /* RTW_INFO("OFFSET\tVALUE(hex)\n"); */
9447- sprintf (extra , "\n" );
9451+ extra_len = sprintf (extra , "\n" );
94489452 for (i = 512 ; i < 1024 ; i += 16 ) {
94499453 /* RTW_INFO("0x%03x\t", i); */
9450- sprintf (extra , "%s0x% 03x\t" , extra , i );
9454+ extra_len += sprintf (extra + extra_len , "0x% 03x\t" , i );
94519455 for (j = 0 ; j < 8 ; j ++ ) {
94529456 /* RTW_INFO("%02X ", data[i+j]); */
9453- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> BTEfuseInitMap [i + j ]);
9457+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> BTEfuseInitMap [i + j ]);
94549458 }
94559459 /* RTW_INFO("\t"); */
9456- sprintf (extra , "%s \t" , extra );
9460+ extra_len += sprintf (extra + extra_len , "\t" );
94579461 for (; j < 16 ; j ++ ) {
94589462 /* RTW_INFO("%02X ", data[i+j]); */
9459- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> BTEfuseInitMap [i + j ]);
9463+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> BTEfuseInitMap [i + j ]);
94609464 }
94619465 /* RTW_INFO("\n"); */
9462- sprintf (extra , "%s \n" , extra );
9466+ extra_len += sprintf (extra + extra_len , "\n" );
94639467 }
94649468 /* RTW_INFO("\n"); */
94659469 } else if (strcmp (tmp [0 ], "btrmap" ) == 0 ) {
@@ -9507,51 +9511,52 @@ static int rtw_mp_efuse_get(struct net_device *dev,
95079511 }
95089512
95099513 * extra = 0 ;
9514+ extra_len = 0 ;
95109515 /* RTW_INFO("%s: bt efuse data={", __FUNCTION__); */
95119516 for (i = 0 ; i < cnts ; i ++ ) {
95129517 /* RTW_INFO("0x%02x ", data[i]); */
9513- sprintf (extra , "%s 0x%02X " , extra , data [i ]);
9518+ extra_len += sprintf (extra + extra_len , " 0x%02X " , data [i ]);
95149519 }
95159520 /* RTW_INFO("}\n"); */
95169521 RTW_INFO (FUNC_ADPT_FMT ": BT MAC=[%s]\n" , FUNC_ADPT_ARG (padapter ), extra );
95179522 } else if (strcmp (tmp [0 ], "btffake" ) == 0 ) {
95189523 /* RTW_INFO("OFFSET\tVALUE(hex)\n"); */
9519- sprintf (extra , "\n" );
9524+ extra_len = sprintf (extra , "\n" );
95209525 for (i = 0 ; i < 512 ; i += 16 ) {
95219526 /* RTW_INFO("0x%03x\t", i); */
9522- sprintf (extra , "%s0x% 03x\t" , extra , i );
9527+ extra_len += sprintf (extra + extra_len , "0x% 03x\t" , i );
95239528 for (j = 0 ; j < 8 ; j ++ ) {
95249529 /* RTW_INFO("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); */
9525- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
9530+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
95269531 }
95279532 /* RTW_INFO("\t"); */
9528- sprintf (extra , "%s \t" , extra );
9533+ extra_len += sprintf (extra + extra_len , "\t" );
95299534 for (; j < 16 ; j ++ ) {
95309535 /* RTW_INFO("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); */
9531- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
9536+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
95329537 }
95339538 /* RTW_INFO("\n"); */
9534- sprintf (extra , "%s \n" , extra );
9539+ extra_len += sprintf (extra + extra_len , "\n" );
95359540 }
95369541 /* RTW_INFO("\n"); */
95379542 } else if (strcmp (tmp [0 ], "btbfake" ) == 0 ) {
95389543 /* RTW_INFO("OFFSET\tVALUE(hex)\n"); */
9539- sprintf (extra , "\n" );
9544+ extra_len = sprintf (extra , "\n" );
95409545 for (i = 512 ; i < 1024 ; i += 16 ) {
95419546 /* RTW_INFO("0x%03x\t", i); */
9542- sprintf (extra , "%s0x% 03x\t" , extra , i );
9547+ extra_len += sprintf (extra + extra_len , "0x% 03x\t" , i );
95439548 for (j = 0 ; j < 8 ; j ++ ) {
95449549 /* RTW_INFO("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); */
9545- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
9550+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
95469551 }
95479552 /* RTW_INFO("\t"); */
9548- sprintf (extra , "%s \t" , extra );
9553+ extra_len += sprintf (extra + extra_len , "\t" );
95499554 for (; j < 16 ; j ++ ) {
95509555 /* RTW_INFO("%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i+j]); */
9551- sprintf (extra , "%s% 02X " , extra , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
9556+ extra_len += sprintf (extra + extra_len , "%02X " , pEfuseHal -> fakeBTEfuseModifiedMap [i + j ]);
95529557 }
95539558 /* RTW_INFO("\n"); */
9554- sprintf (extra , "%s \n" , extra );
9559+ extra_len += sprintf (extra + extra_len , "\n" );
95559560 }
95569561 /* RTW_INFO("\n"); */
95579562 } else if (strcmp (tmp [0 ], "wlrfkmap" ) == 0 ) {
@@ -9572,18 +9577,18 @@ static int rtw_mp_efuse_get(struct net_device *dev,
95729577 } else
95739578 fk_order = 0 ;
95749579
9575- sprintf (extra , "\n" );
9580+ extra_len = sprintf (extra , "\n" );
95769581 for (i = 0 ; i < cnt ; i += 16 ) {
9577- sprintf (extra , "%s0x% 02x\t" , extra , shift + i );
9582+ extra_len += sprintf (extra + extra_len , "0x% 02x\t" , shift + i );
95789583 for (j = 0 ; j < 8 ; j ++ )
9579- sprintf (extra , "%s% 02X " , extra , efuse [i + j ]);
9580- sprintf (extra , "%s \t" , extra );
9584+ extra_len += sprintf (extra + extra_len , "%02X " , efuse [i + j ]);
9585+ extra_len += sprintf (extra + extra_len , "\t" );
95819586 for (; j < 16 ; j ++ )
9582- sprintf (extra , "%s% 02X " , extra , efuse [i + j ]);
9583- sprintf (extra , "%s \n" , extra );
9587+ extra_len += sprintf (extra + extra_len , "%02X " , efuse [i + j ]);
9588+ extra_len += sprintf (extra + extra_len , "\n" );
95849589 }
95859590 if ((shift + cnt ) < mapLen )
9586- sprintf (extra , "%s \t...more\n" , extra );
9591+ extra_len += sprintf (extra + extra_len , "\t...more\n" );
95879592
95889593 } else if (strcmp (tmp [0 ], "wlrfkrmap" ) == 0 ) {
95899594 if ((tmp [1 ] == NULL ) || (tmp [2 ] == NULL )) {
@@ -9605,9 +9610,10 @@ static int rtw_mp_efuse_get(struct net_device *dev,
96059610
96069611 /* RTW_INFO("%s: data={", __FUNCTION__); */
96079612 * extra = 0 ;
9613+ extra_len = 0 ;
96089614 for (i = 0 ; i < cnts ; i ++ ) {
96099615 RTW_INFO ("wlrfkrmap = 0x%02x\n" , pEfuseHal -> fakeEfuseModifiedMap [addr + i ]);
9610- sprintf (extra , "%s0x% 02X " , extra , pEfuseHal -> fakeEfuseModifiedMap [addr + i ]);
9616+ extra_len += sprintf (extra + extra_len , "0x% 02X " , pEfuseHal -> fakeEfuseModifiedMap [addr + i ]);
96119617 }
96129618 } else if (strcmp (tmp [0 ], "btrfkrmap" ) == 0 ) {
96139619 if ((tmp [1 ] == NULL ) || (tmp [2 ] == NULL )) {
@@ -9629,9 +9635,10 @@ static int rtw_mp_efuse_get(struct net_device *dev,
96299635
96309636 /* RTW_INFO("%s: data={", __FUNCTION__); */
96319637 * extra = 0 ;
9638+ extra_len = 0 ;
96329639 for (i = 0 ; i < cnts ; i ++ ) {
96339640 RTW_INFO ("wlrfkrmap = 0x%02x\n" , pEfuseHal -> fakeBTEfuseModifiedMap [addr + i ]);
9634- sprintf (extra , "%s0x% 02X " , extra , pEfuseHal -> fakeBTEfuseModifiedMap [addr + i ]);
9641+ extra_len += sprintf (extra + extra_len , "0x% 02X " , pEfuseHal -> fakeBTEfuseModifiedMap [addr + i ]);
96359642 }
96369643 } else if (strcmp (tmp [0 ], "mask" ) == 0 ) {
96379644 * extra = 0 ;
@@ -9641,9 +9648,9 @@ static int rtw_mp_efuse_get(struct net_device *dev,
96419648 if (padapter -> registrypriv .bFileMaskEfuse == _TRUE )
96429649 _rtw_memcpy (mask_buf , maskfileBuffer , mask_len );
96439650
9644- sprintf (extra , "\n" );
9651+ extra_len = sprintf (extra , "\n" );
96459652 for (i = 0 ; i < mask_len ; i ++ )
9646- sprintf (extra , "%s0x% 02X\n" , extra , mask_buf [i ]);
9653+ extra_len += sprintf (extra + extra_len , "0x% 02X\n" , mask_buf [i ]);
96479654
96489655 } else
96499656 sprintf (extra , "Command not found!" );
0 commit comments