net: mvneta: Check tx queue setup error in mvneta_change_mtu()
authorEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Thu, 22 May 2014 23:06:58 +0000 (20:06 -0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 23 May 2014 19:31:49 +0000 (15:31 -0400)
This commit checks the return code of mvneta_setup_txq() call
in mvneta_change_mtu(). Also, use the netdevice pointer directly
instead of dereferencing the port structure. While here, let's
fix a tiny comment typo.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvneta.c

index 30346010a64e268b82c79ffd6327bccbbd8cd943..d28327d1afd3c9072c144695a4bd5b1621ecc1a4 100644 (file)
@@ -2425,24 +2425,28 @@ static int mvneta_change_mtu(struct net_device *dev, int mtu)
                return 0;
 
        /* The interface is running, so we have to force a
-        * reallocation of the RXQs
+        * reallocation of the queues
         */
        mvneta_stop_dev(pp);
 
        mvneta_cleanup_txqs(pp);
        mvneta_cleanup_rxqs(pp);
 
-       pp->pkt_size = MVNETA_RX_PKT_SIZE(pp->dev->mtu);
+       pp->pkt_size = MVNETA_RX_PKT_SIZE(dev->mtu);
        pp->frag_size = SKB_DATA_ALIGN(MVNETA_RX_BUF_SIZE(pp->pkt_size)) +
                        SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
 
        ret = mvneta_setup_rxqs(pp);
        if (ret) {
-               netdev_err(pp->dev, "unable to setup rxqs after MTU change\n");
+               netdev_err(dev, "unable to setup rxqs after MTU change\n");
                return ret;
        }
 
-       mvneta_setup_txqs(pp);
+       ret = mvneta_setup_txqs(pp);
+       if (ret) {
+               netdev_err(dev, "unable to setup txqs after MTU change\n");
+               return ret;
+       }
 
        mvneta_start_dev(pp);
        mvneta_port_up(pp);