kernel: bump to 4.9.278, 4.14.242, 4.19.201
Resolve conflicted: - generic/pending-4.14/690-net-add-support-for-threaded-NAPI-polling.patch - generic/pending-4.19/690-net-add-support-for-threaded-NAPI-polling.patch Refreshed all patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
parent
c7251e5594
commit
54c0966bb1
@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-4.9 = .275
|
||||
LINUX_VERSION-4.14 = .239
|
||||
LINUX_VERSION-4.19 = .197
|
||||
LINUX_VERSION-4.9 = .278
|
||||
LINUX_VERSION-4.14 = .242
|
||||
LINUX_VERSION-4.19 = .201
|
||||
|
||||
LINUX_KERNEL_HASH-4.9.275 = 6651728a295b13ca6266f2b6ed55065302a2117785e5a6f80bb64c587f3dbf22
|
||||
LINUX_KERNEL_HASH-4.14.239 = a0e7163e24675524d16b8077c055e4946bb16c0fe7cb0eaa20fbc7f846e5ff98
|
||||
LINUX_KERNEL_HASH-4.19.197 = e601259beb5184a189db3f8871c97fad9a3bdaceb9cc62e8cdc64f8505217282
|
||||
LINUX_KERNEL_HASH-4.9.278 = e73781c4d45488cc615ed0f4ed3b213bb571e42ff5f97b279643bdc5cc567e11
|
||||
LINUX_KERNEL_HASH-4.14.242 = 3e3d1c42a44d22e968a31a6136165b7d70ea703683ff669d5045e8891a4c1a5c
|
||||
LINUX_KERNEL_HASH-4.19.201 = 8235dfa7188246ee64a247b70bcf2508b15bf5af07fb1fe817d96cf962e1dcd0
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -44,7 +44,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1858,6 +1858,7 @@ struct xhci_hcd {
|
||||
@@ -1859,6 +1859,7 @@ struct xhci_hcd {
|
||||
/* support xHCI 0.96 spec USB2 software LPM */
|
||||
unsigned sw_lpm_support:1;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
||||
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1884,6 +1884,7 @@ struct xhci_hcd {
|
||||
@@ -1885,6 +1885,7 @@ struct xhci_hcd {
|
||||
/* support xHCI 0.96 spec USB2 software LPM */
|
||||
unsigned sw_lpm_support:1;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
||||
@ -223,7 +223,7 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <linux/icmpv6.h>
|
||||
@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s
|
||||
@@ -835,10 +836,10 @@ static void tcp_v6_send_response(const s
|
||||
topt = (__be32 *)(t1 + 1);
|
||||
|
||||
if (tsecr) {
|
||||
@ -850,7 +850,7 @@
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/drivers/net/vxlan.c
|
||||
+++ b/drivers/net/vxlan.c
|
||||
@@ -1876,15 +1876,15 @@ static int vxlan_build_skb(struct sk_buf
|
||||
@@ -1878,15 +1878,15 @@ static int vxlan_build_skb(struct sk_buf
|
||||
return err;
|
||||
|
||||
vxh = __skb_push(skb, sizeof(*vxh));
|
||||
|
||||
@ -214,7 +214,7 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <linux/icmpv6.h>
|
||||
@@ -796,10 +797,10 @@ static void tcp_v6_send_response(const s
|
||||
@@ -811,10 +812,10 @@ static void tcp_v6_send_response(const s
|
||||
topt = (__be32 *)(t1 + 1);
|
||||
|
||||
if (tsecr) {
|
||||
@ -888,7 +888,7 @@
|
||||
*sum = csum_fold(csum_partial(diff, sizeof(diff),
|
||||
--- a/drivers/net/vxlan.c
|
||||
+++ b/drivers/net/vxlan.c
|
||||
@@ -1808,15 +1808,15 @@ static int vxlan_build_skb(struct sk_buf
|
||||
@@ -1810,15 +1810,15 @@ static int vxlan_build_skb(struct sk_buf
|
||||
goto out_free;
|
||||
|
||||
vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh));
|
||||
|
||||
@ -214,7 +214,7 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <linux/icmpv6.h>
|
||||
@@ -819,10 +820,10 @@ static void tcp_v6_send_response(const s
|
||||
@@ -835,10 +836,10 @@ static void tcp_v6_send_response(const s
|
||||
topt = (__be32 *)(t1 + 1);
|
||||
|
||||
if (tsecr) {
|
||||
|
||||
@ -214,7 +214,7 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ipv6.h>
|
||||
#include <linux/icmpv6.h>
|
||||
@@ -837,10 +838,10 @@ static void tcp_v6_send_response(const s
|
||||
@@ -853,10 +854,10 @@ static void tcp_v6_send_response(const s
|
||||
topt = (__be32 *)(t1 + 1);
|
||||
|
||||
if (tsecr) {
|
||||
@ -278,7 +278,7 @@
|
||||
key, greh->protocol);
|
||||
--- a/net/ipv6/exthdrs.c
|
||||
+++ b/net/ipv6/exthdrs.c
|
||||
@@ -756,7 +756,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
@@ -755,7 +755,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
goto drop;
|
||||
}
|
||||
|
||||
|
||||
@ -917,7 +917,7 @@ Fixes https://github.com/raspberrypi/linux/issues/2408
|
||||
}
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5249,7 +5249,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -5297,7 +5297,7 @@ static void port_event(struct usb_hub *h
|
||||
u16 status = 0, unused;
|
||||
port_dev->over_current_count++;
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static inline int mmc_blk_part_switch(struct mmc_card *card,
|
||||
unsigned int part_type);
|
||||
|
||||
@@ -2893,6 +2900,7 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2901,6 +2908,7 @@ static int mmc_blk_probe(struct mmc_card
|
||||
{
|
||||
struct mmc_blk_data *md, *part_md;
|
||||
char cap_str[10];
|
||||
@ -133,7 +133,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
/*
|
||||
* Check that the card supports the command class(es) we need.
|
||||
@@ -2900,7 +2908,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2908,7 +2916,16 @@ static int mmc_blk_probe(struct mmc_card
|
||||
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
|
||||
return -ENODEV;
|
||||
|
||||
@ -151,7 +151,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
card->complete_wq = alloc_workqueue("mmc_complete",
|
||||
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
|
||||
@@ -2915,9 +2932,14 @@ static int mmc_blk_probe(struct mmc_card
|
||||
@@ -2923,9 +2940,14 @@ static int mmc_blk_probe(struct mmc_card
|
||||
|
||||
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
|
||||
cap_str, sizeof(cap_str));
|
||||
@ -170,7 +170,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
goto out;
|
||||
--- a/drivers/mmc/core/core.c
|
||||
+++ b/drivers/mmc/core/core.c
|
||||
@@ -2233,7 +2233,8 @@ EXPORT_SYMBOL(mmc_erase);
|
||||
@@ -2236,7 +2236,8 @@ EXPORT_SYMBOL(mmc_erase);
|
||||
int mmc_can_erase(struct mmc_card *card)
|
||||
{
|
||||
if ((card->host->caps & MMC_CAP_ERASE) &&
|
||||
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -2054,6 +2055,7 @@ static int tc358743_probe(struct i2c_cli
|
||||
@@ -2055,6 +2056,7 @@ static int tc358743_probe(struct i2c_cli
|
||||
if (pdata) {
|
||||
state->pdata = *pdata;
|
||||
state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
*/
|
||||
bps_pr_lane = 2 * endpoint->link_frequencies[0];
|
||||
if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) {
|
||||
@@ -1981,23 +1982,41 @@ static int tc358743_probe_of(struct tc35
|
||||
@@ -1982,23 +1983,41 @@ static int tc358743_probe_of(struct tc35
|
||||
state->pdata.refclk_hz * state->pdata.pll_prd;
|
||||
|
||||
/*
|
||||
|
||||
@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val)
|
||||
{
|
||||
i2c_wrreg(sd, reg, val, 2);
|
||||
@@ -2056,6 +2073,7 @@ static int tc358743_probe(struct i2c_cli
|
||||
@@ -2057,6 +2074,7 @@ static int tc358743_probe(struct i2c_cli
|
||||
struct tc358743_platform_data *pdata = client->dev.platform_data;
|
||||
struct v4l2_subdev *sd;
|
||||
u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK;
|
||||
@ -86,7 +86,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
int err;
|
||||
|
||||
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
|
||||
@@ -2088,7 +2106,8 @@ static int tc358743_probe(struct i2c_cli
|
||||
@@ -2089,7 +2107,8 @@ static int tc358743_probe(struct i2c_cli
|
||||
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
|
||||
|
||||
/* i2c access */
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2935,6 +2935,10 @@ static irqreturn_t sdhci_irq(int irq, vo
|
||||
@@ -2939,6 +2939,10 @@ static irqreturn_t sdhci_irq(int irq, vo
|
||||
result = IRQ_WAKE_THREAD;
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -2151,7 +2151,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
@@ -2152,7 +2152,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Disable rate control for now */
|
||||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
||||
TDMA_FLOW_PERIOD);
|
||||
@@ -3582,9 +3582,12 @@ static int bcmgenet_probe(struct platfor
|
||||
@@ -3583,9 +3583,12 @@ static int bcmgenet_probe(struct platfor
|
||||
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
||||
|
||||
/* Set default coalescing parameters */
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -520,7 +520,10 @@ void xhci_find_new_dequeue_state(struct
|
||||
@@ -543,7 +543,10 @@ void xhci_find_new_dequeue_state(struct
|
||||
struct xhci_virt_ep *ep = &dev->eps[ep_index];
|
||||
struct xhci_ring *ep_ring;
|
||||
struct xhci_segment *new_seg;
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
dma_addr_t addr;
|
||||
u64 hw_dequeue;
|
||||
bool cycle_found = false;
|
||||
@@ -541,7 +544,28 @@ void xhci_find_new_dequeue_state(struct
|
||||
@@ -564,7 +567,28 @@ void xhci_find_new_dequeue_state(struct
|
||||
hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id);
|
||||
new_seg = ep_ring->deq_seg;
|
||||
new_deq = ep_ring->dequeue;
|
||||
@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1872,6 +1872,7 @@ struct xhci_hcd {
|
||||
@@ -1873,6 +1873,7 @@ struct xhci_hcd {
|
||||
#define XHCI_ZERO_64B_REGS BIT_ULL(32)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
||||
@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
|
||||
{
|
||||
/* MIPS chips strapped for BE will automagically configure the
|
||||
@@ -1997,6 +2001,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
@@ -1998,6 +2002,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
bcmgenet_rbuf_ctrl_set(priv, 0);
|
||||
udelay(10);
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-mem.c
|
||||
+++ b/drivers/usb/host/xhci-mem.c
|
||||
@@ -2525,9 +2525,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2526,9 +2526,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
* Event ring setup: Allocate a normal ring, but also setup
|
||||
* the event ring segment table (ERST). Section 4.9.3.
|
||||
*/
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
if (!xhci->event_ring)
|
||||
goto fail;
|
||||
if (xhci_check_trb_in_td_math(xhci) < 0)
|
||||
@@ -2540,7 +2542,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2541,7 +2543,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
/* set ERST count with the number of entries in the segment table */
|
||||
val = readl(&xhci->ir_set->erst_size);
|
||||
val &= ERST_SIZE_MASK;
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
val);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1643,8 +1643,8 @@ struct urb_priv {
|
||||
@@ -1644,8 +1644,8 @@ struct urb_priv {
|
||||
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
|
||||
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
|
||||
* meaning 64 ring segments.
|
||||
|
||||
@ -127,7 +127,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1840,6 +1840,7 @@ struct xhci_hcd {
|
||||
@@ -1841,6 +1841,7 @@ struct xhci_hcd {
|
||||
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
||||
@ -127,7 +127,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1872,6 +1872,7 @@ struct xhci_hcd {
|
||||
@@ -1873,6 +1873,7 @@ struct xhci_hcd {
|
||||
#define XHCI_ZERO_64B_REGS BIT_ULL(32)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
};
|
||||
};
|
||||
|
||||
@@ -348,5 +354,20 @@
|
||||
@@ -349,5 +355,20 @@
|
||||
memcpy-bus-width = <32>;
|
||||
#dma-cells = <2>;
|
||||
};
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
};
|
||||
};
|
||||
pci_default_pins: pinctrl-pci {
|
||||
@@ -316,6 +323,41 @@
|
||||
@@ -317,6 +324,41 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -115,7 +115,7 @@ the patch is only included in the series for context.
|
||||
};
|
||||
--- a/arch/arm/boot/dts/gemini.dtsi
|
||||
+++ b/arch/arm/boot/dts/gemini.dtsi
|
||||
@@ -411,5 +411,31 @@
|
||||
@@ -412,5 +412,31 @@
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -151,7 +151,7 @@ ChangeLog v1->v2:
|
||||
};
|
||||
--- a/arch/arm/boot/dts/gemini.dtsi
|
||||
+++ b/arch/arm/boot/dts/gemini.dtsi
|
||||
@@ -409,5 +409,37 @@
|
||||
@@ -410,5 +410,37 @@
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -65,7 +65,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
* Before updating sk_refcnt, we must commit prior changes to memory
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1700,7 +1700,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1701,7 +1701,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
|
||||
|
||||
/* Goal is to send at least one packet per ms,
|
||||
@@ -2218,7 +2218,7 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2219,7 +2219,7 @@ static bool tcp_small_queue_check(struct
|
||||
{
|
||||
unsigned int limit;
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
|
||||
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -2028,7 +2028,8 @@ static const struct usb_device_id option
|
||||
@@ -2031,7 +2031,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
|
||||
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
};
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -975,6 +975,9 @@ static unsigned int early_drop_list(stru
|
||||
@@ -980,6 +980,9 @@ static unsigned int early_drop_list(stru
|
||||
hlist_nulls_for_each_entry_rcu(h, n, head, hnnode) {
|
||||
tmp = nf_ct_tuplehash_to_ctrack(h);
|
||||
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
if (nf_ct_is_expired(tmp)) {
|
||||
nf_ct_gc_expired(tmp);
|
||||
continue;
|
||||
@@ -1052,6 +1055,18 @@ static bool gc_worker_can_early_drop(con
|
||||
@@ -1057,6 +1060,18 @@ static bool gc_worker_can_early_drop(con
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
static void gc_worker(struct work_struct *work)
|
||||
{
|
||||
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
|
||||
@@ -1088,6 +1103,11 @@ static void gc_worker(struct work_struct
|
||||
@@ -1093,6 +1108,11 @@ static void gc_worker(struct work_struct
|
||||
tmp = nf_ct_tuplehash_to_ctrack(h);
|
||||
|
||||
scanned++;
|
||||
@ -90,7 +90,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
expired_count++;
|
||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||
+++ b/net/netfilter/nf_conntrack_netlink.c
|
||||
@@ -1125,6 +1125,14 @@ static const struct nla_policy ct_nla_po
|
||||
@@ -1128,6 +1128,14 @@ static const struct nla_policy ct_nla_po
|
||||
.len = NF_CT_LABELS_MAX_SIZE },
|
||||
};
|
||||
|
||||
@ -105,7 +105,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
static int ctnetlink_flush_conntrack(struct net *net,
|
||||
const struct nlattr * const cda[],
|
||||
u32 portid, int report)
|
||||
@@ -1137,7 +1145,7 @@ static int ctnetlink_flush_conntrack(str
|
||||
@@ -1140,7 +1148,7 @@ static int ctnetlink_flush_conntrack(str
|
||||
return PTR_ERR(filter);
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
portid, report);
|
||||
kfree(filter);
|
||||
|
||||
@@ -1183,6 +1191,11 @@ static int ctnetlink_del_conntrack(struc
|
||||
@@ -1186,6 +1194,11 @@ static int ctnetlink_del_conntrack(struc
|
||||
|
||||
ct = nf_ct_tuplehash_to_ctrack(h);
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -1055,18 +1055,6 @@ static bool gc_worker_can_early_drop(con
|
||||
@@ -1060,18 +1060,6 @@ static bool gc_worker_can_early_drop(con
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static void gc_worker(struct work_struct *work)
|
||||
{
|
||||
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
|
||||
@@ -1103,10 +1091,8 @@ static void gc_worker(struct work_struct
|
||||
@@ -1108,10 +1096,8 @@ static void gc_worker(struct work_struct
|
||||
tmp = nf_ct_tuplehash_to_ctrack(h);
|
||||
|
||||
scanned++;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
};
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1695,8 +1695,8 @@ static bool tcp_nagle_check(bool partial
|
||||
@@ -1696,8 +1696,8 @@ static bool tcp_nagle_check(bool partial
|
||||
/* Return how many segs we'd like on a TSO packet,
|
||||
* to send one TSO packet per ms
|
||||
*/
|
||||
@ -110,7 +110,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@@ -1712,7 +1712,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1713,7 +1713,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
|
||||
return segs;
|
||||
}
|
||||
@ -118,7 +118,7 @@ Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
|
||||
|
||||
/* Return the number of segments we want in the skb we are transmitting.
|
||||
* See if congestion control module wants to decide; otherwise, autosize.
|
||||
@@ -1720,11 +1719,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
@@ -1721,11 +1720,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now)
|
||||
{
|
||||
const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops;
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -1179,18 +1179,6 @@ static bool gc_worker_can_early_drop(con
|
||||
@@ -1184,18 +1184,6 @@ static bool gc_worker_can_early_drop(con
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static void gc_worker(struct work_struct *work)
|
||||
{
|
||||
unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
|
||||
@@ -1227,10 +1215,8 @@ static void gc_worker(struct work_struct
|
||||
@@ -1232,10 +1220,8 @@ static void gc_worker(struct work_struct
|
||||
tmp = nf_ct_tuplehash_to_ctrack(h);
|
||||
|
||||
scanned++;
|
||||
|
||||
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
nval = cmpxchg(&tp->tsq_flags, oval, nval);
|
||||
if (nval != oval)
|
||||
continue;
|
||||
@@ -2240,6 +2240,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
@@ -2241,6 +2241,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
|
||||
break;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -2145,6 +2145,15 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2146,6 +2146,15 @@ static bool tcp_small_queue_check(struct
|
||||
limit <<= factor;
|
||||
|
||||
if (atomic_read(&sk->sk_wmem_alloc) > limit) {
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1977,26 +1977,26 @@ static bool tcp_can_coalesce_send_queue_
|
||||
@@ -1978,26 +1978,26 @@ static bool tcp_can_coalesce_send_queue_
|
||||
*/
|
||||
static int tcp_mtu_probe(struct sock *sk)
|
||||
{
|
||||
|
||||
@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
if (nval != oval)
|
||||
continue;
|
||||
|
||||
@@ -2154,7 +2154,7 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2155,7 +2155,7 @@ static bool tcp_small_queue_check(struct
|
||||
skb->prev == sk->sk_write_queue.next)
|
||||
return false;
|
||||
|
||||
@ -123,7 +123,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
/* It is possible TX completion already happened
|
||||
* before we set TSQ_THROTTLED, so we must
|
||||
* test again the condition.
|
||||
@@ -2252,8 +2252,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
@@ -2253,8 +2253,8 @@ static bool tcp_write_xmit(struct sock *
|
||||
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
|
||||
break;
|
||||
|
||||
@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
if (tcp_small_queue_check(sk, skb, 0))
|
||||
break;
|
||||
|
||||
@@ -3577,8 +3577,6 @@ void __tcp_send_ack(struct sock *sk, u32
|
||||
@@ -3578,8 +3578,6 @@ void __tcp_send_ack(struct sock *sk, u32
|
||||
/* We do not want pure acks influencing TCP Small Queues or fq/pacing
|
||||
* too much.
|
||||
* SKB_TRUESIZE(max(1 .. 66, MAX_TCP_HEADER)) is unfortunately ~784
|
||||
@ -165,7 +165,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
bh_unlock_sock(sk);
|
||||
--- a/net/ipv6/tcp_ipv6.c
|
||||
+++ b/net/ipv6/tcp_ipv6.c
|
||||
@@ -404,7 +404,7 @@ static void tcp_v6_err(struct sk_buff *s
|
||||
@@ -419,7 +419,7 @@ static void tcp_v6_err(struct sk_buff *s
|
||||
if (!sock_owned_by_user(sk))
|
||||
tcp_v6_mtu_reduced(sk);
|
||||
else if (!test_and_set_bit(TCP_MTU_REDUCED_DEFERRED,
|
||||
|
||||
@ -65,7 +65,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
* Before updating sk_refcnt, we must commit prior changes to memory
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1610,7 +1610,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1611,7 +1611,7 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
|
||||
|
||||
/* Goal is to send at least one packet per ms,
|
||||
@@ -2141,7 +2141,7 @@ static bool tcp_small_queue_check(struct
|
||||
@@ -2142,7 +2142,7 @@ static bool tcp_small_queue_check(struct
|
||||
{
|
||||
unsigned int limit;
|
||||
|
||||
|
||||
@ -938,7 +938,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
|
||||
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
|
||||
@@ -2391,7 +2391,7 @@ static int pch_gbe_napi_poll(struct napi
|
||||
@@ -2384,7 +2384,7 @@ static int pch_gbe_napi_poll(struct napi
|
||||
poll_end_flag = true;
|
||||
|
||||
if (poll_end_flag) {
|
||||
|
||||
@ -274,7 +274,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
}
|
||||
|
||||
if (after(tcb->end_seq, tp->snd_nxt) || tcb->seq == tcb->end_seq)
|
||||
@@ -2125,6 +2192,12 @@ static int tcp_mtu_probe(struct sock *sk
|
||||
@@ -2126,6 +2193,12 @@ static int tcp_mtu_probe(struct sock *sk
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -287,7 +287,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
/* TCP Small Queues :
|
||||
* Control number of packets in qdisc/devices to two packets / or ~1 ms.
|
||||
* (These limits are doubled for retransmits)
|
||||
@@ -2208,6 +2281,9 @@ static bool tcp_write_xmit(struct sock *
|
||||
@@ -2209,6 +2282,9 @@ static bool tcp_write_xmit(struct sock *
|
||||
while ((skb = tcp_send_head(sk))) {
|
||||
unsigned int limit;
|
||||
|
||||
@ -297,7 +297,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
tso_segs = tcp_init_tso_segs(skb, mss_now);
|
||||
BUG_ON(!tso_segs);
|
||||
|
||||
@@ -2932,6 +3008,10 @@ void tcp_xmit_retransmit_queue(struct so
|
||||
@@ -2933,6 +3009,10 @@ void tcp_xmit_retransmit_queue(struct so
|
||||
|
||||
if (skb == tcp_send_head(sk))
|
||||
break;
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
};
|
||||
--- a/net/ipv4/tcp_output.c
|
||||
+++ b/net/ipv4/tcp_output.c
|
||||
@@ -1672,8 +1672,8 @@ static bool tcp_nagle_check(bool partial
|
||||
@@ -1673,8 +1673,8 @@ static bool tcp_nagle_check(bool partial
|
||||
/* Return how many segs we'd like on a TSO packet,
|
||||
* to send one TSO packet per ms
|
||||
*/
|
||||
@ -112,7 +112,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
{
|
||||
u32 bytes, segs;
|
||||
|
||||
@@ -1689,7 +1689,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
@@ -1690,7 +1690,6 @@ u32 tcp_tso_autosize(const struct sock *
|
||||
|
||||
return segs;
|
||||
}
|
||||
@ -120,7 +120,7 @@ Signed-off-by: Albert I <kras@raphielgang.org>
|
||||
|
||||
/* Return the number of segments we want in the skb we are transmitting.
|
||||
* See if congestion control module wants to decide; otherwise, autosize.
|
||||
@@ -1697,11 +1696,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
@@ -1698,11 +1697,13 @@ EXPORT_SYMBOL(tcp_tso_autosize);
|
||||
static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now)
|
||||
{
|
||||
const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops;
|
||||
|
||||
@ -126,7 +126,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
Support for PF_PACKET sockets monitoring interface used by the ss tool.
|
||||
--- a/net/unix/Kconfig
|
||||
+++ b/net/unix/Kconfig
|
||||
@@ -22,6 +22,7 @@ config UNIX
|
||||
@@ -27,6 +27,7 @@ config UNIX_SCM
|
||||
config UNIX_DIAG
|
||||
tristate "UNIX: socket monitoring interface"
|
||||
depends on UNIX
|
||||
|
||||
@ -120,7 +120,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2250,6 +2250,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
@@ -2255,6 +2255,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
ret = nf_conntrack_proto_pernet_init(net);
|
||||
if (ret < 0)
|
||||
goto err_proto;
|
||||
@ -294,7 +294,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/siphash.h>
|
||||
|
||||
@@ -621,14 +626,22 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
@@ -624,14 +629,22 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
;
|
||||
}
|
||||
|
||||
@ -317,7 +317,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
struct nf_conn *ct = item->ct;
|
||||
struct sk_buff *skb;
|
||||
unsigned int type;
|
||||
@@ -3337,9 +3350,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
@@ -3340,9 +3353,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
|
||||
@ -133,7 +133,7 @@
|
||||
connections. */
|
||||
--- a/net/bridge/br_if.c
|
||||
+++ b/net/bridge/br_if.c
|
||||
@@ -653,3 +653,26 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -668,3 +668,26 @@ void br_port_flags_change(struct net_bri
|
||||
if (mask & BR_AUTO_MASK)
|
||||
nbp_update_port_count(br);
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0195, 4)}, /* Quectel EG95 */
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -386,6 +386,7 @@ static void option_instat_callback(struc
|
||||
@@ -387,6 +387,7 @@ static void option_instat_callback(struc
|
||||
* Mobidata, etc sell under their own brand names.
|
||||
*/
|
||||
#define LONGCHEER_VENDOR_ID 0x1c9e
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
/* 4G Systems products */
|
||||
/* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick *
|
||||
@@ -583,6 +584,16 @@ static void option_instat_callback(struc
|
||||
@@ -584,6 +585,16 @@ static void option_instat_callback(struc
|
||||
/* Device needs ZLP */
|
||||
#define ZLP BIT(17)
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
static const struct usb_device_id option_ids[] = {
|
||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
|
||||
@@ -617,6 +628,8 @@ static const struct usb_device_id option
|
||||
@@ -618,6 +629,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@ -126,7 +126,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
Support for PF_PACKET sockets monitoring interface used by the ss tool.
|
||||
--- a/net/unix/Kconfig
|
||||
+++ b/net/unix/Kconfig
|
||||
@@ -22,6 +22,7 @@ config UNIX
|
||||
@@ -27,6 +27,7 @@ config UNIX_SCM
|
||||
config UNIX_DIAG
|
||||
tristate "UNIX: socket monitoring interface"
|
||||
depends on UNIX
|
||||
|
||||
@ -120,7 +120,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2448,6 +2448,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
@@ -2453,6 +2453,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
ret = nf_conntrack_proto_pernet_init(net);
|
||||
if (ret < 0)
|
||||
goto err_proto;
|
||||
@ -294,7 +294,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/siphash.h>
|
||||
|
||||
@@ -678,14 +683,22 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
@@ -681,14 +686,22 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
;
|
||||
}
|
||||
|
||||
@ -317,7 +317,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
struct nf_conn *ct = item->ct;
|
||||
struct sk_buff *skb;
|
||||
unsigned int type;
|
||||
@@ -3482,9 +3495,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
@@ -3485,9 +3498,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
|
||||
@ -133,7 +133,7 @@
|
||||
connections. */
|
||||
--- a/net/bridge/br_if.c
|
||||
+++ b/net/bridge/br_if.c
|
||||
@@ -741,3 +741,26 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -756,3 +756,26 @@ void br_port_flags_change(struct net_bri
|
||||
if (mask & BR_NEIGH_SUPPRESS)
|
||||
br_recalculate_neigh_suppress_enabled(br);
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
{QMI_QUIRK_SET_DTR(0x2c7c, 0x0195, 4)}, /* Quectel EG95 */
|
||||
--- a/drivers/usb/serial/option.c
|
||||
+++ b/drivers/usb/serial/option.c
|
||||
@@ -383,6 +383,7 @@ static void option_instat_callback(struc
|
||||
@@ -384,6 +384,7 @@ static void option_instat_callback(struc
|
||||
* Mobidata, etc sell under their own brand names.
|
||||
*/
|
||||
#define LONGCHEER_VENDOR_ID 0x1c9e
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
/* 4G Systems products */
|
||||
/* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick *
|
||||
@@ -580,6 +581,16 @@ static void option_instat_callback(struc
|
||||
@@ -581,6 +582,16 @@ static void option_instat_callback(struc
|
||||
/* Device needs ZLP */
|
||||
#define ZLP BIT(17)
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
static const struct usb_device_id option_ids[] = {
|
||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
|
||||
@@ -614,6 +625,8 @@ static const struct usb_device_id option
|
||||
@@ -615,6 +626,8 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) },
|
||||
{ USB_DEVICE(QUANTA_VENDOR_ID, 0xea42),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
Support for PF_PACKET sockets monitoring interface used by the ss tool.
|
||||
--- a/net/unix/Kconfig
|
||||
+++ b/net/unix/Kconfig
|
||||
@@ -22,6 +22,7 @@ config UNIX
|
||||
@@ -27,6 +27,7 @@ config UNIX_SCM
|
||||
config UNIX_DIAG
|
||||
tristate "UNIX: socket monitoring interface"
|
||||
depends on UNIX
|
||||
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
|
||||
extern br_should_route_hook_t __rcu *br_should_route_hook;
|
||||
--- a/net/bridge/br_if.c
|
||||
+++ b/net/bridge/br_if.c
|
||||
@@ -654,3 +654,28 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -669,3 +669,28 @@ void br_port_flags_change(struct net_bri
|
||||
if (mask & BR_AUTO_MASK)
|
||||
nbp_update_port_count(br);
|
||||
}
|
||||
|
||||
@ -115,7 +115,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2078,6 +2078,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
@@ -2083,6 +2083,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
ret = nf_conntrack_proto_pernet_init(net);
|
||||
if (ret < 0)
|
||||
goto err_proto;
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/lib/vsprintf.c
|
||||
+++ b/lib/vsprintf.c
|
||||
@@ -670,8 +670,10 @@ char *symbol_string(char *buf, char *end
|
||||
@@ -696,8 +696,10 @@ char *symbol_string(char *buf, char *end
|
||||
struct printf_spec spec, const char *fmt)
|
||||
{
|
||||
unsigned long value;
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
|
||||
if (fmt[1] == 'R')
|
||||
@@ -685,11 +687,16 @@ char *symbol_string(char *buf, char *end
|
||||
@@ -711,11 +713,16 @@ char *symbol_string(char *buf, char *end
|
||||
sprint_symbol(sym, value);
|
||||
else
|
||||
sprint_symbol_no_offset(sym, value);
|
||||
|
||||
@ -1569,7 +1569,7 @@
|
||||
extern struct kmem_cache *skbuff_head_cache;
|
||||
|
||||
void kfree_skb_partial(struct sk_buff *skb, bool head_stolen);
|
||||
@@ -3876,8 +3895,12 @@ static inline void __nf_copy(struct sk_b
|
||||
@@ -3885,8 +3904,12 @@ static inline void __nf_copy(struct sk_b
|
||||
dst->_nfct = src->_nfct;
|
||||
nf_conntrack_get(skb_nfct(src));
|
||||
#endif
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -4812,6 +4812,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -4813,6 +4813,9 @@ static enum gro_result dev_gro_receive(s
|
||||
enum gro_result ret;
|
||||
int grow;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -6290,6 +6293,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -6298,6 +6301,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info)
|
||||
@@ -6328,6 +6373,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -6336,6 +6381,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -6405,6 +6451,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -6413,6 +6459,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
}
|
||||
@@ -6969,6 +7016,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -6977,6 +7024,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
static int netif_rx_internal(struct sk_buff *skb);
|
||||
static int call_netdevice_notifiers_info(unsigned long val,
|
||||
@@ -5247,6 +5248,11 @@ void __napi_schedule(struct napi_struct
|
||||
@@ -5248,6 +5249,11 @@ void __napi_schedule(struct napi_struct
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
local_irq_save(flags);
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
local_irq_restore(flags);
|
||||
@@ -5294,6 +5300,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
@@ -5299,6 +5305,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
*/
|
||||
void __napi_schedule_irqoff(struct napi_struct *n)
|
||||
{
|
||||
@ -108,10 +108,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_schedule_irqoff);
|
||||
@@ -5531,6 +5542,82 @@ static enum hrtimer_restart napi_watchdo
|
||||
if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
else
|
||||
@@ -5539,6 +5550,82 @@ static enum hrtimer_restart napi_watchdo
|
||||
return HRTIMER_NORESTART;
|
||||
}
|
||||
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
|
||||
int (*poll)(struct napi_struct *, int), int weight)
|
||||
{
|
||||
@@ -5549,6 +5636,7 @@ void netif_napi_add(struct net_device *d
|
||||
@@ -5557,6 +5644,7 @@ void netif_napi_add(struct net_device *d
|
||||
#ifdef CONFIG_NETPOLL
|
||||
napi->poll_owner = -1;
|
||||
#endif
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
set_bit(NAPI_STATE_SCHED, &napi->state);
|
||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||
@@ -5576,6 +5664,7 @@ EXPORT_SYMBOL(napi_disable);
|
||||
@@ -5584,6 +5672,7 @@ EXPORT_SYMBOL(napi_disable);
|
||||
void netif_napi_del(struct napi_struct *napi)
|
||||
{
|
||||
might_sleep();
|
||||
@ -210,7 +210,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (napi_hash_del(napi))
|
||||
synchronize_net();
|
||||
list_del_init(&napi->dev_list);
|
||||
@@ -5589,49 +5678,19 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
@@ -5597,49 +5686,19 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
|
||||
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
|
||||
{
|
||||
@ -264,7 +264,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* Some drivers may have called napi_schedule
|
||||
* prior to exhausting their budget.
|
||||
*/
|
||||
@@ -8866,6 +8925,10 @@ static int __init net_dev_init(void)
|
||||
@@ -8874,6 +8933,10 @@ static int __init net_dev_init(void)
|
||||
sd->backlog.weight = weight_p;
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/lib/vsprintf.c
|
||||
+++ b/lib/vsprintf.c
|
||||
@@ -681,8 +681,10 @@ char *symbol_string(char *buf, char *end
|
||||
@@ -707,8 +707,10 @@ char *symbol_string(char *buf, char *end
|
||||
struct printf_spec spec, const char *fmt)
|
||||
{
|
||||
unsigned long value;
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
|
||||
if (fmt[1] == 'R')
|
||||
@@ -696,11 +698,16 @@ char *symbol_string(char *buf, char *end
|
||||
@@ -722,11 +724,16 @@ char *symbol_string(char *buf, char *end
|
||||
sprint_symbol(sym, value);
|
||||
else
|
||||
sprint_symbol_no_offset(sym, value);
|
||||
|
||||
@ -1264,7 +1264,7 @@
|
||||
extern struct kmem_cache *skbuff_head_cache;
|
||||
|
||||
void kfree_skb_partial(struct sk_buff *skb, bool head_stolen);
|
||||
@@ -3940,8 +3959,12 @@ static inline void __nf_copy(struct sk_b
|
||||
@@ -3949,8 +3968,12 @@ static inline void __nf_copy(struct sk_b
|
||||
dst->_nfct = src->_nfct;
|
||||
nf_conntrack_get(skb_nfct(src));
|
||||
#endif
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -5471,6 +5471,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -5472,6 +5472,9 @@ static enum gro_result dev_gro_receive(s
|
||||
int same_flow;
|
||||
int grow;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -7130,6 +7133,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -7138,6 +7141,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -7180,6 +7225,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -7188,6 +7233,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -7272,6 +7318,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -7280,6 +7326,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -7911,6 +7958,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -7919,6 +7966,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
static int netif_rx_internal(struct sk_buff *skb);
|
||||
static int call_netdevice_notifiers_info(unsigned long val,
|
||||
@@ -5901,6 +5902,11 @@ void __napi_schedule(struct napi_struct
|
||||
@@ -5902,6 +5903,11 @@ void __napi_schedule(struct napi_struct
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
local_irq_save(flags);
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
local_irq_restore(flags);
|
||||
@@ -5948,6 +5954,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
@@ -5953,6 +5959,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
*/
|
||||
void __napi_schedule_irqoff(struct napi_struct *n)
|
||||
{
|
||||
@ -108,10 +108,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_schedule_irqoff);
|
||||
@@ -6196,6 +6207,82 @@ static void init_gro_hash(struct napi_st
|
||||
if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
else
|
||||
@@ -6204,6 +6215,82 @@ static void init_gro_hash(struct napi_st
|
||||
napi->gro_bitmask = 0;
|
||||
}
|
||||
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
|
||||
int (*poll)(struct napi_struct *, int), int weight)
|
||||
{
|
||||
@@ -6213,6 +6300,7 @@ void netif_napi_add(struct net_device *d
|
||||
@@ -6221,6 +6308,7 @@ void netif_napi_add(struct net_device *d
|
||||
#ifdef CONFIG_NETPOLL
|
||||
napi->poll_owner = -1;
|
||||
#endif
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
set_bit(NAPI_STATE_SCHED, &napi->state);
|
||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||
@@ -6253,6 +6341,7 @@ static void flush_gro_hash(struct napi_s
|
||||
@@ -6261,6 +6349,7 @@ static void flush_gro_hash(struct napi_s
|
||||
void netif_napi_del(struct napi_struct *napi)
|
||||
{
|
||||
might_sleep();
|
||||
@ -210,7 +210,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (napi_hash_del(napi))
|
||||
synchronize_net();
|
||||
list_del_init(&napi->dev_list);
|
||||
@@ -6265,49 +6354,19 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
@@ -6273,49 +6362,19 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
|
||||
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
|
||||
{
|
||||
@ -264,7 +264,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* Some drivers may have called napi_schedule
|
||||
* prior to exhausting their budget.
|
||||
*/
|
||||
@@ -9911,6 +9970,10 @@ static int __init net_dev_init(void)
|
||||
@@ -9919,6 +9978,10 @@ static int __init net_dev_init(void)
|
||||
sd->backlog.weight = weight_p;
|
||||
}
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -207,6 +207,7 @@ static void quirk_mmio_always_on(struct
|
||||
@@ -208,6 +208,7 @@ static void quirk_mmio_always_on(struct
|
||||
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
|
||||
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
|
||||
|
||||
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
||||
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
||||
@@ -3226,6 +3227,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -3227,6 +3228,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
||||
* To work around this, query the size it should be configured to by the
|
||||
@@ -3251,6 +3254,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||
@@ -3252,6 +3255,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
||||
* though no one is handling them (e.g., if the i915 driver is never
|
||||
@@ -3289,6 +3294,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -3290,6 +3295,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!(skb->dev->features & NETIF_F_GRO))
|
||||
goto normal;
|
||||
|
||||
@@ -5874,6 +5877,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -5881,6 +5884,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info)
|
||||
@@ -5946,6 +5991,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -5953,6 +5998,7 @@ static int __netdev_upper_dev_link(struc
|
||||
goto rollback_lower_mesh;
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -6072,6 +6118,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -6079,6 +6125,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
|
||||
|
||||
@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
}
|
||||
@@ -6675,6 +6722,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -6682,6 +6729,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@ -258,7 +258,7 @@
|
||||
|
||||
/* Using vdev_id as queue number will make it very easy to do per-vif
|
||||
* tx queue locking. This shouldn't wrap due to interface combinations
|
||||
@@ -8201,6 +8247,8 @@ int ath10k_mac_register(struct ath10k *a
|
||||
@@ -8202,6 +8248,8 @@ int ath10k_mac_register(struct ath10k *a
|
||||
ieee80211_hw_set(ar->hw, QUEUE_CONTROL);
|
||||
ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG);
|
||||
ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK);
|
||||
|
||||
@ -580,7 +580,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
void __kfree_skb(struct sk_buff *skb);
|
||||
|
||||
#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
|
||||
@@ -3366,6 +3367,7 @@ static inline void skb_free_datagram_loc
|
||||
@@ -3375,6 +3376,7 @@ static inline void skb_free_datagram_loc
|
||||
}
|
||||
int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, unsigned int flags);
|
||||
int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len);
|
||||
@ -713,7 +713,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NET_INGRESS
|
||||
@@ -6435,7 +6436,15 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -6443,7 +6444,15 @@ static int __netdev_upper_dev_link(struc
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info)
|
||||
{
|
||||
@ -730,7 +730,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
int ret = 0;
|
||||
|
||||
ASSERT_RTNL();
|
||||
@@ -6453,12 +6462,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -6461,12 +6470,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (master && netdev_master_upper_dev_get(dev))
|
||||
return -EBUSY;
|
||||
|
||||
@ -744,7 +744,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
if (ret)
|
||||
@@ -6470,7 +6474,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -6478,7 +6482,7 @@ static int __netdev_upper_dev_link(struc
|
||||
return ret;
|
||||
|
||||
netdev_update_addr_mask(dev);
|
||||
@ -753,7 +753,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
if (ret)
|
||||
@@ -6534,21 +6538,25 @@ EXPORT_SYMBOL(netdev_master_upper_dev_li
|
||||
@@ -6542,21 +6546,25 @@ EXPORT_SYMBOL(netdev_master_upper_dev_li
|
||||
void netdev_upper_dev_unlink(struct net_device *dev,
|
||||
struct net_device *upper_dev)
|
||||
{
|
||||
@ -784,7 +784,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
&changeupper_info.info);
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
||||
@@ -6564,11 +6572,13 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
||||
@@ -6572,11 +6580,13 @@ EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
||||
void netdev_bonding_info_change(struct net_device *dev,
|
||||
struct netdev_bonding_info *bonding_info)
|
||||
{
|
||||
@ -800,7 +800,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
&info.info);
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_bonding_info_change);
|
||||
@@ -6694,11 +6704,13 @@ EXPORT_SYMBOL(dev_get_nest_level);
|
||||
@@ -6702,11 +6712,13 @@ EXPORT_SYMBOL(dev_get_nest_level);
|
||||
void netdev_lower_state_changed(struct net_device *lower_dev,
|
||||
void *lower_state_info)
|
||||
{
|
||||
@ -816,7 +816,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
&changelowerstate_info.info);
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_lower_state_changed);
|
||||
@@ -6989,11 +7001,14 @@ void __dev_notify_flags(struct net_devic
|
||||
@@ -6997,11 +7009,14 @@ void __dev_notify_flags(struct net_devic
|
||||
|
||||
if (dev->flags & IFF_UP &&
|
||||
(changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE))) {
|
||||
|
||||
@ -7318,7 +7318,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
dspi: dspi@2100000 {
|
||||
@@ -574,15 +494,126 @@
|
||||
@@ -573,15 +493,126 @@
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
@ -7447,7 +7447,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
i2c1: i2c@2010000 {
|
||||
@@ -593,7 +624,7 @@
|
||||
@@ -592,7 +623,7 @@
|
||||
reg = <0x0 0x2010000 0x0 0x10000>;
|
||||
interrupts = <0 34 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
@ -7456,7 +7456,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
i2c2: i2c@2020000 {
|
||||
@@ -604,7 +635,7 @@
|
||||
@@ -603,7 +634,7 @@
|
||||
reg = <0x0 0x2020000 0x0 0x10000>;
|
||||
interrupts = <0 35 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
@ -7465,7 +7465,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
i2c3: i2c@2030000 {
|
||||
@@ -615,7 +646,7 @@
|
||||
@@ -614,7 +645,7 @@
|
||||
reg = <0x0 0x2030000 0x0 0x10000>;
|
||||
interrupts = <0 35 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
@ -7474,7 +7474,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
ifc: ifc@2240000 {
|
||||
@@ -648,8 +679,8 @@
|
||||
@@ -647,8 +678,8 @@
|
||||
compatible = "fsl,ls2080a-pcie", "fsl,ls2085a-pcie",
|
||||
"snps,dw-pcie";
|
||||
reg-names = "regs", "config";
|
||||
@ -7485,7 +7485,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
@@ -657,20 +688,22 @@
|
||||
@@ -656,20 +687,22 @@
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
msi-parent = <&its>;
|
||||
@ -7510,7 +7510,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
@@ -678,20 +711,22 @@
|
||||
@@ -677,20 +710,22 @@
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
msi-parent = <&its>;
|
||||
@ -7535,7 +7535,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
@@ -699,20 +734,22 @@
|
||||
@@ -698,20 +733,22 @@
|
||||
num-lanes = <8>;
|
||||
bus-range = <0x0 0xff>;
|
||||
msi-parent = <&its>;
|
||||
@ -7560,7 +7560,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
@@ -720,12 +757,14 @@
|
||||
@@ -719,12 +756,14 @@
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
msi-parent = <&its>;
|
||||
@ -7575,7 +7575,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
sata0: sata@3200000 {
|
||||
@@ -754,6 +793,8 @@
|
||||
@@ -753,6 +792,8 @@
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
@ -7584,7 +7584,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
usb1: usb3@3110000 {
|
||||
@@ -764,6 +805,14 @@
|
||||
@@ -763,6 +804,14 @@
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
@ -7599,7 +7599,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
ccn@4000000 {
|
||||
@@ -771,6 +820,14 @@
|
||||
@@ -770,6 +819,14 @@
|
||||
reg = <0x0 0x04000000 0x0 0x01000000>;
|
||||
interrupts = <0 12 4>;
|
||||
};
|
||||
@ -7614,7 +7614,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
||||
};
|
||||
|
||||
ddr1: memory-controller@1080000 {
|
||||
@@ -786,4 +843,44 @@
|
||||
@@ -785,4 +842,44 @@
|
||||
interrupts = <0 18 0x4>;
|
||||
little-endian;
|
||||
};
|
||||
|
||||
@ -1289,7 +1289,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
|
||||
xhci->quirks |= XHCI_BROKEN_PORT_PED;
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -1983,10 +1983,12 @@ static int finish_td(struct xhci_hcd *xh
|
||||
@@ -2016,10 +2016,12 @@ static int finish_td(struct xhci_hcd *xh
|
||||
union xhci_trb *ep_trb, struct xhci_transfer_event *event,
|
||||
struct xhci_virt_ep *ep, int *status)
|
||||
{
|
||||
@ -1302,7 +1302,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
|
||||
u32 trb_comp_code;
|
||||
int ep_index;
|
||||
|
||||
@@ -2009,14 +2011,30 @@ static int finish_td(struct xhci_hcd *xh
|
||||
@@ -2042,14 +2044,30 @@ static int finish_td(struct xhci_hcd *xh
|
||||
if (trb_comp_code == COMP_STALL_ERROR ||
|
||||
xhci_requires_manual_halt_cleanup(xhci, ep_ctx,
|
||||
trb_comp_code)) {
|
||||
@ -1387,7 +1387,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
|
||||
spin_unlock_irqrestore(&xhci->lock, flags);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1794,7 +1794,7 @@ struct xhci_hcd {
|
||||
@@ -1795,7 +1795,7 @@ struct xhci_hcd {
|
||||
#define XHCI_STATE_DYING (1 << 0)
|
||||
#define XHCI_STATE_HALTED (1 << 1)
|
||||
#define XHCI_STATE_REMOVING (1 << 2)
|
||||
@ -1396,7 +1396,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
|
||||
#define XHCI_LINK_TRB_QUIRK BIT_ULL(0)
|
||||
#define XHCI_RESET_EP_QUIRK BIT_ULL(1)
|
||||
#define XHCI_NEC_HOST BIT_ULL(2)
|
||||
@@ -1830,6 +1830,9 @@ struct xhci_hcd {
|
||||
@@ -1831,6 +1831,9 @@ struct xhci_hcd {
|
||||
#define XHCI_SSIC_PORT_UNUSED BIT_ULL(22)
|
||||
#define XHCI_NO_64BIT_SUPPORT BIT_ULL(23)
|
||||
#define XHCI_MISSING_CAS BIT_ULL(24)
|
||||
@ -1406,7 +1406,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
|
||||
/* For controller with a broken Port Disable implementation */
|
||||
#define XHCI_BROKEN_PORT_PED BIT_ULL(25)
|
||||
#define XHCI_LIMIT_ENDPOINT_INTERVAL_7 BIT_ULL(26)
|
||||
@@ -1838,8 +1841,9 @@ struct xhci_hcd {
|
||||
@@ -1839,8 +1842,9 @@ struct xhci_hcd {
|
||||
#define XHCI_HW_LPM_DISABLE BIT_ULL(29)
|
||||
#define XHCI_SUSPEND_DELAY BIT_ULL(30)
|
||||
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
|
||||
|
||||
@ -497,7 +497,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
.name = "sdhci-esdhc",
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2148,7 +2148,7 @@ static void sdhci_send_tuning(struct sdh
|
||||
@@ -2152,7 +2152,7 @@ static void sdhci_send_tuning(struct sdh
|
||||
|
||||
}
|
||||
|
||||
@ -506,7 +506,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -2165,13 +2165,13 @@ static void __sdhci_execute_tuning(struc
|
||||
@@ -2169,13 +2169,13 @@ static void __sdhci_execute_tuning(struc
|
||||
pr_debug("%s: Tuning timeout, falling back to fixed sampling clock\n",
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_abort_tuning(host, opcode);
|
||||
@ -522,7 +522,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2183,6 +2183,7 @@ static void __sdhci_execute_tuning(struc
|
||||
@@ -2187,6 +2187,7 @@ static void __sdhci_execute_tuning(struc
|
||||
pr_info("%s: Tuning failed, falling back to fixed sampling clock\n",
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_reset_tuning(host);
|
||||
@ -530,7 +530,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
}
|
||||
|
||||
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
|
||||
@@ -2244,7 +2245,7 @@ int sdhci_execute_tuning(struct mmc_host
|
||||
@@ -2248,7 +2249,7 @@ int sdhci_execute_tuning(struct mmc_host
|
||||
|
||||
sdhci_start_tuning(host);
|
||||
|
||||
@ -541,7 +541,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
out:
|
||||
--- a/drivers/mmc/host/sdhci.h
|
||||
+++ b/drivers/mmc/host/sdhci.h
|
||||
@@ -545,6 +545,7 @@ struct sdhci_host {
|
||||
@@ -546,6 +546,7 @@ struct sdhci_host {
|
||||
|
||||
unsigned int tuning_count; /* Timer count for re-tuning */
|
||||
unsigned int tuning_mode; /* Re-tuning mode supported by host */
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
|
||||
struct lpuart_port {
|
||||
struct uart_port port;
|
||||
struct clk *clk;
|
||||
@@ -2153,13 +2155,13 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2156,13 +2158,13 @@ static int lpuart_probe(struct platform_
|
||||
|
||||
ret = of_alias_get_id(np, "serial");
|
||||
if (ret < 0) {
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
|
||||
sport->port.line = ret;
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
sport->port.membase = devm_ioremap_resource(&pdev->dev, res);
|
||||
@@ -2250,6 +2252,7 @@ static int lpuart_remove(struct platform
|
||||
@@ -2253,6 +2255,7 @@ static int lpuart_remove(struct platform
|
||||
struct lpuart_port *sport = platform_get_drvdata(pdev);
|
||||
|
||||
uart_remove_one_port(&lpuart_reg, &sport->port);
|
||||
|
||||
@ -127,7 +127,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
/* Set the HCD state before we enable the irqs */
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1730,6 +1730,8 @@ struct xhci_hcd {
|
||||
@@ -1731,6 +1731,8 @@ struct xhci_hcd {
|
||||
u8 max_interrupters;
|
||||
u8 max_ports;
|
||||
u8 isoc_threshold;
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
},
|
||||
[PORT_NPCM] = {
|
||||
.name = "Nuvoton 16550",
|
||||
@@ -2667,6 +2667,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
@@ -2680,6 +2680,11 @@ serial8250_do_set_termios(struct uart_po
|
||||
unsigned long flags;
|
||||
unsigned int baud, quot, frac = 0;
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
#define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0
|
||||
#define PCIE_CORE_LINK_L0S_ENTRY BIT(0)
|
||||
#define PCIE_CORE_LINK_TRAINING BIT(5)
|
||||
@@ -297,7 +299,8 @@ static void advk_pcie_setup_hw(struct ad
|
||||
@@ -298,7 +300,8 @@ static void advk_pcie_setup_hw(struct ad
|
||||
|
||||
/* Set PCIe Device Control and Status 1 PF0 register */
|
||||
reg = PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE |
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
|
||||
(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
|
||||
PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
|
||||
@@ -882,6 +885,58 @@ out_release_res:
|
||||
@@ -913,6 +916,58 @@ out_release_res:
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
static int advk_pcie_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
@@ -956,6 +1011,9 @@ static int advk_pcie_probe(struct platfo
|
||||
@@ -987,6 +1042,9 @@ static int advk_pcie_probe(struct platfo
|
||||
list_for_each_entry(child, &bus->children, node)
|
||||
pcie_bus_configure_settings(child);
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
|
||||
|
||||
--- a/drivers/pci/host/pci-aardvark.c
|
||||
+++ b/drivers/pci/host/pci-aardvark.c
|
||||
@@ -272,6 +272,8 @@ static void advk_pcie_set_ob_win(struct
|
||||
@@ -273,6 +273,8 @@ static void advk_pcie_set_ob_win(struct
|
||||
|
||||
static void advk_pcie_setup_hw(struct advk_pcie *pcie)
|
||||
{
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
|
||||
u32 reg;
|
||||
int i;
|
||||
|
||||
@@ -311,10 +313,15 @@ static void advk_pcie_setup_hw(struct ad
|
||||
@@ -312,10 +314,15 @@ static void advk_pcie_setup_hw(struct ad
|
||||
PCIE_CORE_CTRL2_TD_ENABLE;
|
||||
advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ This reverts commit c8e144f8ab00e6c4a070a932ef9c57db09aa41cf.
|
||||
|
||||
--- a/drivers/pci/controller/pci-aardvark.c
|
||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||
@@ -839,6 +839,7 @@ static int advk_pcie_probe(struct platfo
|
||||
@@ -870,6 +870,7 @@ static int advk_pcie_probe(struct platfo
|
||||
struct device *dev = &pdev->dev;
|
||||
struct advk_pcie *pcie;
|
||||
struct resource *res;
|
||||
@ -18,7 +18,7 @@ This reverts commit c8e144f8ab00e6c4a070a932ef9c57db09aa41cf.
|
||||
struct pci_host_bridge *bridge;
|
||||
int ret, irq;
|
||||
|
||||
@@ -892,13 +893,22 @@ static int advk_pcie_probe(struct platfo
|
||||
@@ -923,13 +924,22 @@ static int advk_pcie_probe(struct platfo
|
||||
bridge->map_irq = of_irq_parse_and_map_pci;
|
||||
bridge->swizzle_irq = pci_common_swizzle;
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
#define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0
|
||||
#define PCIE_CORE_LINK_L0S_ENTRY BIT(0)
|
||||
#define PCIE_CORE_LINK_TRAINING BIT(5)
|
||||
@@ -253,7 +255,8 @@ static void advk_pcie_setup_hw(struct ad
|
||||
@@ -254,7 +256,8 @@ static void advk_pcie_setup_hw(struct ad
|
||||
|
||||
/* Set PCIe Device Control and Status 1 PF0 register */
|
||||
reg = PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE |
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
|
||||
(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
|
||||
PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
|
||||
@@ -834,6 +837,58 @@ out_release_res:
|
||||
@@ -865,6 +868,58 @@ out_release_res:
|
||||
return err;
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
static int advk_pcie_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
@@ -908,6 +963,9 @@ static int advk_pcie_probe(struct platfo
|
||||
@@ -939,6 +994,9 @@ static int advk_pcie_probe(struct platfo
|
||||
list_for_each_entry(child, &bus->children, node)
|
||||
pcie_bus_configure_settings(child);
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
|
||||
|
||||
--- a/drivers/pci/controller/pci-aardvark.c
|
||||
+++ b/drivers/pci/controller/pci-aardvark.c
|
||||
@@ -233,6 +233,8 @@ static int advk_pcie_wait_for_link(struc
|
||||
@@ -234,6 +234,8 @@ static int advk_pcie_wait_for_link(struc
|
||||
|
||||
static void advk_pcie_setup_hw(struct advk_pcie *pcie)
|
||||
{
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
|
||||
u32 reg;
|
||||
|
||||
/* Set to Direct mode */
|
||||
@@ -267,10 +269,15 @@ static void advk_pcie_setup_hw(struct ad
|
||||
@@ -268,10 +270,15 @@ static void advk_pcie_setup_hw(struct ad
|
||||
PCIE_CORE_CTRL2_TD_ENABLE;
|
||||
advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
#include <media/v4l2-common.h>
|
||||
|
||||
@@ -1101,9 +1106,149 @@ static void uvc_video_decode_data(struct
|
||||
@@ -1128,9 +1133,149 @@ static void uvc_video_decode_data(struct
|
||||
}
|
||||
}
|
||||
|
||||
@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
/* Mark the buffer as done if the EOF marker is set. */
|
||||
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
|
||||
uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
|
||||
@@ -1518,6 +1663,8 @@ static int uvc_init_video_isoc(struct uv
|
||||
@@ -1545,6 +1690,8 @@ static int uvc_init_video_isoc(struct uv
|
||||
if (npackets == 0)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user