kernel: update 4.0 to 4.0.8
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 11 Jul 2015 19:59:05 +0000 (19:59 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 11 Jul 2015 19:59:05 +0000 (19:59 +0000)
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.8

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 46300

include/kernel-version.mk
target/linux/generic/patches-4.0/091-mtd-spi-nor-add-support-Spansion_S25FL164K
target/linux/generic/patches-4.0/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch
target/linux/generic/patches-4.0/630-packet_socket_type.patch
target/linux/generic/patches-4.0/645-bridge_multicast_to_unicast.patch
target/linux/generic/patches-4.0/702-phy_add_aneg_done_function.patch
target/linux/generic/patches-4.0/704-phy-no-genphy-soft-reset.patch

index 4227e01866b7f55c7099ba87d7ff9d386d1f3f23..3f3c52faf108f8ca9ec9db21c4d46fa423f3f514 100644 (file)
@@ -3,11 +3,11 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .18
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .18
-LINUX_VERSION-4.0 = .7
+LINUX_VERSION-4.0 = .8
 LINUX_VERSION-4.1 = .1
 
 LINUX_KERNEL_MD5SUM-3.18.18 = 6fce868a56f2d83f80cdad5fed457110
 LINUX_VERSION-4.1 = .1
 
 LINUX_KERNEL_MD5SUM-3.18.18 = 6fce868a56f2d83f80cdad5fed457110
-LINUX_KERNEL_MD5SUM-4.0.7 = 7993e5389c189d5c7dbc21135aebc0c1
+LINUX_KERNEL_MD5SUM-4.0.8 = a99375dd855de00635e9ac8e62b0f8e6
 LINUX_KERNEL_MD5SUM-4.1.1 = bf83da42349ab7fe77c61b5d10d9f003
 
 ifdef KERNEL_PATCHVER
 LINUX_KERNEL_MD5SUM-4.1.1 = bf83da42349ab7fe77c61b5d10d9f003
 
 ifdef KERNEL_PATCHVER
index 83e43038a9fa5ad605f8ba74e69e5571bd99ca4a..51d93deee2c171c25400b8ebf910faf71481ba11 100644 (file)
@@ -1,8 +1,6 @@
-Index: linux-4.0.7/drivers/mtd/spi-nor/spi-nor.c
-===================================================================
---- linux-4.0.7.orig/drivers/mtd/spi-nor/spi-nor.c
-+++ linux-4.0.7/drivers/mtd/spi-nor/spi-nor.c
-@@ -602,6 +602,7 @@ static const struct spi_device_id spi_no
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -598,6 +598,7 @@ static const struct spi_device_id spi_no
        { "s25fl016k",  INFO(0xef4015,      0,  64 * 1024,  32, SECT_4K) },
        { "s25fl064k",  INFO(0xef4017,      0,  64 * 1024, 128, SECT_4K) },
        { "s25fl132k",  INFO(0x014016,      0,  64 * 1024,  64, 0) },
        { "s25fl016k",  INFO(0xef4015,      0,  64 * 1024,  32, SECT_4K) },
        { "s25fl064k",  INFO(0xef4017,      0,  64 * 1024, 128, SECT_4K) },
        { "s25fl132k",  INFO(0x014016,      0,  64 * 1024,  64, 0) },
index 6d5881e7718b2ce129973818a8ae3297ca6ea86f..37ecfb90a0a8694fa8e98aee7748619c6cb4ac4d 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -648,6 +648,7 @@ static const struct spi_device_id spi_no
+@@ -649,6 +649,7 @@ static const struct spi_device_id spi_no
        { "m25px80",    INFO(0x207114,  0, 64 * 1024, 16, 0) },
  
        /* Winbond -- w25x "blocks" are 64K, "sectors" are 4KiB */
        { "m25px80",    INFO(0x207114,  0, 64 * 1024, 16, 0) },
  
        /* Winbond -- w25x "blocks" are 64K, "sectors" are 4KiB */
index 8c5711ba7a04012dae16006907ecca5f8eec365f..3a39f2a7e3bf2c92d11f10d786fe2e755c9dde54 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  #define PACKET_FANOUT_LB              1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
  #define PACKET_FANOUT_LB              1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -1541,6 +1541,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1527,6 +1527,7 @@ static int packet_rcv_spkt(struct sk_buf
  {
        struct sock *sk;
        struct sockaddr_pkt *spkt;
  {
        struct sock *sk;
        struct sockaddr_pkt *spkt;
@@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        /*
         *      When we registered the protocol we saved the socket in the data
  
        /*
         *      When we registered the protocol we saved the socket in the data
-@@ -1548,6 +1549,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1534,6 +1535,7 @@ static int packet_rcv_spkt(struct sk_buf
         */
  
        sk = pt->af_packet_priv;
         */
  
        sk = pt->af_packet_priv;
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        /*
         *      Yank back the headers [hope the device set this
  
        /*
         *      Yank back the headers [hope the device set this
-@@ -1560,7 +1562,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1546,7 +1548,7 @@ static int packet_rcv_spkt(struct sk_buf
         *      so that this procedure is noop.
         */
  
         *      so that this procedure is noop.
         */
  
@@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
                goto out;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto out;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -1767,12 +1769,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -1753,12 +1755,12 @@ static int packet_rcv(struct sk_buff *sk
        int skb_len = skb->len;
        unsigned int snaplen, res;
  
        int skb_len = skb->len;
        unsigned int snaplen, res;
  
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -1892,12 +1894,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -1878,12 +1880,12 @@ static int tpacket_rcv(struct sk_buff *s
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -2853,6 +2855,7 @@ static int packet_create(struct net *net
+@@ -2839,6 +2841,7 @@ static int packet_create(struct net *net
        spin_lock_init(&po->bind_lock);
        mutex_init(&po->pg_vec_lock);
        po->prot_hook.func = packet_rcv;
        spin_lock_init(&po->bind_lock);
        mutex_init(&po->pg_vec_lock);
        po->prot_hook.func = packet_rcv;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
-@@ -3442,6 +3445,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3428,6 +3431,16 @@ packet_setsockopt(struct socket *sock, i
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        default:
                return -ENOPROTOOPT;
        }
        default:
                return -ENOPROTOOPT;
        }
-@@ -3493,6 +3506,13 @@ static int packet_getsockopt(struct sock
+@@ -3479,6 +3492,13 @@ static int packet_getsockopt(struct sock
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
index 2b0b42f2c3bb074ab15a681353c90f35d4fb5dac..055eb367a79d6a7036f53a5e283ede2802f9cbb0 100644 (file)
                if (err)
                        break;
        }
                if (err)
                        break;
        }
-@@ -1407,7 +1434,8 @@ br_multicast_leave_group(struct net_brid
+@@ -1406,7 +1433,8 @@ br_multicast_leave_group(struct net_brid
                         struct net_bridge_port *port,
                         struct br_ip *group,
                         struct bridge_mcast_other_query *other_query,
                         struct net_bridge_port *port,
                         struct br_ip *group,
                         struct bridge_mcast_other_query *other_query,
  {
        struct net_bridge_mdb_htable *mdb;
        struct net_bridge_mdb_entry *mp;
  {
        struct net_bridge_mdb_htable *mdb;
        struct net_bridge_mdb_entry *mp;
-@@ -1457,7 +1485,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1456,7 +1484,7 @@ br_multicast_leave_group(struct net_brid
                for (pp = &mp->ports;
                     (p = mlock_dereference(*pp, br)) != NULL;
                     pp = &p->next) {
                for (pp = &mp->ports;
                     (p = mlock_dereference(*pp, br)) != NULL;
                     pp = &p->next) {
                                continue;
  
                        rcu_assign_pointer(*pp, p->next);
                                continue;
  
                        rcu_assign_pointer(*pp, p->next);
-@@ -1491,7 +1519,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1490,7 +1518,7 @@ br_multicast_leave_group(struct net_brid
        for (p = mlock_dereference(mp->ports, br);
             p != NULL;
             p = mlock_dereference(p->next, br)) {
        for (p = mlock_dereference(mp->ports, br);
             p != NULL;
             p = mlock_dereference(p->next, br)) {
                        continue;
  
                if (!hlist_unhashed(&p->mglist) &&
                        continue;
  
                if (!hlist_unhashed(&p->mglist) &&
-@@ -1509,8 +1537,8 @@ out:
+@@ -1508,8 +1536,8 @@ out:
  
  static void br_ip4_multicast_leave_group(struct net_bridge *br,
                                         struct net_bridge_port *port,
  
  static void br_ip4_multicast_leave_group(struct net_bridge *br,
                                         struct net_bridge_port *port,
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
-@@ -1525,14 +1553,14 @@ static void br_ip4_multicast_leave_group
+@@ -1524,14 +1552,14 @@ static void br_ip4_multicast_leave_group
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
-@@ -1547,7 +1575,7 @@ static void br_ip6_multicast_leave_group
+@@ -1546,7 +1574,7 @@ static void br_ip6_multicast_leave_group
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
  }
  #endif
  
  }
  #endif
  
-@@ -1556,6 +1584,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1555,6 +1583,7 @@ static int br_multicast_ipv4_rcv(struct
                                 struct sk_buff *skb,
                                 u16 vid)
  {
                                 struct sk_buff *skb,
                                 u16 vid)
  {
        struct sk_buff *skb2 = skb;
        const struct iphdr *iph;
        struct igmphdr *ih;
        struct sk_buff *skb2 = skb;
        const struct iphdr *iph;
        struct igmphdr *ih;
-@@ -1629,7 +1658,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1628,7 +1657,7 @@ static int br_multicast_ipv4_rcv(struct
        case IGMP_HOST_MEMBERSHIP_REPORT:
        case IGMPV2_HOST_MEMBERSHIP_REPORT:
                BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
        case IGMP_HOST_MEMBERSHIP_REPORT:
        case IGMPV2_HOST_MEMBERSHIP_REPORT:
                BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
                break;
        case IGMPV3_HOST_MEMBERSHIP_REPORT:
                err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
                break;
        case IGMPV3_HOST_MEMBERSHIP_REPORT:
                err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
-@@ -1638,7 +1667,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1637,7 +1666,7 @@ static int br_multicast_ipv4_rcv(struct
                err = br_ip4_multicast_query(br, port, skb2, vid);
                break;
        case IGMP_HOST_LEAVE_MESSAGE:
                err = br_ip4_multicast_query(br, port, skb2, vid);
                break;
        case IGMP_HOST_LEAVE_MESSAGE:
                break;
        }
  
                break;
        }
  
-@@ -1656,6 +1685,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1655,6 +1684,7 @@ static int br_multicast_ipv6_rcv(struct
                                 struct sk_buff *skb,
                                 u16 vid)
  {
                                 struct sk_buff *skb,
                                 u16 vid)
  {
        struct sk_buff *skb2;
        const struct ipv6hdr *ip6h;
        u8 icmp6_type;
        struct sk_buff *skb2;
        const struct ipv6hdr *ip6h;
        u8 icmp6_type;
-@@ -1765,7 +1795,8 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1764,7 +1794,8 @@ static int br_multicast_ipv6_rcv(struct
                }
                mld = (struct mld_msg *)skb_transport_header(skb2);
                BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
                }
                mld = (struct mld_msg *)skb_transport_header(skb2);
                BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
                break;
            }
        case ICMPV6_MLD2_REPORT:
                break;
            }
        case ICMPV6_MLD2_REPORT:
-@@ -1782,7 +1813,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1781,7 +1812,7 @@ static int br_multicast_ipv6_rcv(struct
                        goto out;
                }
                mld = (struct mld_msg *)skb_transport_header(skb2);
                        goto out;
                }
                mld = (struct mld_msg *)skb_transport_header(skb2);
index d383c5ae7908cbbb88e0ae3b61c36118a7029d67..c743cefc5a45ccfaaf81f2105283027da99bab4c 100644 (file)
@@ -15,7 +15,7 @@
  
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
  
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -928,6 +928,9 @@ int genphy_update_link(struct phy_device
+@@ -929,6 +929,9 @@ int genphy_update_link(struct phy_device
  {
        int status;
  
  {
        int status;
  
index fa2e59b2ef024ead9d3ddbfa296c553878db0a3d..41a6d91588848dd8ad3403789a0ab84fed04fef3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1146,7 +1146,7 @@ int genphy_config_init(struct phy_device
+@@ -1147,7 +1147,7 @@ int genphy_config_init(struct phy_device
        return 0;
  }
  
        return 0;
  }
  
@@ -9,7 +9,7 @@
  {
        /* Do nothing for now */
        return 0;
  {
        /* Do nothing for now */
        return 0;
-@@ -1360,7 +1360,7 @@ static struct phy_driver genphy_driver[]
+@@ -1361,7 +1361,7 @@ static struct phy_driver genphy_driver[]
        .phy_id         = 0xffffffff,
        .phy_id_mask    = 0xffffffff,
        .name           = "Generic PHY",
        .phy_id         = 0xffffffff,
        .phy_id_mask    = 0xffffffff,
        .name           = "Generic PHY",
@@ -18,7 +18,7 @@
        .config_init    = genphy_config_init,
        .features       = PHY_GBIT_FEATURES | SUPPORTED_MII |
                          SUPPORTED_AUI | SUPPORTED_FIBRE |
        .config_init    = genphy_config_init,
        .features       = PHY_GBIT_FEATURES | SUPPORTED_MII |
                          SUPPORTED_AUI | SUPPORTED_FIBRE |
-@@ -1375,7 +1375,7 @@ static struct phy_driver genphy_driver[]
+@@ -1376,7 +1376,7 @@ static struct phy_driver genphy_driver[]
        .phy_id         = 0xffffffff,
        .phy_id_mask    = 0xffffffff,
        .name           = "Generic 10G PHY",
        .phy_id         = 0xffffffff,
        .phy_id_mask    = 0xffffffff,
        .name           = "Generic 10G PHY",