kernel: refresh 3.18 patches

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45093 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Florian Fainelli 2015-03-28 18:17:46 +00:00
parent 0af24edcef
commit 5dbf2d51cd
4 changed files with 16 additions and 16 deletions

View 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,

View 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;

View 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;

View 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. */