@@ -2235,7 +2235,7 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core,
2235
2235
mlxsw_sp -> core = mlxsw_core ;
2236
2236
mlxsw_sp -> bus_info = mlxsw_bus_info ;
2237
2237
INIT_LIST_HEAD (& mlxsw_sp -> fids );
2238
- INIT_LIST_HEAD (& mlxsw_sp -> br_vfids .list );
2238
+ INIT_LIST_HEAD (& mlxsw_sp -> vfids .list );
2239
2239
INIT_LIST_HEAD (& mlxsw_sp -> br_mids .list );
2240
2240
2241
2241
err = mlxsw_sp_base_mac_get (mlxsw_sp );
@@ -2320,6 +2320,7 @@ static void mlxsw_sp_fini(struct mlxsw_core *mlxsw_core)
2320
2320
mlxsw_sp_buffers_fini (mlxsw_sp );
2321
2321
mlxsw_sp_traps_fini (mlxsw_sp );
2322
2322
mlxsw_sp_event_unregister (mlxsw_sp , MLXSW_TRAP_ID_PUDE );
2323
+ WARN_ON (!list_empty (& mlxsw_sp -> vfids .list ));
2323
2324
WARN_ON (!list_empty (& mlxsw_sp -> fids ));
2324
2325
for (i = 0 ; i < MLXSW_SP_RIF_MAX ; i ++ )
2325
2326
WARN_ON_ONCE (mlxsw_sp -> rifs [i ]);
@@ -3373,22 +3374,22 @@ static int mlxsw_sp_netdevice_lag_event(struct net_device *lag_dev,
3373
3374
}
3374
3375
3375
3376
static struct mlxsw_sp_fid *
3376
- mlxsw_sp_br_vfid_find (const struct mlxsw_sp * mlxsw_sp ,
3377
- const struct net_device * br_dev )
3377
+ mlxsw_sp_vfid_find (const struct mlxsw_sp * mlxsw_sp ,
3378
+ const struct net_device * br_dev )
3378
3379
{
3379
3380
struct mlxsw_sp_fid * f ;
3380
3381
3381
- list_for_each_entry (f , & mlxsw_sp -> br_vfids .list , list ) {
3382
+ list_for_each_entry (f , & mlxsw_sp -> vfids .list , list ) {
3382
3383
if (f -> dev == br_dev )
3383
3384
return f ;
3384
3385
}
3385
3386
3386
3387
return NULL ;
3387
3388
}
3388
3389
3389
- static u16 mlxsw_sp_avail_br_vfid_get (const struct mlxsw_sp * mlxsw_sp )
3390
+ static u16 mlxsw_sp_avail_vfid_get (const struct mlxsw_sp * mlxsw_sp )
3390
3391
{
3391
- return find_first_zero_bit (mlxsw_sp -> br_vfids .mapped ,
3392
+ return find_first_zero_bit (mlxsw_sp -> vfids .mapped ,
3392
3393
MLXSW_SP_VFID_MAX );
3393
3394
}
3394
3395
@@ -3400,17 +3401,17 @@ static int mlxsw_sp_vfid_op(struct mlxsw_sp *mlxsw_sp, u16 fid, bool create)
3400
3401
return mlxsw_reg_write (mlxsw_sp -> core , MLXSW_REG (sfmr ), sfmr_pl );
3401
3402
}
3402
3403
3403
- static void mlxsw_sp_vport_br_vfid_leave (struct mlxsw_sp_port * mlxsw_sp_vport );
3404
+ static void mlxsw_sp_vport_vfid_leave (struct mlxsw_sp_port * mlxsw_sp_vport );
3404
3405
3405
- static struct mlxsw_sp_fid * mlxsw_sp_br_vfid_create (struct mlxsw_sp * mlxsw_sp ,
3406
- struct net_device * br_dev )
3406
+ static struct mlxsw_sp_fid * mlxsw_sp_vfid_create (struct mlxsw_sp * mlxsw_sp ,
3407
+ struct net_device * br_dev )
3407
3408
{
3408
3409
struct device * dev = mlxsw_sp -> bus_info -> dev ;
3409
3410
struct mlxsw_sp_fid * f ;
3410
3411
u16 vfid , fid ;
3411
3412
int err ;
3412
3413
3413
- vfid = mlxsw_sp_avail_br_vfid_get (mlxsw_sp );
3414
+ vfid = mlxsw_sp_avail_vfid_get (mlxsw_sp );
3414
3415
if (vfid == MLXSW_SP_VFID_MAX ) {
3415
3416
dev_err (dev , "No available vFIDs\n" );
3416
3417
return ERR_PTR (- ERANGE );
@@ -3427,12 +3428,12 @@ static struct mlxsw_sp_fid *mlxsw_sp_br_vfid_create(struct mlxsw_sp *mlxsw_sp,
3427
3428
if (!f )
3428
3429
goto err_allocate_vfid ;
3429
3430
3430
- f -> leave = mlxsw_sp_vport_br_vfid_leave ;
3431
+ f -> leave = mlxsw_sp_vport_vfid_leave ;
3431
3432
f -> fid = fid ;
3432
3433
f -> dev = br_dev ;
3433
3434
3434
- list_add (& f -> list , & mlxsw_sp -> br_vfids .list );
3435
- set_bit (vfid , mlxsw_sp -> br_vfids .mapped );
3435
+ list_add (& f -> list , & mlxsw_sp -> vfids .list );
3436
+ set_bit (vfid , mlxsw_sp -> vfids .mapped );
3436
3437
3437
3438
return f ;
3438
3439
@@ -3441,12 +3442,12 @@ static struct mlxsw_sp_fid *mlxsw_sp_br_vfid_create(struct mlxsw_sp *mlxsw_sp,
3441
3442
return ERR_PTR (- ENOMEM );
3442
3443
}
3443
3444
3444
- static void mlxsw_sp_br_vfid_destroy (struct mlxsw_sp * mlxsw_sp ,
3445
- struct mlxsw_sp_fid * f )
3445
+ static void mlxsw_sp_vfid_destroy (struct mlxsw_sp * mlxsw_sp ,
3446
+ struct mlxsw_sp_fid * f )
3446
3447
{
3447
3448
u16 vfid = mlxsw_sp_fid_to_vfid (f -> fid );
3448
3449
3449
- clear_bit (vfid , mlxsw_sp -> br_vfids .mapped );
3450
+ clear_bit (vfid , mlxsw_sp -> vfids .mapped );
3450
3451
list_del (& f -> list );
3451
3452
3452
3453
mlxsw_sp_vfid_op (mlxsw_sp , f -> fid , false);
@@ -3464,15 +3465,15 @@ static int mlxsw_sp_vport_fid_map(struct mlxsw_sp_port *mlxsw_sp_vport, u16 fid,
3464
3465
vid );
3465
3466
}
3466
3467
3467
- static int mlxsw_sp_vport_br_vfid_join (struct mlxsw_sp_port * mlxsw_sp_vport ,
3468
- struct net_device * br_dev )
3468
+ static int mlxsw_sp_vport_vfid_join (struct mlxsw_sp_port * mlxsw_sp_vport ,
3469
+ struct net_device * br_dev )
3469
3470
{
3470
3471
struct mlxsw_sp_fid * f ;
3471
3472
int err ;
3472
3473
3473
- f = mlxsw_sp_br_vfid_find (mlxsw_sp_vport -> mlxsw_sp , br_dev );
3474
+ f = mlxsw_sp_vfid_find (mlxsw_sp_vport -> mlxsw_sp , br_dev );
3474
3475
if (!f ) {
3475
- f = mlxsw_sp_br_vfid_create (mlxsw_sp_vport -> mlxsw_sp , br_dev );
3476
+ f = mlxsw_sp_vfid_create (mlxsw_sp_vport -> mlxsw_sp , br_dev );
3476
3477
if (IS_ERR (f ))
3477
3478
return PTR_ERR (f );
3478
3479
}
@@ -3496,11 +3497,11 @@ static int mlxsw_sp_vport_br_vfid_join(struct mlxsw_sp_port *mlxsw_sp_vport,
3496
3497
mlxsw_sp_vport_flood_set (mlxsw_sp_vport , f -> fid , false);
3497
3498
err_vport_flood_set :
3498
3499
if (!f -> ref_count )
3499
- mlxsw_sp_br_vfid_destroy (mlxsw_sp_vport -> mlxsw_sp , f );
3500
+ mlxsw_sp_vfid_destroy (mlxsw_sp_vport -> mlxsw_sp , f );
3500
3501
return err ;
3501
3502
}
3502
3503
3503
- static void mlxsw_sp_vport_br_vfid_leave (struct mlxsw_sp_port * mlxsw_sp_vport )
3504
+ static void mlxsw_sp_vport_vfid_leave (struct mlxsw_sp_port * mlxsw_sp_vport )
3504
3505
{
3505
3506
struct mlxsw_sp_fid * f = mlxsw_sp_vport_fid_get (mlxsw_sp_vport );
3506
3507
@@ -3514,7 +3515,7 @@ static void mlxsw_sp_vport_br_vfid_leave(struct mlxsw_sp_port *mlxsw_sp_vport)
3514
3515
3515
3516
mlxsw_sp_vport_fid_set (mlxsw_sp_vport , NULL );
3516
3517
if (-- f -> ref_count == 0 )
3517
- mlxsw_sp_br_vfid_destroy (mlxsw_sp_vport -> mlxsw_sp , f );
3518
+ mlxsw_sp_vfid_destroy (mlxsw_sp_vport -> mlxsw_sp , f );
3518
3519
}
3519
3520
3520
3521
static int mlxsw_sp_vport_bridge_join (struct mlxsw_sp_port * mlxsw_sp_vport ,
@@ -3528,7 +3529,7 @@ static int mlxsw_sp_vport_bridge_join(struct mlxsw_sp_port *mlxsw_sp_vport,
3528
3529
if (f && !WARN_ON (!f -> leave ))
3529
3530
f -> leave (mlxsw_sp_vport );
3530
3531
3531
- err = mlxsw_sp_vport_br_vfid_join (mlxsw_sp_vport , br_dev );
3532
+ err = mlxsw_sp_vport_vfid_join (mlxsw_sp_vport , br_dev );
3532
3533
if (err ) {
3533
3534
netdev_err (dev , "Failed to join vFID\n" );
3534
3535
return err ;
@@ -3548,7 +3549,7 @@ static int mlxsw_sp_vport_bridge_join(struct mlxsw_sp_port *mlxsw_sp_vport,
3548
3549
return 0 ;
3549
3550
3550
3551
err_port_vid_learning_set :
3551
- mlxsw_sp_vport_br_vfid_leave (mlxsw_sp_vport );
3552
+ mlxsw_sp_vport_vfid_leave (mlxsw_sp_vport );
3552
3553
return err ;
3553
3554
}
3554
3555
@@ -3558,7 +3559,7 @@ static void mlxsw_sp_vport_bridge_leave(struct mlxsw_sp_port *mlxsw_sp_vport)
3558
3559
3559
3560
mlxsw_sp_port_vid_learning_set (mlxsw_sp_vport , vid , false);
3560
3561
3561
- mlxsw_sp_vport_br_vfid_leave (mlxsw_sp_vport );
3562
+ mlxsw_sp_vport_vfid_leave (mlxsw_sp_vport );
3562
3563
3563
3564
mlxsw_sp_vport -> learning = 0 ;
3564
3565
mlxsw_sp_vport -> learning_sync = 0 ;
@@ -3574,7 +3575,7 @@ mlxsw_sp_port_master_bridge_check(const struct mlxsw_sp_port *mlxsw_sp_port,
3574
3575
3575
3576
list_for_each_entry (mlxsw_sp_vport , & mlxsw_sp_port -> vports_list ,
3576
3577
vport .list ) {
3577
- struct net_device * dev = mlxsw_sp_vport_br_get (mlxsw_sp_vport );
3578
+ struct net_device * dev = mlxsw_sp_vport_dev_get (mlxsw_sp_vport );
3578
3579
3579
3580
if (dev && dev == br_dev )
3580
3581
return false;
0 commit comments