kernel: refresh 3.18 patches
authorFlorian Fainelli <florian@openwrt.org>
Sat, 28 Mar 2015 18:17:46 +0000 (18:17 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sat, 28 Mar 2015 18:17:46 +0000 (18:17 +0000)
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 45093

target/linux/generic/patches-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch
target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
target/linux/generic/patches-3.18/775-bgmac-check-length-of-received-frame.patch
target/linux/generic/patches-3.18/999-seccomp_log.patch

index 3636fb619a753bd5f1095a0c77921126027ddbbe..2a2df608b9a8ee5e5c07e79d87f984eff60c0f76 100644 (file)
@@ -104,12 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
                }
        }
 +}
--      if (ring->cpu_base) {
--              /* Free ring of descriptors */
--              size = ring->num_slots * sizeof(struct bgmac_dma_desc);
--              dma_free_coherent(dma_dev, size, ring->cpu_base,
--                                ring->dma_base);
++
 +static void bgmac_dma_rx_ring_free(struct bgmac *bgmac,
 +                                 struct bgmac_dma_ring *ring)
 +{
@@ -121,7 +116,12 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 +              slot = &ring->slots[i];
 +              if (!slot->buf)
 +                      continue;
-+
+-      if (ring->cpu_base) {
+-              /* Free ring of descriptors */
+-              size = ring->num_slots * sizeof(struct bgmac_dma_desc);
+-              dma_free_coherent(dma_dev, size, ring->cpu_base,
+-                                ring->dma_base);
 +              if (slot->dma_addr)
 +                      dma_unmap_single(dma_dev, slot->dma_addr,
 +                                       BGMAC_RX_BUF_SIZE,
index 0a8b4512476f4cba5b8732ed75492a92baa9b04c..2f9dce8c75d678461551d846c679dfbdd69a92b6 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
  #include <bcm47xx_nvram.h>
  
  static const struct bcma_device_id bgmac_bcma_tbl[] = {
-@@ -1432,6 +1433,17 @@ static void bgmac_mii_unregister(struct
+@@ -1538,6 +1539,17 @@ static void bgmac_mii_unregister(struct
        mdiobus_free(mii_bus);
  }
  
@@ -30,9 +30,9 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
  /**************************************************
   * BCMA bus ops
   **************************************************/
-@@ -1551,6 +1563,16 @@ static int bgmac_probe(struct bcma_devic
-               goto err_dma_free;
-       }
+@@ -1661,6 +1673,16 @@ static int bgmac_probe(struct bcma_devic
+       net_dev->hw_features = net_dev->features;
+       net_dev->vlan_features = net_dev->features;
  
 +      if ((ci->id == BCMA_CHIP_ID_BCM4707 ||
 +           ci->id == BCMA_CHIP_ID_BCM53018) &&
@@ -47,7 +47,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
        err = register_netdev(bgmac->net_dev);
        if (err) {
                bgmac_err(bgmac, "Cannot register net device\n");
-@@ -1577,6 +1599,10 @@ static void bgmac_remove(struct bcma_dev
+@@ -1687,6 +1709,10 @@ static void bgmac_remove(struct bcma_dev
  {
        struct bgmac *bgmac = bcma_get_drvdata(core);
  
@@ -60,7 +60,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
        netif_napi_del(&bgmac->napi);
 --- a/drivers/net/ethernet/broadcom/bgmac.h
 +++ b/drivers/net/ethernet/broadcom/bgmac.h
-@@ -457,6 +457,9 @@ struct bgmac {
+@@ -462,6 +462,9 @@ struct bgmac {
        bool has_robosw;
  
        bool loopback;
index 883c77b2f5265499426868b3b695aa29323bc8f4..2be1c3676d2b994c600741034a70113c053fafdf 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] bgmac: check length of received frame
 
 --- a/drivers/net/ethernet/broadcom/bgmac.c
 +++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -361,6 +361,27 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -427,6 +427,27 @@ static int bgmac_dma_rx_read(struct bgma
                        dma_addr_t old_dma_addr = slot->dma_addr;
                        int err;
  
index 1f90b32e93f44be3c435dff2a636c1a67362327e..1db6b18d4e3b235f98a823aac893102f43149f90 100644 (file)
@@ -1,6 +1,6 @@
 --- a/kernel/seccomp.c
 +++ b/kernel/seccomp.c
-@@ -614,6 +614,7 @@
+@@ -614,6 +614,7 @@ int __secure_computing(void)
  #ifdef CONFIG_SECCOMP_FILTER
  static u32 __seccomp_phase1_filter(int this_syscall, struct seccomp_data *sd)
  {
@@ -8,7 +8,7 @@
        u32 filter_ret, action;
        int data;
  
-@@ -644,6 +645,13 @@
+@@ -644,6 +645,13 @@ static u32 __seccomp_phase1_filter(int t
        case SECCOMP_RET_TRACE:
                return filter_ret;  /* Save the rest for phase 2. */