Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Sun, 27 Jan 2019 18:43:17 +0000 (10:43 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 27 Jan 2019 18:43:17 +0000 (10:43 -0800)
1  2 
MAINTAINERS
drivers/net/ethernet/sfc/ef10.c
net/ipv4/ip_gre.c
net/ipv4/ip_tunnel.c
net/ipv6/addrconf.c
net/ipv6/ip6_gre.c

diff --cc MAINTAINERS
Simple merge
@@@ -6041,12 -6041,12 +6041,13 @@@ static const struct efx_ef10_nvram_type
        { NVRAM_PARTITION_TYPE_EXPROM_CONFIG_PORT3, 0,   3, "sfc_exp_rom_cfg" },
        { NVRAM_PARTITION_TYPE_LICENSE,            0,    0, "sfc_license" },
        { NVRAM_PARTITION_TYPE_PHY_MIN,            0xff, 0, "sfc_phy_fw" },
 -      /* MUM and SUC firmware share the same partition type */
        { NVRAM_PARTITION_TYPE_MUM_FIRMWARE,       0,    0, "sfc_mumfw" },
        { NVRAM_PARTITION_TYPE_EXPANSION_UEFI,     0,    0, "sfc_uefi" },
 -      { NVRAM_PARTITION_TYPE_STATUS,             0,    0, "sfc_status" }
 +      { NVRAM_PARTITION_TYPE_DYNCONFIG_DEFAULTS, 0,    0, "sfc_dynamic_cfg_dflt" },
 +      { NVRAM_PARTITION_TYPE_ROMCONFIG_DEFAULTS, 0,    0, "sfc_exp_rom_cfg_dflt" },
 +      { NVRAM_PARTITION_TYPE_STATUS,             0,    0, "sfc_status" },
  };
+ #define EF10_NVRAM_PARTITION_COUNT    ARRAY_SIZE(efx_ef10_nvram_types)
  
  static int efx_ef10_mtd_probe_partition(struct efx_nic *efx,
                                        struct efx_mcdi_mtd_partition *part,
        rc = efx_mcdi_nvram_info(efx, type, &size, &erase_size, &protected);
        if (rc)
                return rc;
 +      if (protected &&
 +          (type != NVRAM_PARTITION_TYPE_DYNCONFIG_DEFAULTS &&
 +           type != NVRAM_PARTITION_TYPE_ROMCONFIG_DEFAULTS))
 +              /* Hide protected partitions that don't provide defaults. */
 +              return -ENODEV;
 +
        if (protected)
 -              return -ENODEV; /* hide it */
 +              /* Protected partitions are read only. */
 +              erase_size = 0;
  
+       /* If we've already exposed a partition of this type, hide this
+        * duplicate.  All operations on MTDs are keyed by the type anyway,
+        * so we can't act on the duplicate.
+        */
+       if (__test_and_set_bit(type_idx, found))
+               return -EEXIST;
        part->nvram_type = type;
  
        MCDI_SET_DWORD(inbuf, NVRAM_METADATA_IN_TYPE, type);
Simple merge
Simple merge
Simple merge
Simple merge