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-a3cf2f4a3e73master
parent
0af24edcef
commit
5dbf2d51cd
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
Loading…
Reference in New Issue