diff options
Diffstat (limited to 'drivers/net/ethernet/marvell/mvneta.c')
| -rw-r--r-- | drivers/net/ethernet/marvell/mvneta.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index cd345b8969b..a47a097c21e 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -374,7 +374,6 @@ static int rxq_number = 8;  static int txq_number = 8;  static int rxq_def; -static int txq_def;  #define MVNETA_DRIVER_NAME "mvneta"  #define MVNETA_DRIVER_VERSION "1.0" @@ -1475,7 +1474,8 @@ error:  static int mvneta_tx(struct sk_buff *skb, struct net_device *dev)  {  	struct mvneta_port *pp = netdev_priv(dev); -	struct mvneta_tx_queue *txq = &pp->txqs[txq_def]; +	u16 txq_id = skb_get_queue_mapping(skb); +	struct mvneta_tx_queue *txq = &pp->txqs[txq_id];  	struct mvneta_tx_desc *tx_desc;  	struct netdev_queue *nq;  	int frags = 0; @@ -1485,7 +1485,7 @@ static int mvneta_tx(struct sk_buff *skb, struct net_device *dev)  		goto out;  	frags = skb_shinfo(skb)->nr_frags + 1; -	nq    = netdev_get_tx_queue(dev, txq_def); +	nq    = netdev_get_tx_queue(dev, txq_id);  	/* Get a descriptor for the first part of the packet */  	tx_desc = mvneta_txq_next_desc_get(txq); @@ -2689,7 +2689,7 @@ static int mvneta_probe(struct platform_device *pdev)  		return -EINVAL;  	} -	dev = alloc_etherdev_mq(sizeof(struct mvneta_port), 8); +	dev = alloc_etherdev_mqs(sizeof(struct mvneta_port), txq_number, rxq_number);  	if (!dev)  		return -ENOMEM; @@ -2771,16 +2771,17 @@ static int mvneta_probe(struct platform_device *pdev)  	netif_napi_add(dev, &pp->napi, mvneta_poll, pp->weight); +	dev->features = NETIF_F_SG | NETIF_F_IP_CSUM; +	dev->hw_features |= NETIF_F_SG | NETIF_F_IP_CSUM; +	dev->vlan_features |= NETIF_F_SG | NETIF_F_IP_CSUM; +	dev->priv_flags |= IFF_UNICAST_FLT; +  	err = register_netdev(dev);  	if (err < 0) {  		dev_err(&pdev->dev, "failed to register\n");  		goto err_deinit;  	} -	dev->features = NETIF_F_SG | NETIF_F_IP_CSUM; -	dev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM; -	dev->priv_flags |= IFF_UNICAST_FLT; -  	netdev_info(dev, "mac: %pM\n", dev->dev_addr);  	platform_set_drvdata(pdev, pp->dev); @@ -2843,4 +2844,3 @@ module_param(rxq_number, int, S_IRUGO);  module_param(txq_number, int, S_IRUGO);  module_param(rxq_def, int, S_IRUGO); -module_param(txq_def, int, S_IRUGO);  |