Revert "kernel: bump to 4.9.202, 4.14.154, 4.19.84"

This reverts commit 2070dec20d745e0efc6c52facf04349b4e7aa002.
This commit is contained in:
LEAN-ESX 2019-11-21 04:03:03 -08:00
parent b1931f72c0
commit a196a98f00
62 changed files with 236 additions and 329 deletions

View File

@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif endif
LINUX_VERSION-4.9 = .202 LINUX_VERSION-4.9 = .199
LINUX_VERSION-4.14 = .154 LINUX_VERSION-4.14 = .152
LINUX_VERSION-4.19 = .84 LINUX_VERSION-4.19 = .82
LINUX_KERNEL_HASH-4.9.202 = 8108ec1cd10fc40821c84e9f087dba10b1767aad66596f4a36925faef55e4ebf LINUX_KERNEL_HASH-4.9.199 = 0f2531f0908e320ee49954e8d84406db659073b202abc514bcc999ceaa3f7ed5
LINUX_KERNEL_HASH-4.14.154 = 86de4a24379a78d67fc08b2e249ccf7b689eb6c37fbe329fc3dfbe8ab4300603 LINUX_KERNEL_HASH-4.14.152 = a9239fd9d341aae07b48a8e7a2afd528fe5cde2617d783454c71e6f3dae2b0aa
LINUX_KERNEL_HASH-4.19.84 = 868b4a92619cb00ab142a20a67f000525b9605820d1b66faa4a183133eac0660 LINUX_KERNEL_HASH-4.19.82 = 58d96d6c2c5ee8288fe9714891e4037a18f457b008e369e33fc744afc2cb595d
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -7980,8 +7980,6 @@ int alloc_contig_range(unsigned long sta @@ -7972,8 +7972,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */ /* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, false)) { if (test_pages_isolated(outer_start, end, false)) {

View File

@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/usb/lan78xx.c --- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c
@@ -2475,6 +2475,11 @@ static int lan78xx_reset(struct lan78xx_ @@ -2472,6 +2472,11 @@ static int lan78xx_reset(struct lan78xx_
int ret = 0; int ret = 0;
unsigned long timeout; unsigned long timeout;
u8 sig; u8 sig;
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
ret = lan78xx_read_reg(dev, HW_CFG, &buf); ret = lan78xx_read_reg(dev, HW_CFG, &buf);
buf |= HW_CFG_LRST_; buf |= HW_CFG_LRST_;
@@ -2528,6 +2533,9 @@ static int lan78xx_reset(struct lan78xx_ @@ -2525,6 +2530,9 @@ static int lan78xx_reset(struct lan78xx_
ret = lan78xx_read_reg(dev, HW_CFG, &buf); ret = lan78xx_read_reg(dev, HW_CFG, &buf);
buf |= HW_CFG_MEF_; buf |= HW_CFG_MEF_;
@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
ret = lan78xx_write_reg(dev, HW_CFG, buf); ret = lan78xx_write_reg(dev, HW_CFG, buf);
ret = lan78xx_read_reg(dev, USB_CFG0, &buf); ret = lan78xx_read_reg(dev, USB_CFG0, &buf);
@@ -2583,6 +2591,9 @@ static int lan78xx_reset(struct lan78xx_ @@ -2580,6 +2588,9 @@ static int lan78xx_reset(struct lan78xx_
buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_; buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
} }
} }

View File

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/usb/lan78xx.c --- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c
@@ -2657,6 +2657,22 @@ static int lan78xx_open(struct net_devic @@ -2654,6 +2654,22 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); netif_dbg(dev, ifup, dev->net, "phy initialised successfully");

View File

@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{ {
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
@@ -3006,8 +3015,14 @@ static int lan78xx_bind(struct lan78xx_n @@ -3003,8 +3012,14 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_RX_CSUM_ENABLE) if (DEFAULT_RX_CSUM_ENABLE)
dev->net->features |= NETIF_F_RXCSUM; dev->net->features |= NETIF_F_RXCSUM;

View File

@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/usb/lan78xx.c --- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c
@@ -2189,6 +2189,22 @@ static int lan78xx_phy_init(struct lan78 @@ -2186,6 +2186,22 @@ static int lan78xx_phy_init(struct lan78
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);
@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
if (phydev->mdio.dev.of_node) { if (phydev->mdio.dev.of_node) {
u32 reg; u32 reg;
int len; int len;
@@ -2666,22 +2682,6 @@ static int lan78xx_open(struct net_devic @@ -2663,22 +2679,6 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully"); netif_dbg(dev, ifup, dev->net, "phy initialised successfully");

View File

@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data) static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{ {
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL); u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
@@ -3819,7 +3824,12 @@ static int lan78xx_probe(struct usb_inte @@ -3816,7 +3821,12 @@ static int lan78xx_probe(struct usb_inte
dev->pipe_intr = usb_rcvintpipe(dev->udev, dev->pipe_intr = usb_rcvintpipe(dev->udev,
dev->ep_intr->desc.bEndpointAddress & dev->ep_intr->desc.bEndpointAddress &
USB_ENDPOINT_NUMBER_MASK); USB_ENDPOINT_NUMBER_MASK);

View File

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/usb/lan78xx.c --- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c
@@ -2194,7 +2194,7 @@ static int lan78xx_phy_init(struct lan78 @@ -2191,7 +2191,7 @@ static int lan78xx_phy_init(struct lan78
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control); mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv); phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);

View File

@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing.
--- a/drivers/net/usb/lan78xx.c --- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c
@@ -3253,7 +3253,7 @@ static int rx_submit(struct lan78xx_net @@ -3250,7 +3250,7 @@ static int rx_submit(struct lan78xx_net
size_t size = dev->rx_urb_size; size_t size = dev->rx_urb_size;
int ret = 0; int ret = 0;

View File

@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2149,7 +2149,7 @@ static void bcmgenet_init_tx_ring(struct @@ -2147,7 +2147,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_PROD_INDEX);
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_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 */ /* Disable rate control for now */
bcmgenet_tdma_ring_writel(priv, index, flow_period_val, bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
TDMA_FLOW_PERIOD); TDMA_FLOW_PERIOD);
@@ -3576,9 +3576,12 @@ static int bcmgenet_probe(struct platfor @@ -3571,9 +3571,12 @@ static int bcmgenet_probe(struct platfor
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
/* Set default coalescing parameters */ /* Set default coalescing parameters */

View File

@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d #define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201 #define USB_DEVICE_ID_FLIP_KVM 0x3201
@@ -1192,6 +1195,9 @@ @@ -1190,6 +1193,9 @@
#define USB_VENDOR_ID_XAT 0x2505 #define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220 #define USB_DEVICE_ID_XAT_CSR 0x0220

View File

@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static inline void bcmgenet_writel(u32 value, void __iomem *offset) static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{ {
/* MIPS chips strapped for BE will automagically configure the /* MIPS chips strapped for BE will automagically configure the
@@ -2612,6 +2616,7 @@ static void bcmgenet_irq_task(struct wor @@ -2610,6 +2614,7 @@ static void bcmgenet_irq_task(struct wor
unsigned int status; unsigned int status;
struct bcmgenet_priv *priv = container_of( struct bcmgenet_priv *priv = container_of(
work, struct bcmgenet_priv, bcmgenet_irq_work); work, struct bcmgenet_priv, bcmgenet_irq_work);
@ -39,14 +39,11 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
netif_dbg(priv, intr, priv->dev, "%s\n", __func__); netif_dbg(priv, intr, priv->dev, "%s\n", __func__);
@@ -2625,9 +2630,26 @@ static void bcmgenet_irq_task(struct wor @@ -2622,6 +2627,23 @@ static void bcmgenet_irq_task(struct wor
phy_init_hw(priv->dev->phydev); if (status & UMAC_IRQ_LINK_EVENT) {
priv->dev->phydev->link = !!(status & UMAC_IRQ_LINK_UP);
/* Link UP/DOWN event */
- if (status & UMAC_IRQ_LINK_EVENT)
+ if (status & UMAC_IRQ_LINK_EVENT) {
phy_mac_interrupt(priv->dev->phydev); phy_mac_interrupt(priv->dev->phydev);
+
+ if (priv->dev->phydev->link && first_link) { + if (priv->dev->phydev->link && first_link) {
+ first_link = 0; + first_link = 0;
+ /* + /*
@ -59,11 +56,10 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+ */ + */
+ if (force_reneg) { + if (force_reneg) {
+ dev_info(&priv->pdev->dev, + dev_info(&priv->pdev->dev,
+ "Forcing renegotiation\n"); + "Forcing renegotiation\n");
+ genphy_restart_aneg(priv->dev->phydev); + genphy_restart_aneg(priv->dev->phydev);
+ } + }
+ } + }
+ } }
} }
/* bcmgenet_isr1: handle Rx and Tx priority queues */

View File

@ -22,7 +22,7 @@ This reverts commit 9c0770ea7682a84a22c33410ef6870af258abacc.
static inline void bcmgenet_writel(u32 value, void __iomem *offset) static inline void bcmgenet_writel(u32 value, void __iomem *offset)
{ {
/* MIPS chips strapped for BE will automagically configure the /* MIPS chips strapped for BE will automagically configure the
@@ -2616,7 +2612,6 @@ static void bcmgenet_irq_task(struct wor @@ -2614,7 +2610,6 @@ static void bcmgenet_irq_task(struct wor
unsigned int status; unsigned int status;
struct bcmgenet_priv *priv = container_of( struct bcmgenet_priv *priv = container_of(
work, struct bcmgenet_priv, bcmgenet_irq_work); work, struct bcmgenet_priv, bcmgenet_irq_work);
@ -30,14 +30,11 @@ This reverts commit 9c0770ea7682a84a22c33410ef6870af258abacc.
netif_dbg(priv, intr, priv->dev, "%s\n", __func__); netif_dbg(priv, intr, priv->dev, "%s\n", __func__);
@@ -2630,26 +2625,9 @@ static void bcmgenet_irq_task(struct wor @@ -2627,23 +2622,6 @@ static void bcmgenet_irq_task(struct wor
phy_init_hw(priv->dev->phydev); if (status & UMAC_IRQ_LINK_EVENT) {
priv->dev->phydev->link = !!(status & UMAC_IRQ_LINK_UP);
/* Link UP/DOWN event */
- if (status & UMAC_IRQ_LINK_EVENT) {
+ if (status & UMAC_IRQ_LINK_EVENT)
phy_mac_interrupt(priv->dev->phydev); phy_mac_interrupt(priv->dev->phydev);
-
- if (priv->dev->phydev->link && first_link) { - if (priv->dev->phydev->link && first_link) {
- first_link = 0; - first_link = 0;
- /* - /*
@ -50,11 +47,10 @@ This reverts commit 9c0770ea7682a84a22c33410ef6870af258abacc.
- */ - */
- if (force_reneg) { - if (force_reneg) {
- dev_info(&priv->pdev->dev, - dev_info(&priv->pdev->dev,
- "Forcing renegotiation\n"); - "Forcing renegotiation\n");
- genphy_restart_aneg(priv->dev->phydev); - genphy_restart_aneg(priv->dev->phydev);
- } - }
- } - }
- } }
} }
/* bcmgenet_isr1: handle Rx and Tx priority queues */

View File

@ -11,7 +11,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -898,8 +898,6 @@ struct nft_stats { @@ -897,8 +897,6 @@ struct nft_stats {
struct u64_stats_sync syncp; struct u64_stats_sync syncp;
}; };
@ -20,7 +20,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
/** /**
* struct nft_base_chain - nf_tables base chain * struct nft_base_chain - nf_tables base chain
* *
@@ -911,7 +909,7 @@ struct nft_stats { @@ -910,7 +908,7 @@ struct nft_stats {
* @dev_name: device name that this base chain is attached to (if any) * @dev_name: device name that this base chain is attached to (if any)
*/ */
struct nft_base_chain { struct nft_base_chain {
@ -29,7 +29,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
const struct nf_chain_type *type; const struct nf_chain_type *type;
u8 policy; u8 policy;
u8 flags; u8 flags;
@@ -972,8 +970,6 @@ enum nft_af_flags { @@ -971,8 +969,6 @@ enum nft_af_flags {
* @owner: module owner * @owner: module owner
* @tables: used internally * @tables: used internally
* @flags: family flags * @flags: family flags
@ -38,7 +38,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* @hooks: hookfn overrides for packet validation * @hooks: hookfn overrides for packet validation
*/ */
struct nft_af_info { struct nft_af_info {
@@ -983,9 +979,6 @@ struct nft_af_info { @@ -982,9 +978,6 @@ struct nft_af_info {
struct module *owner; struct module *owner;
struct list_head tables; struct list_head tables;
u32 flags; u32 flags;

View File

@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -876,7 +876,7 @@ enum nft_chain_type { @@ -875,7 +875,7 @@ enum nft_chain_type {
* @family: address family * @family: address family
* @owner: module owner * @owner: module owner
* @hook_mask: mask of valid hooks * @hook_mask: mask of valid hooks
@ -19,7 +19,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
*/ */
struct nf_chain_type { struct nf_chain_type {
const char *name; const char *name;
@@ -970,7 +970,6 @@ enum nft_af_flags { @@ -969,7 +969,6 @@ enum nft_af_flags {
* @owner: module owner * @owner: module owner
* @tables: used internally * @tables: used internally
* @flags: family flags * @flags: family flags
@ -27,7 +27,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
*/ */
struct nft_af_info { struct nft_af_info {
struct list_head list; struct list_head list;
@@ -979,7 +978,6 @@ struct nft_af_info { @@ -978,7 +977,6 @@ struct nft_af_info {
struct module *owner; struct module *owner;
struct list_head tables; struct list_head tables;
u32 flags; u32 flags;

View File

@ -50,7 +50,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
#include <net/netlink.h> #include <net/netlink.h>
#define NFT_JUMP_STACK_SIZE 16 #define NFT_JUMP_STACK_SIZE 16
@@ -939,6 +940,7 @@ unsigned int nft_do_chain(struct nft_pkt @@ -938,6 +939,7 @@ unsigned int nft_do_chain(struct nft_pkt
* @chains: chains in the table * @chains: chains in the table
* @sets: sets in the table * @sets: sets in the table
* @objects: stateful objects in the table * @objects: stateful objects in the table
@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* @hgenerator: handle generator state * @hgenerator: handle generator state
* @use: number of chain references to this table * @use: number of chain references to this table
* @flags: table flag (see enum nft_table_flags) * @flags: table flag (see enum nft_table_flags)
@@ -950,6 +952,7 @@ struct nft_table { @@ -949,6 +951,7 @@ struct nft_table {
struct list_head chains; struct list_head chains;
struct list_head sets; struct list_head sets;
struct list_head objects; struct list_head objects;
@ -66,7 +66,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
u64 hgenerator; u64 hgenerator;
u32 use; u32 use;
u16 flags:14, u16 flags:14,
@@ -1081,6 +1084,44 @@ int nft_register_obj(struct nft_object_t @@ -1080,6 +1083,44 @@ int nft_register_obj(struct nft_object_t
void nft_unregister_obj(struct nft_object_type *obj_type); void nft_unregister_obj(struct nft_object_type *obj_type);
/** /**
@ -111,7 +111,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* struct nft_traceinfo - nft tracing information and state * struct nft_traceinfo - nft tracing information and state
* *
* @pkt: pktinfo currently processed * @pkt: pktinfo currently processed
@@ -1316,4 +1357,11 @@ struct nft_trans_obj { @@ -1315,4 +1356,11 @@ struct nft_trans_obj {
#define nft_trans_obj(trans) \ #define nft_trans_obj(trans) \
(((struct nft_trans_obj *)trans->data)->obj) (((struct nft_trans_obj *)trans->data)->obj)

View File

@ -14,7 +14,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -969,7 +969,6 @@ enum nft_af_flags { @@ -968,7 +968,6 @@ enum nft_af_flags {
* *
* @list: used internally * @list: used internally
* @family: address family * @family: address family
@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* @owner: module owner * @owner: module owner
* @tables: used internally * @tables: used internally
* @flags: family flags * @flags: family flags
@@ -977,7 +976,6 @@ enum nft_af_flags { @@ -976,7 +975,6 @@ enum nft_af_flags {
struct nft_af_info { struct nft_af_info {
struct list_head list; struct list_head list;
int family; int family;

View File

@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -960,10 +960,6 @@ struct nft_table { @@ -959,10 +959,6 @@ struct nft_table {
char *name; char *name;
}; };
@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
/** /**
* struct nft_af_info - nf_tables address family info * struct nft_af_info - nf_tables address family info
* *
@@ -971,14 +967,12 @@ enum nft_af_flags { @@ -970,14 +966,12 @@ enum nft_af_flags {
* @family: address family * @family: address family
* @owner: module owner * @owner: module owner
* @tables: used internally * @tables: used internally

View File

@ -42,7 +42,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
bool report; bool report;
}; };
@@ -945,6 +945,7 @@ unsigned int nft_do_chain(struct nft_pkt @@ -944,6 +944,7 @@ unsigned int nft_do_chain(struct nft_pkt
* @use: number of chain references to this table * @use: number of chain references to this table
* @flags: table flag (see enum nft_table_flags) * @flags: table flag (see enum nft_table_flags)
* @genmask: generation mask * @genmask: generation mask
@ -50,7 +50,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* @name: name of the table * @name: name of the table
*/ */
struct nft_table { struct nft_table {
@@ -957,6 +958,7 @@ struct nft_table { @@ -956,6 +957,7 @@ struct nft_table {
u32 use; u32 use;
u16 flags:14, u16 flags:14,
genmask:2; genmask:2;
@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
char *name; char *name;
}; };
@@ -966,13 +968,11 @@ struct nft_table { @@ -965,13 +967,11 @@ struct nft_table {
* @list: used internally * @list: used internally
* @family: address family * @family: address family
* @owner: module owner * @owner: module owner

View File

@ -14,7 +14,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -975,8 +975,8 @@ struct nft_af_info { @@ -974,8 +974,8 @@ struct nft_af_info {
struct module *owner; struct module *owner;
}; };

View File

@ -11,7 +11,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -956,28 +956,12 @@ struct nft_table { @@ -955,28 +955,12 @@ struct nft_table {
struct list_head flowtables; struct list_head flowtables;
u64 hgenerator; u64 hgenerator;
u32 use; u32 use;
@ -42,7 +42,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
int nft_register_chain_type(const struct nf_chain_type *); int nft_register_chain_type(const struct nf_chain_type *);
void nft_unregister_chain_type(const struct nf_chain_type *); void nft_unregister_chain_type(const struct nf_chain_type *);
@@ -1145,9 +1129,6 @@ void nft_trace_notify(struct nft_tracein @@ -1144,9 +1128,6 @@ void nft_trace_notify(struct nft_tracein
#define nft_dereference(p) \ #define nft_dereference(p) \
nfnl_dereference(p, NFNL_SUBSYS_NFTABLES) nfnl_dereference(p, NFNL_SUBSYS_NFTABLES)

View File

@ -28,7 +28,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
u32 ktype; u32 ktype;
u32 dtype; u32 dtype;
u32 objtype; u32 objtype;
@@ -942,6 +944,7 @@ unsigned int nft_do_chain(struct nft_pkt @@ -941,6 +943,7 @@ unsigned int nft_do_chain(struct nft_pkt
* @objects: stateful objects in the table * @objects: stateful objects in the table
* @flowtables: flow tables in the table * @flowtables: flow tables in the table
* @hgenerator: handle generator state * @hgenerator: handle generator state
@ -36,7 +36,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* @use: number of chain references to this table * @use: number of chain references to this table
* @flags: table flag (see enum nft_table_flags) * @flags: table flag (see enum nft_table_flags)
* @genmask: generation mask * @genmask: generation mask
@@ -955,6 +958,7 @@ struct nft_table { @@ -954,6 +957,7 @@ struct nft_table {
struct list_head objects; struct list_head objects;
struct list_head flowtables; struct list_head flowtables;
u64 hgenerator; u64 hgenerator;
@ -44,7 +44,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
u32 use; u32 use;
u16 family:6, u16 family:6,
flags:8, flags:8,
@@ -979,9 +983,9 @@ int nft_verdict_dump(struct sk_buff *skb @@ -978,9 +982,9 @@ int nft_verdict_dump(struct sk_buff *skb
* @name: name of this stateful object * @name: name of this stateful object
* @genmask: generation mask * @genmask: generation mask
* @use: number of references to this stateful object * @use: number of references to this stateful object
@ -56,7 +56,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
*/ */
struct nft_object { struct nft_object {
struct list_head list; struct list_head list;
@@ -989,6 +993,7 @@ struct nft_object { @@ -988,6 +992,7 @@ struct nft_object {
struct nft_table *table; struct nft_table *table;
u32 genmask:2, u32 genmask:2,
use:30; use:30;
@ -64,7 +64,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
/* runtime data below here */ /* runtime data below here */
const struct nft_object_ops *ops ____cacheline_aligned; const struct nft_object_ops *ops ____cacheline_aligned;
unsigned char data[] unsigned char data[]
@@ -1070,6 +1075,7 @@ void nft_unregister_obj(struct nft_objec @@ -1069,6 +1074,7 @@ void nft_unregister_obj(struct nft_objec
* @ops_len: number of hooks in array * @ops_len: number of hooks in array
* @genmask: generation mask * @genmask: generation mask
* @use: number of references to this flow table * @use: number of references to this flow table
@ -72,7 +72,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* @data: rhashtable and garbage collector * @data: rhashtable and garbage collector
* @ops: array of hooks * @ops: array of hooks
*/ */
@@ -1082,6 +1088,7 @@ struct nft_flowtable { @@ -1081,6 +1087,7 @@ struct nft_flowtable {
int ops_len; int ops_len;
u32 genmask:2, u32 genmask:2,
use:30; use:30;

View File

@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct delayed_work gc_work; struct delayed_work gc_work;
--- a/include/net/netfilter/nf_tables.h --- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h
@@ -1097,9 +1097,6 @@ struct nft_flowtable { @@ -1096,9 +1096,6 @@ struct nft_flowtable {
struct nft_flowtable *nf_tables_flowtable_lookup(const struct nft_table *table, struct nft_flowtable *nf_tables_flowtable_lookup(const struct nft_table *table,
const struct nlattr *nla, const struct nlattr *nla,
u8 genmask); u8 genmask);

View File

@ -1,49 +0,0 @@
From 0ff035231edca3713c3d0839c44e64a4ac41ef38 Mon Sep 17 00:00:00 2001
From: Martin Schiller <ms@dev.tdt.de>
Date: Thu, 24 Oct 2019 15:09:23 +0200
Subject: [PATCH] leds: trigger: netdev: fix handling on interface rename
The NETDEV_CHANGENAME code is not "unneeded" like it is stated in commit
4cb6560514fa ("leds: trigger: netdev: fix refcnt leak on interface
rename").
The event was accidentally misinterpreted equivalent to
NETDEV_UNREGISTER, but should be equivalent to NETDEV_REGISTER.
This was the case in the original code from the openwrt project.
Otherwise, you are unable to set netdev led triggers for (non-existent)
netdevices, which has to be renamed. This is the case, for example, for
ppp interfaces in openwrt.
Fixes: 06f502f57d0d ("leds: trigger: Introduce a NETDEV trigger")
Fixes: 4cb6560514fa ("leds: trigger: netdev: fix refcnt leak on interface rename")
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
---
drivers/leds/trigger/ledtrig-netdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/leds/trigger/ledtrig-netdev.c
+++ b/drivers/leds/trigger/ledtrig-netdev.c
@@ -299,10 +299,12 @@ static int netdev_trig_notify(struct not
notifier);
if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE
- && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER)
+ && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER
+ && evt != NETDEV_CHANGENAME)
return NOTIFY_DONE;
if (!(dev == trigger_data->net_dev ||
+ (evt == NETDEV_CHANGENAME && !strcmp(dev->name, trigger_data->device_name)) ||
(evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name))))
return NOTIFY_DONE;
@@ -312,6 +314,7 @@ static int netdev_trig_notify(struct not
clear_bit(NETDEV_LED_MODE_LINKUP, &trigger_data->mode);
switch (evt) {
+ case NETDEV_CHANGENAME:
case NETDEV_REGISTER:
if (trigger_data->net_dev)
dev_put(trigger_data->net_dev);

View File

@ -10,7 +10,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c
@@ -532,5 +532,35 @@ void nf_flow_table_free(struct nf_flowta @@ -531,5 +531,35 @@ void nf_flow_table_free(struct nf_flowta
} }
EXPORT_SYMBOL_GPL(nf_flow_table_free); EXPORT_SYMBOL_GPL(nf_flow_table_free);

View File

@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
nf_ct_gc_expired(tmp); nf_ct_gc_expired(tmp);
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c
@@ -183,10 +183,29 @@ static const struct rhashtable_params nf @@ -183,6 +183,24 @@ static const struct rhashtable_params nf
.automatic_shrinking = true, .automatic_shrinking = true,
}; };
@ -79,12 +79,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow)
{ {
int err; int err;
@@ -203,6 +221,7 @@ int flow_offload_add(struct nf_flowtable
return err;
}
+ nf_ct_offload_timeout(flow); + nf_ct_offload_timeout(flow);
flow->timeout = (u32)jiffies + NF_FLOW_TIMEOUT; flow->timeout = (u32)jiffies + NF_FLOW_TIMEOUT;
return 0;
err = rhashtable_insert_fast(&flow_table->rhashtable, }
@@ -317,6 +336,8 @@ static int nf_flow_offload_gc_step(struc @@ -316,6 +335,8 @@ static int nf_flow_offload_gc_step(struc
rhashtable_walk_start(&hti); rhashtable_walk_start(&hti);
while ((tuplehash = rhashtable_walk_next(&hti))) { while ((tuplehash = rhashtable_walk_next(&hti))) {
@ -93,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (IS_ERR(tuplehash)) { if (IS_ERR(tuplehash)) {
err = PTR_ERR(tuplehash); err = PTR_ERR(tuplehash);
if (err != -EAGAIN) if (err != -EAGAIN)
@@ -329,9 +350,13 @@ static int nf_flow_offload_gc_step(struc @@ -328,9 +349,13 @@ static int nf_flow_offload_gc_step(struc
flow = container_of(tuplehash, struct flow_offload, tuplehash[0]); flow = container_of(tuplehash, struct flow_offload, tuplehash[0]);

View File

@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c
@@ -243,6 +243,9 @@ static void flow_offload_del(struct nf_f @@ -242,6 +242,9 @@ static void flow_offload_del(struct nf_f
e = container_of(flow, struct flow_offload_entry, flow); e = container_of(flow, struct flow_offload_entry, flow);
clear_bit(IPS_OFFLOAD_BIT, &e->ct->status); clear_bit(IPS_OFFLOAD_BIT, &e->ct->status);

View File

@ -1,49 +0,0 @@
From 0ff035231edca3713c3d0839c44e64a4ac41ef38 Mon Sep 17 00:00:00 2001
From: Martin Schiller <ms@dev.tdt.de>
Date: Thu, 24 Oct 2019 15:09:23 +0200
Subject: [PATCH] leds: trigger: netdev: fix handling on interface rename
The NETDEV_CHANGENAME code is not "unneeded" like it is stated in commit
4cb6560514fa ("leds: trigger: netdev: fix refcnt leak on interface
rename").
The event was accidentally misinterpreted equivalent to
NETDEV_UNREGISTER, but should be equivalent to NETDEV_REGISTER.
This was the case in the original code from the openwrt project.
Otherwise, you are unable to set netdev led triggers for (non-existent)
netdevices, which has to be renamed. This is the case, for example, for
ppp interfaces in openwrt.
Fixes: 06f502f57d0d ("leds: trigger: Introduce a NETDEV trigger")
Fixes: 4cb6560514fa ("leds: trigger: netdev: fix refcnt leak on interface rename")
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
---
drivers/leds/trigger/ledtrig-netdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/leds/trigger/ledtrig-netdev.c
+++ b/drivers/leds/trigger/ledtrig-netdev.c
@@ -302,10 +302,12 @@ static int netdev_trig_notify(struct not
container_of(nb, struct led_netdev_data, notifier);
if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE
- && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER)
+ && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER
+ && evt != NETDEV_CHANGENAME)
return NOTIFY_DONE;
if (!(dev == trigger_data->net_dev ||
+ (evt == NETDEV_CHANGENAME && !strcmp(dev->name, trigger_data->device_name)) ||
(evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name))))
return NOTIFY_DONE;
@@ -315,6 +317,7 @@ static int netdev_trig_notify(struct not
clear_bit(NETDEV_LED_MODE_LINKUP, &trigger_data->mode);
switch (evt) {
+ case NETDEV_CHANGENAME:
case NETDEV_REGISTER:
if (trigger_data->net_dev)
dev_put(trigger_data->net_dev);

View File

@ -41,7 +41,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
--- a/include/linux/gfp.h --- a/include/linux/gfp.h
+++ b/include/linux/gfp.h +++ b/include/linux/gfp.h
@@ -529,6 +529,8 @@ extern void free_hot_cold_page(struct pa @@ -506,6 +506,8 @@ extern void free_hot_cold_page(struct pa
extern void free_hot_cold_page_list(struct list_head *list, bool cold); extern void free_hot_cold_page_list(struct list_head *list, bool cold);
struct page_frag_cache; struct page_frag_cache;

View File

@ -137,7 +137,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/can/c_can/c_can.c --- a/drivers/net/can/c_can/c_can.c
+++ b/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c
@@ -1079,7 +1079,7 @@ static int c_can_poll(struct napi_struct @@ -1070,7 +1070,7 @@ static int c_can_poll(struct napi_struct
end: end:
if (work_done < quota) { if (work_done < quota) {
@ -668,7 +668,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/hisilicon/hip04_eth.c --- a/drivers/net/ethernet/hisilicon/hip04_eth.c
+++ b/drivers/net/ethernet/hisilicon/hip04_eth.c +++ b/drivers/net/ethernet/hisilicon/hip04_eth.c
@@ -561,7 +561,7 @@ refill: @@ -559,7 +559,7 @@ refill:
priv->reg_inten |= RCV_INT; priv->reg_inten |= RCV_INT;
writel_relaxed(priv->reg_inten, priv->base + PPE_INTEN); writel_relaxed(priv->reg_inten, priv->base + PPE_INTEN);
} }

View File

@ -4264,7 +4264,6 @@ CONFIG_SERIAL_EARLYCON=y
# CONFIG_SGI_IP28 is not set # CONFIG_SGI_IP28 is not set
# CONFIG_SGI_IP32 is not set # CONFIG_SGI_IP32 is not set
# CONFIG_SGI_PARTITION is not set # CONFIG_SGI_PARTITION is not set
# CONFIG_SGL_ALLOC is not set
# CONFIG_SG_POOL is not set # CONFIG_SG_POOL is not set
# CONFIG_SG_SPLIT is not set # CONFIG_SG_SPLIT is not set
CONFIG_SHMEM=y CONFIG_SHMEM=y

View File

@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -1252,7 +1252,6 @@ all: modules @@ -1243,7 +1243,6 @@ all: modules
PHONY += modules PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
@$(kecho) ' Building modules, stage 2.'; @$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
@@ -1281,7 +1280,6 @@ _modinst_: @@ -1272,7 +1271,6 @@ _modinst_:
rm -f $(MODLIB)/build ; \ rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \
fi fi

View File

@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/ */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2530,6 +2530,10 @@ static inline int pskb_trim(struct sk_bu @@ -2514,6 +2514,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0; return (len < skb->len) ? __pskb_trim(skb, len) : 0;
} }
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/** /**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer * pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter * @skb: buffer to alter
@@ -2661,16 +2665,6 @@ static inline struct sk_buff *dev_alloc_ @@ -2645,16 +2649,6 @@ static inline struct sk_buff *dev_alloc_
} }

View File

@ -248,10 +248,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif #endif
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
- proc_create("buddyinfo", 0444, NULL, &buddyinfo_file_operations); - proc_create("buddyinfo", 0444, NULL, &buddyinfo_file_operations);
- proc_create("pagetypeinfo", 0400, NULL, &pagetypeinfo_file_operations); - proc_create("pagetypeinfo", 0444, NULL, &pagetypeinfo_file_operations);
+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) { + if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) {
+ proc_create("buddyinfo", 0444, NULL, &buddyinfo_file_operations); + proc_create("buddyinfo", 0444, NULL, &buddyinfo_file_operations);
+ proc_create("pagetypeinfo", 0400, NULL, &pagetypeinfo_file_operations); + proc_create("pagetypeinfo", 0444, NULL, &pagetypeinfo_file_operations);
+ proc_create("zoneinfo", 0444, NULL, &zoneinfo_file_operations); + proc_create("zoneinfo", 0444, NULL, &zoneinfo_file_operations);
+ } + }
proc_create("vmstat", 0444, NULL, &vmstat_file_operations); proc_create("vmstat", 0444, NULL, &vmstat_file_operations);

View File

@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -2165,6 +2165,7 @@ int wake_up_state(struct task_struct *p, @@ -2164,6 +2164,7 @@ int wake_up_state(struct task_struct *p,
{ {
return try_to_wake_up(p, state, 0); return try_to_wake_up(p, state, 0);
} }

View File

@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -1232,7 +1232,6 @@ all: modules @@ -1226,7 +1226,6 @@ all: modules
PHONY += modules PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
@$(kecho) ' Building modules, stage 2.'; @$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
@@ -1261,7 +1260,6 @@ _modinst_: @@ -1255,7 +1254,6 @@ _modinst_:
rm -f $(MODLIB)/build ; \ rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \
fi fi

View File

@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/ */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2545,6 +2545,10 @@ static inline int pskb_trim(struct sk_bu @@ -2529,6 +2529,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0; return (len < skb->len) ? __pskb_trim(skb, len) : 0;
} }
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/** /**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer * pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter * @skb: buffer to alter
@@ -2676,16 +2680,6 @@ static inline struct sk_buff *dev_alloc_ @@ -2660,16 +2664,6 @@ static inline struct sk_buff *dev_alloc_
} }

View File

@ -248,10 +248,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif #endif
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
- proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op); - proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op);
- proc_create_seq("pagetypeinfo", 0400, NULL, &pagetypeinfo_op); - proc_create_seq("pagetypeinfo", 0444, NULL, &pagetypeinfo_op);
+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) { + if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) {
+ proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op); + proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op);
+ proc_create_seq("pagetypeinfo", 0400, NULL, &pagetypeinfo_op); + proc_create_seq("pagetypeinfo", 0444, NULL, &pagetypeinfo_op);
+ proc_create_seq("zoneinfo", 0444, NULL, &zoneinfo_op); + proc_create_seq("zoneinfo", 0444, NULL, &zoneinfo_op);
+ } + }
proc_create_seq("vmstat", 0444, NULL, &vmstat_op); proc_create_seq("vmstat", 0444, NULL, &vmstat_op);

View File

@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -1240,7 +1240,6 @@ all: modules @@ -1228,7 +1228,6 @@ all: modules
PHONY += modules PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
@$(kecho) ' Building modules, stage 2.'; @$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild
@@ -1270,7 +1269,6 @@ _modinst_: @@ -1258,7 +1257,6 @@ _modinst_:
rm -f $(MODLIB)/build ; \ rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \
fi fi

View File

@ -24,4 +24,4 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+#endif +#endif
q->drop_batch_size = 64; q->drop_batch_size = 64;
q->quantum = psched_mtu(qdisc_dev(sch)); q->quantum = psched_mtu(qdisc_dev(sch));
get_random_bytes(&q->perturbation, sizeof(q->perturbation)); q->perturbation = prandom_u32();

View File

@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/ */
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2340,6 +2340,10 @@ static inline int pskb_trim(struct sk_bu @@ -2339,6 +2339,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0; return (len < skb->len) ? __pskb_trim(skb, len) : 0;
} }
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/** /**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer * pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter * @skb: buffer to alter
@@ -2460,16 +2464,6 @@ static inline struct sk_buff *dev_alloc_ @@ -2459,16 +2463,6 @@ static inline struct sk_buff *dev_alloc_
} }

View File

@ -249,10 +249,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif #endif
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
- proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); - proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations);
- proc_create("pagetypeinfo", 0400, NULL, &pagetypeinfo_file_ops); - proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops);
+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) { + if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) {
+ proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); + proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations);
+ proc_create("pagetypeinfo", 0400, NULL, &pagetypeinfo_file_ops); + proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops);
+ proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations); + proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations);
+ } + }
proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations); proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations);

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2494,7 +2494,7 @@ static inline int pskb_network_may_pull( @@ -2478,7 +2478,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/ */
#ifndef NET_SKB_PAD #ifndef NET_SKB_PAD

View File

@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -6403,7 +6403,7 @@ static void __ref alloc_node_mem_map(str @@ -6395,7 +6395,7 @@ static void __ref alloc_node_mem_map(str
mem_map = NODE_DATA(0)->node_mem_map; mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM) #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn) if (page_to_pfn(mem_map) != pgdat->node_start_pfn)

View File

@ -113,7 +113,7 @@
{ {
unsigned long rb,rs,prs,r; unsigned long rb,rs,prs,r;
@@ -300,7 +300,7 @@ static inline void fixup_tlbie_lpid(unsi @@ -239,7 +239,7 @@ static inline void fixup_tlbie_lpid(unsi
/* /*
* We use 128 set in radix mode and 256 set in hpt mode. * We use 128 set in radix mode and 256 set in hpt mode.
*/ */
@ -122,7 +122,7 @@
{ {
int set; int set;
@@ -982,7 +982,7 @@ void radix__tlb_flush(struct mmu_gather @@ -918,7 +918,7 @@ void radix__tlb_flush(struct mmu_gather
tlb->need_flush_all = 0; tlb->need_flush_all = 0;
} }

View File

@ -156,7 +156,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c
@@ -228,10 +228,16 @@ int flow_offload_add(struct nf_flowtable @@ -227,10 +227,16 @@ int flow_offload_add(struct nf_flowtable
} }
EXPORT_SYMBOL_GPL(flow_offload_add); EXPORT_SYMBOL_GPL(flow_offload_add);
@ -173,7 +173,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
rhashtable_remove_fast(&flow_table->rhashtable, rhashtable_remove_fast(&flow_table->rhashtable,
&flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].node, &flow->tuplehash[FLOW_OFFLOAD_DIR_ORIGINAL].node,
@@ -246,6 +252,9 @@ static void flow_offload_del(struct nf_f @@ -245,6 +251,9 @@ static void flow_offload_del(struct nf_f
if (!(flow->flags & FLOW_OFFLOAD_TEARDOWN)) if (!(flow->flags & FLOW_OFFLOAD_TEARDOWN))
flow_offload_fixup_ct_state(e->ct); flow_offload_fixup_ct_state(e->ct);
@ -183,7 +183,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
flow_offload_free(flow); flow_offload_free(flow);
} }
@@ -359,6 +368,9 @@ static int nf_flow_offload_gc_step(struc @@ -358,6 +367,9 @@ static int nf_flow_offload_gc_step(struc
if (!teardown) if (!teardown)
nf_ct_offload_timeout(flow); nf_ct_offload_timeout(flow);
@ -193,7 +193,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (nf_flow_has_expired(flow) || teardown) if (nf_flow_has_expired(flow) || teardown)
flow_offload_del(flow_table, flow); flow_offload_del(flow_table, flow);
} }
@@ -494,10 +506,43 @@ int nf_flow_dnat_port(const struct flow_ @@ -493,10 +505,43 @@ int nf_flow_dnat_port(const struct flow_
} }
EXPORT_SYMBOL_GPL(nf_flow_dnat_port); EXPORT_SYMBOL_GPL(nf_flow_dnat_port);
@ -237,7 +237,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
INIT_DEFERRABLE_WORK(&flowtable->gc_work, nf_flow_offload_work_gc); INIT_DEFERRABLE_WORK(&flowtable->gc_work, nf_flow_offload_work_gc);
err = rhashtable_init(&flowtable->rhashtable, err = rhashtable_init(&flowtable->rhashtable,
@@ -535,6 +580,8 @@ static void nf_flow_table_iterate_cleanu @@ -534,6 +579,8 @@ static void nf_flow_table_iterate_cleanu
{ {
nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev); nf_flow_table_iterate(flowtable, nf_flow_table_do_cleanup, dev);
flush_delayed_work(&flowtable->gc_work); flush_delayed_work(&flowtable->gc_work);
@ -246,7 +246,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
} }
void nf_flow_table_cleanup(struct net *net, struct net_device *dev) void nf_flow_table_cleanup(struct net *net, struct net_device *dev)
@@ -548,6 +595,26 @@ void nf_flow_table_cleanup(struct net *n @@ -547,6 +594,26 @@ void nf_flow_table_cleanup(struct net *n
} }
EXPORT_SYMBOL_GPL(nf_flow_table_cleanup); EXPORT_SYMBOL_GPL(nf_flow_table_cleanup);
@ -273,7 +273,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
void nf_flow_table_free(struct nf_flowtable *flow_table) void nf_flow_table_free(struct nf_flowtable *flow_table)
{ {
mutex_lock(&flowtable_lock); mutex_lock(&flowtable_lock);
@@ -557,9 +624,58 @@ void nf_flow_table_free(struct nf_flowta @@ -556,9 +623,58 @@ void nf_flow_table_free(struct nf_flowta
nf_flow_table_iterate(flow_table, nf_flow_table_do_cleanup, NULL); nf_flow_table_iterate(flow_table, nf_flow_table_do_cleanup, NULL);
WARN_ON(!nf_flow_offload_gc_step(flow_table)); WARN_ON(!nf_flow_offload_gc_step(flow_table));
rhashtable_destroy(&flow_table->rhashtable); rhashtable_destroy(&flow_table->rhashtable);

View File

@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct flow_offload_tuple_rhash tuplehash[FLOW_OFFLOAD_DIR_MAX]; struct flow_offload_tuple_rhash tuplehash[FLOW_OFFLOAD_DIR_MAX];
--- a/net/netfilter/nf_flow_table_core.c --- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c
@@ -368,7 +368,7 @@ static int nf_flow_offload_gc_step(struc @@ -367,7 +367,7 @@ static int nf_flow_offload_gc_step(struc
if (!teardown) if (!teardown)
nf_ct_offload_timeout(flow); nf_ct_offload_timeout(flow);

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2509,7 +2509,7 @@ static inline int pskb_network_may_pull( @@ -2493,7 +2493,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/ */
#ifndef NET_SKB_PAD #ifndef NET_SKB_PAD

View File

@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static const struct rt6_info ip6_blk_hole_entry_template = { static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = { .dst = {
.__refcnt = ATOMIC_INIT(1), .__refcnt = ATOMIC_INIT(1),
@@ -904,6 +918,7 @@ static const int fib6_prop[RTN_MAX + 1] @@ -900,6 +914,7 @@ static const int fib6_prop[RTN_MAX + 1]
[RTN_BLACKHOLE] = -EINVAL, [RTN_BLACKHOLE] = -EINVAL,
[RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_UNREACHABLE] = -EHOSTUNREACH,
[RTN_PROHIBIT] = -EACCES, [RTN_PROHIBIT] = -EACCES,
@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
[RTN_THROW] = -EAGAIN, [RTN_THROW] = -EAGAIN,
[RTN_NAT] = -EINVAL, [RTN_NAT] = -EINVAL,
[RTN_XRESOLVE] = -EINVAL, [RTN_XRESOLVE] = -EINVAL,
@@ -941,6 +956,10 @@ static void ip6_rt_init_dst_reject(struc @@ -937,6 +952,10 @@ static void ip6_rt_init_dst_reject(struc
rt->dst.output = ip6_pkt_prohibit_out; rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit; rt->dst.input = ip6_pkt_prohibit;
break; break;
@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case RTN_THROW: case RTN_THROW:
case RTN_UNREACHABLE: case RTN_UNREACHABLE:
default: default:
@@ -3781,6 +3800,17 @@ static int ip6_pkt_prohibit_out(struct n @@ -3774,6 +3793,17 @@ static int ip6_pkt_prohibit_out(struct n
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
} }
@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* /*
* Allocate a dst for local (unicast / anycast) address. * Allocate a dst for local (unicast / anycast) address.
*/ */
@@ -4228,7 +4258,8 @@ static int rtm_to_fib6_config(struct sk_ @@ -4221,7 +4251,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE || if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT || rtm->rtm_type == RTN_PROHIBIT ||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -5076,6 +5107,8 @@ static int ip6_route_dev_notify(struct n @@ -5069,6 +5100,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -5087,6 +5120,7 @@ static int ip6_route_dev_notify(struct n @@ -5080,6 +5113,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif #endif
} }
@@ -5281,6 +5315,15 @@ static int __net_init ip6_route_net_init @@ -5274,6 +5308,15 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif #endif
net->ipv6.sysctl.flush_delay = 0; net->ipv6.sysctl.flush_delay = 0;
@@ -5299,6 +5342,8 @@ out: @@ -5292,6 +5335,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -5319,6 +5364,7 @@ static void __net_exit ip6_route_net_exi @@ -5312,6 +5357,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
} }
@@ -5395,6 +5441,9 @@ void __init ip6_route_init_special_entri @@ -5388,6 +5434,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h --- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h +++ b/include/linux/skbuff.h
@@ -2304,7 +2304,7 @@ static inline int pskb_network_may_pull( @@ -2303,7 +2303,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/ */
#ifndef NET_SKB_PAD #ifndef NET_SKB_PAD

View File

@ -132,7 +132,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
async_desc->num_desc = num_alloc; async_desc->num_desc = num_alloc;
async_desc->curr_desc = async_desc->desc; async_desc->curr_desc = async_desc->desc;
@@ -685,29 +688,16 @@ err_out: @@ -685,14 +688,16 @@ err_out:
static int bam_dma_terminate_all(struct dma_chan *chan) static int bam_dma_terminate_all(struct dma_chan *chan)
{ {
struct bam_chan *bchan = to_bam_chan(chan); struct bam_chan *bchan = to_bam_chan(chan);
@ -142,32 +142,17 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/* remove all transactions, including active transaction */ /* remove all transactions, including active transaction */
spin_lock_irqsave(&bchan->vc.lock, flag); spin_lock_irqsave(&bchan->vc.lock, flag);
- /*
- * If we have transactions queued, then some might be committed to the
- * hardware in the desc fifo. The only way to reset the desc fifo is
- * to do a hardware reset (either by pipe or the entire block).
- * bam_chan_init_hw() will trigger a pipe reset, and also reinit the
- * pipe. If the pipe is left disabled (default state after pipe reset)
- * and is accessed by a connected hardware engine, a fatal error in
- * the BAM will occur. There is a small window where this could happen
- * with bam_chan_init_hw(), but it is assumed that the caller has
- * stopped activity on any attached hardware engine. Make sure to do
- * this first so that the BAM hardware doesn't cause memory corruption
- * by accessing freed resources.
- */
- if (bchan->curr_txd) { - if (bchan->curr_txd) {
- bam_chan_init_hw(bchan, bchan->curr_txd->dir);
- list_add(&bchan->curr_txd->vd.node, &bchan->vc.desc_issued); - list_add(&bchan->curr_txd->vd.node, &bchan->vc.desc_issued);
- bchan->curr_txd = NULL; - bchan->curr_txd = NULL;
- }
+ list_for_each_entry_safe(async_desc, tmp, + list_for_each_entry_safe(async_desc, tmp,
+ &bchan->desc_list, desc_node) { + &bchan->desc_list, desc_node) {
+ list_add(&async_desc->vd.node, &bchan->vc.desc_issued); + list_add(&async_desc->vd.node, &bchan->vc.desc_issued);
+ list_del(&async_desc->desc_node); + list_del(&async_desc->desc_node);
}
vchan_get_all_descriptors(&bchan->vc, &head); vchan_get_all_descriptors(&bchan->vc, &head);
spin_unlock_irqrestore(&bchan->vc.lock, flag); @@ -764,9 +769,9 @@ static int bam_resume(struct dma_chan *c
@@ -778,9 +768,9 @@ static int bam_resume(struct dma_chan *c
*/ */
static u32 process_channel_irqs(struct bam_device *bdev) static u32 process_channel_irqs(struct bam_device *bdev)
{ {
@ -179,7 +164,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
srcs = readl_relaxed(bam_addr(bdev, 0, BAM_IRQ_SRCS_EE)); srcs = readl_relaxed(bam_addr(bdev, 0, BAM_IRQ_SRCS_EE));
@@ -800,27 +790,40 @@ static u32 process_channel_irqs(struct b @@ -786,27 +791,40 @@ static u32 process_channel_irqs(struct b
writel_relaxed(pipe_stts, bam_addr(bdev, i, BAM_P_IRQ_CLR)); writel_relaxed(pipe_stts, bam_addr(bdev, i, BAM_P_IRQ_CLR));
spin_lock_irqsave(&bchan->vc.lock, flags); spin_lock_irqsave(&bchan->vc.lock, flags);
@ -229,7 +214,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
} }
spin_unlock_irqrestore(&bchan->vc.lock, flags); spin_unlock_irqrestore(&bchan->vc.lock, flags);
@@ -882,6 +885,7 @@ static enum dma_status bam_tx_status(str @@ -868,6 +886,7 @@ static enum dma_status bam_tx_status(str
struct dma_tx_state *txstate) struct dma_tx_state *txstate)
{ {
struct bam_chan *bchan = to_bam_chan(chan); struct bam_chan *bchan = to_bam_chan(chan);
@ -237,7 +222,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
struct virt_dma_desc *vd; struct virt_dma_desc *vd;
int ret; int ret;
size_t residue = 0; size_t residue = 0;
@@ -897,11 +901,17 @@ static enum dma_status bam_tx_status(str @@ -883,11 +902,17 @@ static enum dma_status bam_tx_status(str
spin_lock_irqsave(&bchan->vc.lock, flags); spin_lock_irqsave(&bchan->vc.lock, flags);
vd = vchan_find_desc(&bchan->vc, cookie); vd = vchan_find_desc(&bchan->vc, cookie);
@ -259,7 +244,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
spin_unlock_irqrestore(&bchan->vc.lock, flags); spin_unlock_irqrestore(&bchan->vc.lock, flags);
@@ -942,63 +952,86 @@ static void bam_start_dma(struct bam_cha @@ -928,63 +953,86 @@ static void bam_start_dma(struct bam_cha
{ {
struct virt_dma_desc *vd = vchan_next_desc(&bchan->vc); struct virt_dma_desc *vd = vchan_next_desc(&bchan->vc);
struct bam_device *bdev = bchan->bdev; struct bam_device *bdev = bchan->bdev;
@ -326,19 +311,19 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
+ async_desc->xfer_len = avail; + async_desc->xfer_len = avail;
+ else + else
+ async_desc->xfer_len = async_desc->num_desc; + async_desc->xfer_len = async_desc->num_desc;
+
- if (bchan->tail + async_desc->xfer_len > MAX_DESCRIPTORS) {
- u32 partial = MAX_DESCRIPTORS - bchan->tail;
+ /* set any special flags on the last descriptor */ + /* set any special flags on the last descriptor */
+ if (async_desc->num_desc == async_desc->xfer_len) + if (async_desc->num_desc == async_desc->xfer_len)
+ desc[async_desc->xfer_len - 1].flags |= + desc[async_desc->xfer_len - 1].flags |=
+ cpu_to_le16(async_desc->flags); + cpu_to_le16(async_desc->flags);
- if (bchan->tail + async_desc->xfer_len > MAX_DESCRIPTORS) {
- u32 partial = MAX_DESCRIPTORS - bchan->tail;
+ vd = vchan_next_desc(&bchan->vc);
- memcpy(&fifo[bchan->tail], desc, - memcpy(&fifo[bchan->tail], desc,
- partial * sizeof(struct bam_desc_hw)); - partial * sizeof(struct bam_desc_hw));
- memcpy(fifo, &desc[partial], (async_desc->xfer_len - partial) * - memcpy(fifo, &desc[partial], (async_desc->xfer_len - partial) *
+ vd = vchan_next_desc(&bchan->vc);
+
+ dmaengine_desc_get_callback(&async_desc->vd.tx, &cb); + dmaengine_desc_get_callback(&async_desc->vd.tx, &cb);
+ +
+ /* + /*
@ -382,7 +367,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
/* ensure descriptor writes and dma start not reordered */ /* ensure descriptor writes and dma start not reordered */
wmb(); wmb();
@@ -1027,7 +1060,7 @@ static void dma_tasklet(unsigned long da @@ -1013,7 +1061,7 @@ static void dma_tasklet(unsigned long da
bchan = &bdev->channels[i]; bchan = &bdev->channels[i];
spin_lock_irqsave(&bchan->vc.lock, flags); spin_lock_irqsave(&bchan->vc.lock, flags);
@ -391,7 +376,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
bam_start_dma(bchan); bam_start_dma(bchan);
spin_unlock_irqrestore(&bchan->vc.lock, flags); spin_unlock_irqrestore(&bchan->vc.lock, flags);
} }
@@ -1048,7 +1081,7 @@ static void bam_issue_pending(struct dma @@ -1034,7 +1082,7 @@ static void bam_issue_pending(struct dma
spin_lock_irqsave(&bchan->vc.lock, flags); spin_lock_irqsave(&bchan->vc.lock, flags);
/* if work pending and idle, start a transaction */ /* if work pending and idle, start a transaction */
@ -400,7 +385,7 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
bam_start_dma(bchan); bam_start_dma(bchan);
spin_unlock_irqrestore(&bchan->vc.lock, flags); spin_unlock_irqrestore(&bchan->vc.lock, flags);
@@ -1152,6 +1185,7 @@ static void bam_channel_init(struct bam_ @@ -1138,6 +1186,7 @@ static void bam_channel_init(struct bam_
vchan_init(&bchan->vc, &bdev->common); vchan_init(&bchan->vc, &bdev->common);
bchan->vc.desc_free = bam_dma_free_desc; bchan->vc.desc_free = bam_dma_free_desc;

View File

@ -7,7 +7,7 @@
+ { "mx25l25635f", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, + { "mx25l25635f", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
{ "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
@@ -1201,11 +1202,12 @@ static const struct flash_info spi_nor_i @@ -1201,11 +1202,12 @@ static const struct flash_info spi_nor_i
{ }, { },
}; };

View File

@ -19,4 +19,4 @@ the ubi volume created by the other.
+ { "mx25l25635f", INFO(0xc22019, 0, 64 * 1024, 512, SECT_4K) }, + { "mx25l25635f", INFO(0xc22019, 0, 64 * 1024, 512, SECT_4K) },
{ "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },

View File

@ -580,7 +580,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
void __kfree_skb(struct sk_buff *skb); void __kfree_skb(struct sk_buff *skb);
extern struct kmem_cache *skbuff_head_cache; extern struct kmem_cache *skbuff_head_cache;
@@ -3313,6 +3314,7 @@ static inline void skb_free_datagram_loc @@ -3297,6 +3298,7 @@ static inline void skb_free_datagram_loc
} }
int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, unsigned int flags); 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); int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len);

View File

@ -285,7 +285,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
#define PAGE_NONE __pgprot(((_PAGE_DEFAULT) & ~PTE_VALID) | PTE_PROT_NONE | PTE_RDONLY | PTE_NG | PTE_PXN | PTE_UXN) #define PAGE_NONE __pgprot(((_PAGE_DEFAULT) & ~PTE_VALID) | PTE_PROT_NONE | PTE_RDONLY | PTE_NG | PTE_PXN | PTE_UXN)
--- a/arch/arm64/include/asm/pgtable.h --- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h
@@ -360,6 +360,11 @@ static inline int pmd_protnone(pmd_t pmd @@ -377,6 +377,11 @@ static inline int pmd_protnone(pmd_t pmd
__pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_DEVICE_nGnRnE) | PTE_PXN | PTE_UXN) __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_DEVICE_nGnRnE) | PTE_PXN | PTE_UXN)
#define pgprot_writecombine(prot) \ #define pgprot_writecombine(prot) \
__pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_NORMAL_NC) | PTE_PXN | PTE_UXN) __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_NORMAL_NC) | PTE_PXN | PTE_UXN)

View File

@ -217,7 +217,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
} }
static void __dwc3_set_mode(struct work_struct *work) static void __dwc3_set_mode(struct work_struct *work)
@@ -765,6 +809,96 @@ static void dwc3_core_setup_global_contr @@ -766,6 +810,96 @@ static void dwc3_core_setup_global_contr
static int dwc3_core_get_phy(struct dwc3 *dwc); static int dwc3_core_get_phy(struct dwc3 *dwc);
static int dwc3_core_ulpi_init(struct dwc3 *dwc); static int dwc3_core_ulpi_init(struct dwc3 *dwc);
@ -314,7 +314,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
/** /**
* dwc3_core_init - Low-level initialization of DWC3 Core * dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure * @dwc: Pointer to our controller context structure
@@ -827,6 +961,8 @@ static int dwc3_core_init(struct dwc3 *d @@ -828,6 +962,8 @@ static int dwc3_core_init(struct dwc3 *d
/* Adjust Frame Length */ /* Adjust Frame Length */
dwc3_frame_length_adjustment(dwc); dwc3_frame_length_adjustment(dwc);
@ -323,7 +323,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0);
ret = phy_power_on(dwc->usb2_generic_phy); ret = phy_power_on(dwc->usb2_generic_phy);
@@ -870,6 +1006,22 @@ static int dwc3_core_init(struct dwc3 *d @@ -871,6 +1007,22 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_writel(dwc->regs, DWC3_GUCTL1, reg); dwc3_writel(dwc->regs, DWC3_GUCTL1, reg);
} }
@ -346,7 +346,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
return 0; return 0;
err4: err4:
@@ -1073,6 +1225,8 @@ static void dwc3_get_properties(struct d @@ -1074,6 +1226,8 @@ static void dwc3_get_properties(struct d
&hird_threshold); &hird_threshold);
dwc->usb3_lpm_capable = device_property_read_bool(dev, dwc->usb3_lpm_capable = device_property_read_bool(dev,
"snps,usb3_lpm_capable"); "snps,usb3_lpm_capable");
@ -355,7 +355,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
dwc->disable_scramble_quirk = device_property_read_bool(dev, dwc->disable_scramble_quirk = device_property_read_bool(dev,
"snps,disable_scramble_quirk"); "snps,disable_scramble_quirk");
@@ -1105,8 +1259,16 @@ static void dwc3_get_properties(struct d @@ -1106,8 +1260,16 @@ static void dwc3_get_properties(struct d
dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev,
"snps,dis-tx-ipgap-linecheck-quirk"); "snps,dis-tx-ipgap-linecheck-quirk");
@ -372,9 +372,9 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
device_property_read_u8(dev, "snps,tx_de_emphasis", device_property_read_u8(dev, "snps,tx_de_emphasis",
&tx_de_emphasis); &tx_de_emphasis);
device_property_read_string(dev, "snps,hsphy_interface", device_property_read_string(dev, "snps,hsphy_interface",
@@ -1117,6 +1279,9 @@ static void dwc3_get_properties(struct d @@ -1115,6 +1277,9 @@ static void dwc3_get_properties(struct d
dwc->dis_metastability_quirk = device_property_read_bool(dev, device_property_read_u32(dev, "snps,quirk-frame-length-adjustment",
"snps,dis_metastability_quirk"); &dwc->fladj);
+ dwc->host_vbus_glitches = device_property_read_bool(dev, + dwc->host_vbus_glitches = device_property_read_bool(dev,
+ "snps,host-vbus-glitches"); + "snps,host-vbus-glitches");
@ -382,7 +382,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis; dwc->tx_de_emphasis = tx_de_emphasis;
@@ -1367,12 +1532,14 @@ static int dwc3_resume_common(struct dwc @@ -1365,12 +1530,14 @@ static int dwc3_resume_common(struct dwc
switch (dwc->dr_mode) { switch (dwc->dr_mode) {
case USB_DR_MODE_PERIPHERAL: case USB_DR_MODE_PERIPHERAL:
@ -473,7 +473,21 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
* @disable_scramble_quirk: set if we enable the disable scramble quirk * @disable_scramble_quirk: set if we enable the disable scramble quirk
* @u2exit_lfps_quirk: set if we enable u2exit lfps quirk * @u2exit_lfps_quirk: set if we enable u2exit lfps quirk
* @u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk * @u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk
@@ -922,6 +961,12 @@ struct dwc3 { @@ -869,6 +908,13 @@ struct dwc3_scratchpad_array {
* 1 - -3.5dB de-emphasis
* 2 - No de-emphasis
* 3 - Reserved
+ * @disable_devinit_u1u2_quirk: disable device-initiated U1/U2 request.
+ * @quirk_reverse_in_out: prevent tx fifo reverse the data direction
+ * @quirk_stop_transfer_in_block: prevent block transmission from being
+ * interrupted
+ * @quirk_stop_ep_in_u1: replace stop commad with disable slot command
+ * @host-vbus-glitches: set to avoid vbus glitch during
+ * xhci reset.
* @imod_interval: set the interrupt moderation interval in 250ns
* increments or 0 to disable.
*/
@@ -921,6 +967,12 @@ struct dwc3 {
enum usb_phy_interface hsphy_mode; enum usb_phy_interface hsphy_mode;
u32 fladj; u32 fladj;
@ -486,7 +500,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
u32 irq_gadget; u32 irq_gadget;
u32 nr_scratch; u32 nr_scratch;
u32 u1u2; u32 u1u2;
@@ -1006,6 +1051,7 @@ struct dwc3 { @@ -1005,6 +1057,7 @@ struct dwc3 {
unsigned setup_packet_pending:1; unsigned setup_packet_pending:1;
unsigned three_stage_setup:1; unsigned three_stage_setup:1;
unsigned usb3_lpm_capable:1; unsigned usb3_lpm_capable:1;
@ -494,7 +508,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
unsigned disable_scramble_quirk:1; unsigned disable_scramble_quirk:1;
unsigned u2exit_lfps_quirk:1; unsigned u2exit_lfps_quirk:1;
@@ -1025,6 +1071,11 @@ struct dwc3 { @@ -1024,6 +1077,11 @@ struct dwc3 {
unsigned tx_de_emphasis_quirk:1; unsigned tx_de_emphasis_quirk:1;
unsigned tx_de_emphasis:2; unsigned tx_de_emphasis:2;
@ -504,8 +518,8 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
+ unsigned quirk_stop_ep_in_u1:1; + unsigned quirk_stop_ep_in_u1:1;
+ unsigned host_vbus_glitches:1; + unsigned host_vbus_glitches:1;
unsigned dis_metastability_quirk:1; u16 imod_interval;
};
--- a/drivers/usb/dwc3/ep0.c --- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c
@@ -391,7 +391,7 @@ static int dwc3_ep0_handle_u1(struct dwc @@ -391,7 +391,7 @@ static int dwc3_ep0_handle_u1(struct dwc
@ -528,7 +542,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
reg &= ~DWC3_DCTL_INITU2ENA; reg &= ~DWC3_DCTL_INITU2ENA;
--- a/drivers/usb/dwc3/gadget.c --- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c
@@ -3211,6 +3211,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) @@ -3210,6 +3210,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
{ {
int ret; int ret;
int irq; int irq;
@ -536,7 +550,7 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
irq = dwc3_gadget_get_irq(dwc); irq = dwc3_gadget_get_irq(dwc);
if (irq < 0) { if (irq < 0) {
@@ -3290,6 +3291,12 @@ int dwc3_gadget_init(struct dwc3 *dwc) @@ -3288,6 +3289,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc3_gadget_set_speed(&dwc->gadget, dwc->maximum_speed); dwc3_gadget_set_speed(&dwc->gadget, dwc->maximum_speed);
@ -740,6 +754,15 @@ Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
/* DR has been stopped in usb_gadget_unregister_driver() */ /* DR has been stopped in usb_gadget_unregister_driver() */
remove_proc_file(); remove_proc_file();
@@ -2569,7 +2579,7 @@ static int fsl_udc_remove(struct platfor
dma_pool_destroy(udc_controller->td_pool);
free_irq(udc_controller->irq, udc_controller);
iounmap(dr_regs);
- if (pdata->operating_mode == FSL_USB2_DR_DEVICE)
+ if (res && (pdata->operating_mode == FSL_USB2_DR_DEVICE))
release_mem_region(res->start, resource_size(res));
/* free udc --wait for the release() finished */
--- a/drivers/usb/gadget/udc/fsl_usb2_udc.h --- a/drivers/usb/gadget/udc/fsl_usb2_udc.h
+++ b/drivers/usb/gadget/udc/fsl_usb2_udc.h +++ b/drivers/usb/gadget/udc/fsl_usb2_udc.h
@@ -20,6 +20,10 @@ @@ -20,6 +20,10 @@

View File

@ -470,7 +470,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
/* On Vybrid, disable memory error detection interrupts /* On Vybrid, disable memory error detection interrupts
* and freeze mode. * and freeze mode.
@@ -1011,17 +1028,17 @@ static int flexcan_chip_start(struct net @@ -1011,16 +1028,16 @@ static int flexcan_chip_start(struct net
* and Correction of Memory Errors" to write to * and Correction of Memory Errors" to write to
* MECR register * MECR register
*/ */
@ -485,7 +485,6 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
reg_mecr &= ~FLEXCAN_MECR_ECRWRDIS; reg_mecr &= ~FLEXCAN_MECR_ECRWRDIS;
- flexcan_write(reg_mecr, &regs->mecr); - flexcan_write(reg_mecr, &regs->mecr);
+ priv->write(reg_mecr, &regs->mecr); + priv->write(reg_mecr, &regs->mecr);
reg_mecr |= FLEXCAN_MECR_ECCDIS;
reg_mecr &= ~(FLEXCAN_MECR_NCEFAFRZ | FLEXCAN_MECR_HANCEI_MSK | reg_mecr &= ~(FLEXCAN_MECR_NCEFAFRZ | FLEXCAN_MECR_HANCEI_MSK |
FLEXCAN_MECR_FANCEI_MSK); FLEXCAN_MECR_FANCEI_MSK);
- flexcan_write(reg_mecr, &regs->mecr); - flexcan_write(reg_mecr, &regs->mecr);
@ -493,7 +492,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
} }
err = flexcan_transceiver_enable(priv); err = flexcan_transceiver_enable(priv);
@@ -1037,14 +1054,14 @@ static int flexcan_chip_start(struct net @@ -1036,14 +1053,14 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */ /* enable interrupts atomically */
disable_irq(dev->irq); disable_irq(dev->irq);
@ -512,7 +511,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
return 0; return 0;
@@ -1069,10 +1086,10 @@ static void flexcan_chip_stop(struct net @@ -1068,10 +1085,10 @@ static void flexcan_chip_stop(struct net
flexcan_chip_disable(priv); flexcan_chip_disable(priv);
/* Disable all interrupts */ /* Disable all interrupts */
@ -527,7 +526,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
flexcan_transceiver_disable(priv); flexcan_transceiver_disable(priv);
priv->can.state = CAN_STATE_STOPPED; priv->can.state = CAN_STATE_STOPPED;
@@ -1187,26 +1204,26 @@ static int register_flexcandev(struct ne @@ -1186,26 +1203,26 @@ static int register_flexcandev(struct ne
err = flexcan_chip_disable(priv); err = flexcan_chip_disable(priv);
if (err) if (err)
goto out_disable_per; goto out_disable_per;
@ -559,7 +558,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
if (!(reg & FLEXCAN_MCR_FEN)) { if (!(reg & FLEXCAN_MCR_FEN)) {
netdev_err(dev, "Could not enable RX FIFO, unsupported core\n"); netdev_err(dev, "Could not enable RX FIFO, unsupported core\n");
err = -ENODEV; err = -ENODEV;
@@ -1234,8 +1251,12 @@ static void unregister_flexcandev(struct @@ -1233,8 +1250,12 @@ static void unregister_flexcandev(struct
static const struct of_device_id flexcan_of_match[] = { static const struct of_device_id flexcan_of_match[] = {
{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, }, { .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
{ .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, }, { .compatible = "fsl,imx28-flexcan", .data = &fsl_imx28_devtype_data, },
@ -572,7 +571,7 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com>
{ /* sentinel */ }, { /* sentinel */ },
}; };
MODULE_DEVICE_TABLE(of, flexcan_of_match); MODULE_DEVICE_TABLE(of, flexcan_of_match);
@@ -1315,6 +1336,21 @@ static int flexcan_probe(struct platform @@ -1314,6 +1335,21 @@ static int flexcan_probe(struct platform
dev->flags |= IFF_ECHO; dev->flags |= IFF_ECHO;
priv = netdev_priv(dev); priv = netdev_priv(dev);

View File

@ -286,7 +286,15 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
enum pci_barno { enum pci_barno {
BAR_0, BAR_0,
BAR_1, BAR_1,
@@ -103,7 +114,7 @@ struct pci_endpoint_test { @@ -92,6 +103,7 @@ struct pci_endpoint_test {
void __iomem *bar[6];
struct completion irq_raised;
int last_irq;
+ int num_irqs;
/* mutex to protect the ioctls */
struct mutex mutex;
struct miscdevice miscdev;
@@ -102,7 +114,7 @@ struct pci_endpoint_test {
struct pci_endpoint_test_data { struct pci_endpoint_test_data {
enum pci_barno test_reg_bar; enum pci_barno test_reg_bar;
size_t alignment; size_t alignment;
@ -295,7 +303,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
}; };
static inline u32 pci_endpoint_test_readl(struct pci_endpoint_test *test, static inline u32 pci_endpoint_test_readl(struct pci_endpoint_test *test,
@@ -147,6 +158,100 @@ static irqreturn_t pci_endpoint_test_irq @@ -146,6 +158,100 @@ static irqreturn_t pci_endpoint_test_irq
return IRQ_HANDLED; return IRQ_HANDLED;
} }
@ -396,7 +404,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
static bool pci_endpoint_test_bar(struct pci_endpoint_test *test, static bool pci_endpoint_test_bar(struct pci_endpoint_test *test,
enum pci_barno barno) enum pci_barno barno)
{ {
@@ -179,6 +284,9 @@ static bool pci_endpoint_test_legacy_irq @@ -178,6 +284,9 @@ static bool pci_endpoint_test_legacy_irq
{ {
u32 val; u32 val;
@ -406,7 +414,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_COMMAND, pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_COMMAND,
COMMAND_RAISE_LEGACY_IRQ); COMMAND_RAISE_LEGACY_IRQ);
val = wait_for_completion_timeout(&test->irq_raised, val = wait_for_completion_timeout(&test->irq_raised,
@@ -190,20 +298,24 @@ static bool pci_endpoint_test_legacy_irq @@ -189,20 +298,24 @@ static bool pci_endpoint_test_legacy_irq
} }
static bool pci_endpoint_test_msi_irq(struct pci_endpoint_test *test, static bool pci_endpoint_test_msi_irq(struct pci_endpoint_test *test,
@ -435,9 +443,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
return true; return true;
return false; return false;
@@ -230,10 +342,18 @@ static bool pci_endpoint_test_copy(struc @@ -226,10 +339,18 @@ static bool pci_endpoint_test_copy(struc
if (size > SIZE_MAX - alignment) u32 src_crc32;
goto err; u32 dst_crc32;
+ if (size > SIZE_MAX - alignment) + if (size > SIZE_MAX - alignment)
+ goto err; + goto err;
@ -455,7 +463,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ret = false; ret = false;
goto err; goto err;
} }
@@ -259,7 +379,7 @@ static bool pci_endpoint_test_copy(struc @@ -255,7 +376,7 @@ static bool pci_endpoint_test_copy(struc
orig_dst_addr = dma_alloc_coherent(dev, size + alignment, orig_dst_addr = dma_alloc_coherent(dev, size + alignment,
&orig_dst_phys_addr, GFP_KERNEL); &orig_dst_phys_addr, GFP_KERNEL);
if (!orig_dst_addr) { if (!orig_dst_addr) {
@ -464,7 +472,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ret = false; ret = false;
goto err_orig_src_addr; goto err_orig_src_addr;
} }
@@ -281,8 +401,10 @@ static bool pci_endpoint_test_copy(struc @@ -277,8 +398,10 @@ static bool pci_endpoint_test_copy(struc
pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_SIZE, pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_SIZE,
size); size);
@ -476,9 +484,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
wait_for_completion(&test->irq_raised); wait_for_completion(&test->irq_raised);
@@ -318,10 +440,18 @@ static bool pci_endpoint_test_write(stru @@ -311,10 +434,18 @@ static bool pci_endpoint_test_write(stru
if (size > SIZE_MAX - alignment) size_t alignment = test->alignment;
goto err; u32 crc32;
+ if (size > SIZE_MAX - alignment) + if (size > SIZE_MAX - alignment)
+ goto err; + goto err;
@ -496,7 +504,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ret = false; ret = false;
goto err; goto err;
} }
@@ -348,8 +478,10 @@ static bool pci_endpoint_test_write(stru @@ -341,8 +472,10 @@ static bool pci_endpoint_test_write(stru
pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_SIZE, size); pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_SIZE, size);
@ -508,9 +516,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
wait_for_completion(&test->irq_raised); wait_for_completion(&test->irq_raised);
@@ -379,10 +511,18 @@ static bool pci_endpoint_test_read(struc @@ -369,10 +502,18 @@ static bool pci_endpoint_test_read(struc
if (size > SIZE_MAX - alignment) size_t alignment = test->alignment;
goto err; u32 crc32;
+ if (size > SIZE_MAX - alignment) + if (size > SIZE_MAX - alignment)
+ goto err; + goto err;
@ -528,7 +536,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ret = false; ret = false;
goto err; goto err;
} }
@@ -403,8 +543,10 @@ static bool pci_endpoint_test_read(struc @@ -393,8 +534,10 @@ static bool pci_endpoint_test_read(struc
pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_SIZE, size); pci_endpoint_test_writel(test, PCI_ENDPOINT_TEST_SIZE, size);
@ -540,7 +548,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
wait_for_completion(&test->irq_raised); wait_for_completion(&test->irq_raised);
@@ -417,6 +559,38 @@ err: @@ -407,6 +550,38 @@ err:
return ret; return ret;
} }
@ -579,7 +587,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd, static long pci_endpoint_test_ioctl(struct file *file, unsigned int cmd,
unsigned long arg) unsigned long arg)
{ {
@@ -436,7 +610,8 @@ static long pci_endpoint_test_ioctl(stru @@ -426,7 +601,8 @@ static long pci_endpoint_test_ioctl(stru
ret = pci_endpoint_test_legacy_irq(test); ret = pci_endpoint_test_legacy_irq(test);
break; break;
case PCITEST_MSI: case PCITEST_MSI:
@ -589,7 +597,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
break; break;
case PCITEST_WRITE: case PCITEST_WRITE:
ret = pci_endpoint_test_write(test, arg); ret = pci_endpoint_test_write(test, arg);
@@ -447,6 +622,12 @@ static long pci_endpoint_test_ioctl(stru @@ -437,6 +613,12 @@ static long pci_endpoint_test_ioctl(stru
case PCITEST_COPY: case PCITEST_COPY:
ret = pci_endpoint_test_copy(test, arg); ret = pci_endpoint_test_copy(test, arg);
break; break;
@ -602,7 +610,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
} }
ret: ret:
@@ -462,9 +643,7 @@ static const struct file_operations pci_ @@ -452,9 +634,7 @@ static const struct file_operations pci_
static int pci_endpoint_test_probe(struct pci_dev *pdev, static int pci_endpoint_test_probe(struct pci_dev *pdev,
const struct pci_device_id *ent) const struct pci_device_id *ent)
{ {
@ -612,7 +620,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
int id; int id;
char name[20]; char name[20];
enum pci_barno bar; enum pci_barno bar;
@@ -486,12 +665,15 @@ static int pci_endpoint_test_probe(struc @@ -476,12 +656,15 @@ static int pci_endpoint_test_probe(struc
test->alignment = 0; test->alignment = 0;
test->pdev = pdev; test->pdev = pdev;
@ -629,7 +637,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
} }
init_completion(&test->irq_raised); init_completion(&test->irq_raised);
@@ -511,36 +693,21 @@ static int pci_endpoint_test_probe(struc @@ -501,35 +684,21 @@ static int pci_endpoint_test_probe(struc
pci_set_master(pdev); pci_set_master(pdev);
@ -637,7 +645,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
- irq = pci_alloc_irq_vectors(pdev, 1, 32, PCI_IRQ_MSI); - irq = pci_alloc_irq_vectors(pdev, 1, 32, PCI_IRQ_MSI);
- if (irq < 0) - if (irq < 0)
- dev_err(dev, "failed to get MSI interrupts\n"); - dev_err(dev, "failed to get MSI interrupts\n");
- test->num_irqs = irq;
- } - }
+ if (!pci_endpoint_test_alloc_irq_vectors(test, irq_type)) + if (!pci_endpoint_test_alloc_irq_vectors(test, irq_type))
+ goto err_disable_irq; + goto err_disable_irq;
@ -677,7 +684,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
} }
test->base = test->bar[test_reg_bar]; test->base = test->bar[test_reg_bar];
@@ -556,24 +723,31 @@ static int pci_endpoint_test_probe(struc @@ -545,24 +714,31 @@ static int pci_endpoint_test_probe(struc
id = ida_simple_get(&pci_endpoint_test_ida, 0, 0, GFP_KERNEL); id = ida_simple_get(&pci_endpoint_test_ida, 0, 0, GFP_KERNEL);
if (id < 0) { if (id < 0) {
err = id; err = id;
@ -713,23 +720,20 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
err_ida_remove: err_ida_remove:
ida_simple_remove(&pci_endpoint_test_ida, id); ida_simple_remove(&pci_endpoint_test_ida, id);
@@ -583,11 +757,13 @@ err_iounmap: @@ -571,9 +747,10 @@ err_iounmap:
if (test->bar[bar])
pci_iounmap(pdev, test->bar[bar]); pci_iounmap(pdev, test->bar[bar]);
} }
- for (i = 0; i < irq; i++)
- devm_free_irq(dev, pdev->irq + i, test);
+ pci_endpoint_test_release_irq(test); + pci_endpoint_test_release_irq(test);
err_disable_msi: -err_disable_msi:
pci_disable_msi(pdev); - pci_disable_msi(pdev);
+
+err_disable_irq: +err_disable_irq:
+ pci_endpoint_test_free_irq_vectors(test); + pci_endpoint_test_free_irq_vectors(test);
pci_release_regions(pdev); pci_release_regions(pdev);
err_disable_pdev: err_disable_pdev:
@@ -610,14 +786,15 @@ static void pci_endpoint_test_remove(str @@ -595,12 +772,16 @@ static void pci_endpoint_test_remove(str
return; return;
misc_deregister(&test->miscdev); misc_deregister(&test->miscdev);
@ -739,16 +743,15 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
if (test->bar[bar]) if (test->bar[bar])
pci_iounmap(pdev, test->bar[bar]); pci_iounmap(pdev, test->bar[bar]);
} }
- for (i = 0; i < test->num_irqs; i++)
- devm_free_irq(&pdev->dev, pdev->irq + i, test);
- pci_disable_msi(pdev); - pci_disable_msi(pdev);
+ +
+ pci_endpoint_test_release_irq(test); + pci_endpoint_test_release_irq(test);
+ pci_endpoint_test_free_irq_vectors(test); + pci_endpoint_test_free_irq_vectors(test);
+
pci_release_regions(pdev); pci_release_regions(pdev);
pci_disable_device(pdev); pci_disable_device(pdev);
} }
@@ -625,6 +802,7 @@ static void pci_endpoint_test_remove(str @@ -608,6 +789,7 @@ static void pci_endpoint_test_remove(str
static const struct pci_device_id pci_endpoint_test_tbl[] = { static const struct pci_device_id pci_endpoint_test_tbl[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x) }, { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x) },
{ PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA72x) }, { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA72x) },

View File

@ -159,7 +159,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/rtnetlink.h> #include <linux/rtnetlink.h>
#include <linux/sched/signal.h> #include <linux/sched/signal.h>
@@ -2214,6 +2215,9 @@ static int __ethtool_get_module_info(str @@ -2212,6 +2213,9 @@ static int __ethtool_get_module_info(str
const struct ethtool_ops *ops = dev->ethtool_ops; const struct ethtool_ops *ops = dev->ethtool_ops;
struct phy_device *phydev = dev->phydev; struct phy_device *phydev = dev->phydev;
@ -169,7 +169,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
if (phydev && phydev->drv && phydev->drv->module_info) if (phydev && phydev->drv && phydev->drv->module_info)
return phydev->drv->module_info(phydev, modinfo); return phydev->drv->module_info(phydev, modinfo);
@@ -2248,6 +2252,9 @@ static int __ethtool_get_module_eeprom(s @@ -2246,6 +2250,9 @@ static int __ethtool_get_module_eeprom(s
const struct ethtool_ops *ops = dev->ethtool_ops; const struct ethtool_ops *ops = dev->ethtool_ops;
struct phy_device *phydev = dev->phydev; struct phy_device *phydev = dev->phydev;

View File

@ -0,0 +1,11 @@
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1100,7 +1100,7 @@ static const struct flash_info spi_nor_i
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
- { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
{ "mx66u51235f", INFO(0xc2253a, 0, 64 * 1024, 1024, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
{ "mx66l1g45g", INFO(0xc2201b, 0, 64 * 1024, 2048, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },

View File

@ -475,12 +475,7 @@ CONFIG_X86_FAST_FEATURE_TESTS=y
CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_GENERIC=y CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set # CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_INTEL_MPX is not set
# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
# CONFIG_X86_INTEL_PSTATE is not set # CONFIG_X86_INTEL_PSTATE is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_IO_APIC=y CONFIG_X86_IO_APIC=y

View File

@ -558,13 +558,8 @@ CONFIG_X86_F00F_BUG=y
CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_GENERIC=y CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set # CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_INTEL_MPX is not set
# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
CONFIG_X86_INTEL_LPSS=y CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_INTEL_PSTATE is not set # CONFIG_X86_INTEL_PSTATE is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_UMIP=y CONFIG_X86_INTEL_UMIP=y
CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_INTERNODE_CACHE_SHIFT=6