Skip to content

Commit 6d9f868

Browse files
committed
Merge branch 'mvpp2-small-improvements'
Antoine Tenart says: ==================== net: mvpp2: small improvements Those 3 patches are small improvements to the Marvell PPv2 driver. The series does not conflict with the one sent about phylink and 1000/2500baseX support, so the two series can live in parallel. ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents 808e2fc + 934e0f8 commit 6d9f868

File tree

1 file changed

+18
-41
lines changed
  • drivers/net/ethernet/marvell

1 file changed

+18
-41
lines changed

drivers/net/ethernet/marvell/mvpp2.c

Lines changed: 18 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5487,11 +5487,10 @@ static int mvpp2_aggr_desc_num_check(struct mvpp2 *priv,
54875487
MVPP2_AGGR_TXQ_STATUS_REG(cpu));
54885488

54895489
aggr_txq->count = val & MVPP2_AGGR_TXQ_PENDING_MASK;
5490-
}
5491-
5492-
if ((aggr_txq->count + num) > MVPP2_AGGR_TXQ_SIZE)
5493-
return -ENOMEM;
54945490

5491+
if ((aggr_txq->count + num) > MVPP2_AGGR_TXQ_SIZE)
5492+
return -ENOMEM;
5493+
}
54955494
return 0;
54965495
}
54975496

@@ -6382,21 +6381,23 @@ static void mvpp2_rx_error(struct mvpp2_port *port,
63826381
{
63836382
u32 status = mvpp2_rxdesc_status_get(port, rx_desc);
63846383
size_t sz = mvpp2_rxdesc_size_get(port, rx_desc);
6384+
char *err_str = NULL;
63856385

63866386
switch (status & MVPP2_RXD_ERR_CODE_MASK) {
63876387
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";
63906389
break;
63916390
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";
63946392
break;
63956393
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";
63986395
break;
63996396
}
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);
64006401
}
64016402

64026403
/* Handle RX checksum offload */
@@ -7358,42 +7359,18 @@ static void mvpp2_set_rx_mode(struct net_device *dev)
73587359

73597360
static int mvpp2_set_mac_address(struct net_device *dev, void *p)
73607361
{
7361-
struct mvpp2_port *port = netdev_priv(dev);
73627362
const struct sockaddr *addr = p;
73637363
int err;
73647364

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;
73817367

73827368
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+
}
73977374
return err;
73987375
}
73997376

0 commit comments

Comments
 (0)