Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm
[cascardo/linux.git] / drivers / net / ethernet / intel / igbvf / netdev.c
index 4e6b02f..04bf22e 100644 (file)
@@ -2343,10 +2343,9 @@ static int igbvf_change_mtu(struct net_device *netdev, int new_mtu)
        struct igbvf_adapter *adapter = netdev_priv(netdev);
        int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN;
 
-       if ((new_mtu < 68) || (max_frame > MAX_JUMBO_FRAME_SIZE)) {
-               dev_err(&adapter->pdev->dev, "Invalid MTU setting\n");
+       if (new_mtu < 68 || new_mtu > INT_MAX - ETH_HLEN - ETH_FCS_LEN ||
+           max_frame > MAX_JUMBO_FRAME_SIZE)
                return -EINVAL;
-       }
 
 #define MAX_STD_JUMBO_FRAME_SIZE 9234
        if (max_frame > MAX_STD_JUMBO_FRAME_SIZE) {
@@ -2693,7 +2692,7 @@ static int igbvf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (ei->get_variants) {
                err = ei->get_variants(adapter);
                if (err)
-                       goto err_ioremap;
+                       goto err_get_variants;
        }
 
        /* setup adapter struct */
@@ -2790,6 +2789,7 @@ err_hw_init:
        kfree(adapter->rx_ring);
 err_sw_init:
        igbvf_reset_interrupt_capability(adapter);
+err_get_variants:
        iounmap(adapter->hw.hw_addr);
 err_ioremap:
        free_netdev(netdev);