@@ -5487,11 +5487,10 @@ static int mvpp2_aggr_desc_num_check(struct mvpp2 *priv,
5487
5487
MVPP2_AGGR_TXQ_STATUS_REG (cpu ));
5488
5488
5489
5489
aggr_txq -> count = val & MVPP2_AGGR_TXQ_PENDING_MASK ;
5490
- }
5491
-
5492
- if ((aggr_txq -> count + num ) > MVPP2_AGGR_TXQ_SIZE )
5493
- return - ENOMEM ;
5494
5490
5491
+ if ((aggr_txq -> count + num ) > MVPP2_AGGR_TXQ_SIZE )
5492
+ return - ENOMEM ;
5493
+ }
5495
5494
return 0 ;
5496
5495
}
5497
5496
@@ -6382,21 +6381,23 @@ static void mvpp2_rx_error(struct mvpp2_port *port,
6382
6381
{
6383
6382
u32 status = mvpp2_rxdesc_status_get (port , rx_desc );
6384
6383
size_t sz = mvpp2_rxdesc_size_get (port , rx_desc );
6384
+ char * err_str = NULL ;
6385
6385
6386
6386
switch (status & MVPP2_RXD_ERR_CODE_MASK ) {
6387
6387
case MVPP2_RXD_ERR_CRC :
6388
- netdev_err (port -> dev , "bad rx status %08x (crc error), size=%zu\n" ,
6389
- status , sz );
6388
+ err_str = "crc" ;
6390
6389
break ;
6391
6390
case MVPP2_RXD_ERR_OVERRUN :
6392
- netdev_err (port -> dev , "bad rx status %08x (overrun error), size=%zu\n" ,
6393
- status , sz );
6391
+ err_str = "overrun" ;
6394
6392
break ;
6395
6393
case MVPP2_RXD_ERR_RESOURCE :
6396
- netdev_err (port -> dev , "bad rx status %08x (resource error), size=%zu\n" ,
6397
- status , sz );
6394
+ err_str = "resource" ;
6398
6395
break ;
6399
6396
}
6397
+ if (err_str && net_ratelimit ())
6398
+ netdev_err (port -> dev ,
6399
+ "bad rx status %08x (%s error), size=%zu\n" ,
6400
+ status , err_str , sz );
6400
6401
}
6401
6402
6402
6403
/* Handle RX checksum offload */
@@ -7358,42 +7359,18 @@ static void mvpp2_set_rx_mode(struct net_device *dev)
7358
7359
7359
7360
static int mvpp2_set_mac_address (struct net_device * dev , void * p )
7360
7361
{
7361
- struct mvpp2_port * port = netdev_priv (dev );
7362
7362
const struct sockaddr * addr = p ;
7363
7363
int err ;
7364
7364
7365
- if (!is_valid_ether_addr (addr -> sa_data )) {
7366
- err = - EADDRNOTAVAIL ;
7367
- goto log_error ;
7368
- }
7369
-
7370
- if (!netif_running (dev )) {
7371
- err = mvpp2_prs_update_mac_da (dev , addr -> sa_data );
7372
- if (!err )
7373
- return 0 ;
7374
- /* Reconfigure parser to accept the original MAC address */
7375
- err = mvpp2_prs_update_mac_da (dev , dev -> dev_addr );
7376
- if (err )
7377
- goto log_error ;
7378
- }
7379
-
7380
- mvpp2_stop_dev (port );
7365
+ if (!is_valid_ether_addr (addr -> sa_data ))
7366
+ return - EADDRNOTAVAIL ;
7381
7367
7382
7368
err = mvpp2_prs_update_mac_da (dev , addr -> sa_data );
7383
- if (!err )
7384
- goto out_start ;
7385
-
7386
- /* Reconfigure parser accept the original MAC address */
7387
- err = mvpp2_prs_update_mac_da (dev , dev -> dev_addr );
7388
- if (err )
7389
- goto log_error ;
7390
- out_start :
7391
- mvpp2_start_dev (port );
7392
- mvpp2_egress_enable (port );
7393
- mvpp2_ingress_enable (port );
7394
- return 0 ;
7395
- log_error :
7396
- netdev_err (dev , "failed to change MAC address\n" );
7369
+ if (err ) {
7370
+ /* Reconfigure parser accept the original MAC address */
7371
+ mvpp2_prs_update_mac_da (dev , dev -> dev_addr );
7372
+ netdev_err (dev , "failed to change MAC address\n" );
7373
+ }
7397
7374
return err ;
7398
7375
}
7399
7376
0 commit comments