kernel: refresh 3.18 patches
Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 45093
This commit is contained in:
parent
0b13d69bba
commit
26cf81b94b
@ -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,
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user