@@ -334,19 +334,14 @@ void hinic_devlink_unregister(struct hinic_devlink_priv *priv)
334
334
static int chip_fault_show (struct devlink_fmsg * fmsg ,
335
335
struct hinic_fault_event * event )
336
336
{
337
- char fault_level [FAULT_TYPE_MAX ][FAULT_SHOW_STR_LEN + 1 ] = {
338
- "fatal" , "reset" , "flr" , "general" , "suggestion" };
339
- char level_str [FAULT_SHOW_STR_LEN + 1 ] = {0 };
340
- u8 level ;
337
+ const char * const level_str [FAULT_LEVEL_MAX + 1 ] = {
338
+ "fatal" , "reset" , "flr" , "general" , "suggestion" , "Unknown" };
339
+ u8 fault_level ;
341
340
int err ;
342
341
343
- level = event -> event .chip .err_level ;
344
- if (level < FAULT_LEVEL_MAX )
345
- strncpy (level_str , fault_level [level ], strlen (fault_level [level ]));
346
- else
347
- strncpy (level_str , "Unknown" , strlen ("Unknown" ));
348
-
349
- if (level == FAULT_LEVEL_SERIOUS_FLR ) {
342
+ fault_level = (event -> event .chip .err_level < FAULT_LEVEL_MAX ) ?
343
+ event -> event .chip .err_level : FAULT_LEVEL_MAX ;
344
+ if (fault_level == FAULT_LEVEL_SERIOUS_FLR ) {
350
345
err = devlink_fmsg_u32_pair_put (fmsg , "Function level err func_id" ,
351
346
(u32 )event -> event .chip .func_id );
352
347
if (err )
@@ -361,7 +356,7 @@ static int chip_fault_show(struct devlink_fmsg *fmsg,
361
356
if (err )
362
357
return err ;
363
358
364
- err = devlink_fmsg_string_pair_put (fmsg , "err_level" , level_str );
359
+ err = devlink_fmsg_string_pair_put (fmsg , "err_level" , level_str [ fault_level ] );
365
360
if (err )
366
361
return err ;
367
362
@@ -381,18 +376,15 @@ static int chip_fault_show(struct devlink_fmsg *fmsg,
381
376
static int fault_report_show (struct devlink_fmsg * fmsg ,
382
377
struct hinic_fault_event * event )
383
378
{
384
- char fault_type [FAULT_TYPE_MAX ][ FAULT_SHOW_STR_LEN + 1 ] = {
379
+ const char * const type_str [FAULT_TYPE_MAX + 1 ] = {
385
380
"chip" , "ucode" , "mem rd timeout" , "mem wr timeout" ,
386
- "reg rd timeout" , "reg wr timeout" , "phy fault" };
387
- char type_str [ FAULT_SHOW_STR_LEN + 1 ] = { 0 } ;
381
+ "reg rd timeout" , "reg wr timeout" , "phy fault" , "Unknown" };
382
+ u8 fault_type ;
388
383
int err ;
389
384
390
- if (event -> type < FAULT_TYPE_MAX )
391
- strncpy (type_str , fault_type [event -> type ], strlen (fault_type [event -> type ]));
392
- else
393
- strncpy (type_str , "Unknown" , strlen ("Unknown" ));
385
+ fault_type = (event -> type < FAULT_TYPE_MAX ) ? event -> type : FAULT_TYPE_MAX ;
394
386
395
- err = devlink_fmsg_string_pair_put (fmsg , "Fault type" , type_str );
387
+ err = devlink_fmsg_string_pair_put (fmsg , "Fault type" , type_str [ fault_type ] );
396
388
if (err )
397
389
return err ;
398
390
0 commit comments