kernel: refresh 3.18 patches

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

SVN-Revision: 45093
This commit is contained in:
Florian Fainelli 2015-03-28 18:17:46 +00:00
parent 0b13d69bba
commit 26cf81b94b
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, +static void bgmac_dma_rx_ring_free(struct bgmac *bgmac,
+ struct bgmac_dma_ring *ring) + struct bgmac_dma_ring *ring)
+{ +{
@ -121,7 +116,12 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+ slot = &ring->slots[i]; + slot = &ring->slots[i];
+ if (!slot->buf) + if (!slot->buf)
+ continue; + 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) + if (slot->dma_addr)
+ dma_unmap_single(dma_dev, slot->dma_addr, + dma_unmap_single(dma_dev, slot->dma_addr,
+ BGMAC_RX_BUF_SIZE, + BGMAC_RX_BUF_SIZE,

View File

@ -12,7 +12,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
#include <bcm47xx_nvram.h> #include <bcm47xx_nvram.h>
static const struct bcma_device_id bgmac_bcma_tbl[] = { 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); mdiobus_free(mii_bus);
} }
@ -30,9 +30,9 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
/************************************************** /**************************************************
* BCMA bus ops * BCMA bus ops
**************************************************/ **************************************************/
@@ -1551,6 +1563,16 @@ static int bgmac_probe(struct bcma_devic @@ -1661,6 +1673,16 @@ static int bgmac_probe(struct bcma_devic
goto err_dma_free; net_dev->hw_features = net_dev->features;
} net_dev->vlan_features = net_dev->features;
+ if ((ci->id == BCMA_CHIP_ID_BCM4707 || + if ((ci->id == BCMA_CHIP_ID_BCM4707 ||
+ ci->id == BCMA_CHIP_ID_BCM53018) && + 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); err = register_netdev(bgmac->net_dev);
if (err) { if (err) {
bgmac_err(bgmac, "Cannot register net device\n"); 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); 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); netif_napi_del(&bgmac->napi);
--- a/drivers/net/ethernet/broadcom/bgmac.h --- a/drivers/net/ethernet/broadcom/bgmac.h
+++ b/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 has_robosw;
bool loopback; bool loopback;

View File

@ -9,7 +9,7 @@ Subject: [PATCH] bgmac: check length of received frame
--- a/drivers/net/ethernet/broadcom/bgmac.c --- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/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; dma_addr_t old_dma_addr = slot->dma_addr;
int err; int err;

View File

@ -1,6 +1,6 @@
--- a/kernel/seccomp.c --- a/kernel/seccomp.c
+++ b/kernel/seccomp.c +++ b/kernel/seccomp.c
@@ -614,6 +614,7 @@ @@ -614,6 +614,7 @@ int __secure_computing(void)
#ifdef CONFIG_SECCOMP_FILTER #ifdef CONFIG_SECCOMP_FILTER
static u32 __seccomp_phase1_filter(int this_syscall, struct seccomp_data *sd) static u32 __seccomp_phase1_filter(int this_syscall, struct seccomp_data *sd)
{ {
@ -8,7 +8,7 @@
u32 filter_ret, action; u32 filter_ret, action;
int data; int data;
@@ -644,6 +645,13 @@ @@ -644,6 +645,13 @@ static u32 __seccomp_phase1_filter(int t
case SECCOMP_RET_TRACE: case SECCOMP_RET_TRACE:
return filter_ret; /* Save the rest for phase 2. */ return filter_ret; /* Save the rest for phase 2. */