kernel: bump 6.1 to 6.1.18

This commit is contained in:
DHDAXCW 2023-03-14 02:57:40 +00:00
parent 9f2e9649ed
commit bb3f5e01e8
55 changed files with 137 additions and 304 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.1 = .15
LINUX_KERNEL_HASH-6.1.15 = 2c16dfe2168a2e64ac0d55a12d625ebfb963818bb48b60c1868c7c460644c4fd
LINUX_VERSION-6.1 = .18
LINUX_KERNEL_HASH-6.1.18 = 842ac15eff0e6fb0c150fdf83f4f6aaf6b4c1239dcf8c14e2227620ec0ae141e

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.3 = -rc1
LINUX_KERNEL_HASH-6.3-rc1
LINUX_VERSION-6.3 = -rc2
LINUX_KERNEL_HASH-6.3-rc2 = 9fb1fa648c615089a97c02a526aaff3821b1ff92a918229b4d01d5a8760be1e8

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=linux-firmware
PKG_VERSION:=20230117
PKG_VERSION:=20230310
PKG_RELEASE:=1
PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_HASH:=df11e25ba2fb4d5343473757e17a3b4cef599250a26b1f7e0f038850f0cb3d64
PKG_HASH:=5968d4e5178ca1ecad3c41c36bba4602c288f25c7a48eeaa74113537578199b2
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>

View File

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ksmbd
PKG_VERSION:=3.4.6
PKG_RELEASE:=2
PKG_VERSION:=3.4.7
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/cifsd-team/cifsd/tar.gz/$(PKG_VERSION)?
PKG_HASH:=d742992692dbe164060d2a0ea668895ed2b86252f10427db3d3a002df44c445b
PKG_SOURCE_URL:=https://github.com/cifsd-team/ksmbd/releases/download/$(PKG_VERSION)
PKG_HASH:=ed9ecb2232046054bf0c1fef41690890f99d93b1d72b7e7d158746ac9be18c7f
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
@ -14,6 +14,9 @@ PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define KernelPackage/fs-ksmbd
SUBMENU:=Filesystems
TITLE:=SMB kernel server support

View File

@ -1,14 +0,0 @@
--- a/smb1pdu.c
+++ b/smb1pdu.c
@@ -5851,7 +5851,11 @@ static int smb_populate_readdir_entry(struct ksmbd_conn *conn, int info_level,
*
* Return: 0 on success, otherwise -EINVAL
*/
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
+static bool ksmbd_fill_dirent(struct dir_context *ctx, const char *name, int namlen,
+#else
static int ksmbd_fill_dirent(struct dir_context *ctx, const char *name, int namlen,
+#endif
loff_t offset, u64 ino, unsigned int d_type)
{
struct ksmbd_readdir_data *buf =

View File

@ -1,36 +0,0 @@
From 8824b7af409f51f1316e92e9887c2fd48c0b26d6 Mon Sep 17 00:00:00 2001
From: William Liu <will@willsroot.io>
Date: Fri, 30 Dec 2022 09:13:35 +0900
Subject: ksmbd: check nt_len to be at least CIFS_ENCPWD_SIZE in
ksmbd_decode_ntlmssp_auth_blob
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
"nt_len - CIFS_ENCPWD_SIZE" is passed directly from
ksmbd_decode_ntlmssp_auth_blob to ksmbd_auth_ntlmv2. Malicious requests
can set nt_len to less than CIFS_ENCPWD_SIZE, which results in a negative
number (or large unsigned value) used for a subsequent memcpy in
ksmbd_auth_ntlvm2 and can cause a panic.
Fixes: e2f3448 ("cifsd: add server-side procedures for SMB3")
Cc: stable@vger.kernel.org
Signed-off-by: William Liu <will@willsroot.io>
Signed-off-by: Hrvoje Mišetić <misetichrvoje@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
---
auth.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/auth.c
+++ b/auth.c
@@ -583,7 +583,8 @@ int ksmbd_decode_ntlmssp_auth_blob(struc
dn_off = le32_to_cpu(authblob->DomainName.BufferOffset);
dn_len = le16_to_cpu(authblob->DomainName.Length);
- if (blob_len < (u64)dn_off + dn_len || blob_len < (u64)nt_off + nt_len)
+ if (blob_len < (u64)dn_off + dn_len || blob_len < (u64)nt_off + nt_len ||
+ nt_len < CIFS_ENCPWD_SIZE)
return -EINVAL;
#ifdef CONFIG_SMB_INSECURE_SERVER

View File

@ -1,63 +0,0 @@
From cc4f3b5a6ab4693aba94a45cc073188df4d67175 Mon Sep 17 00:00:00 2001
From: Namjae Jeon <linkinjeon@kernel.org>
Date: Mon, 26 Dec 2022 01:28:52 +0900
Subject: ksmbd: fix infinite loop in ksmbd_conn_handler_loop()
If kernel_recvmsg() return -EAGAIN in ksmbd_tcp_readv() and go round
again, It will cause infinite loop issue. And all threads from next
connections would be doing that. This patch add max retry count(2) to
avoid it. kernel_recvmsg() will wait during 7sec timeout and try to
retry two time if -EAGAIN is returned. And add flags of kvmalloc to
__GFP_NOWARN and __GFP_NORETRY to disconnect immediately without
retrying on memory alloation failure.
Fixes: 0626e66 ("cifsd: add server handler for central processing and tranport layers")
Cc: stable@vger.kernel.org
Reported-by: zdi-disclosures@trendmicro.com # ZDI-CAN-18259
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
---
connection.c | 7 +++++--
transport_tcp.c | 5 ++++-
2 files changed, 9 insertions(+), 3 deletions(-)
--- a/connection.c
+++ b/connection.c
@@ -337,9 +337,12 @@ int ksmbd_conn_handler_loop(void *p)
/* 4 for rfc1002 length field */
size = pdu_size + 4;
- conn->request_buf = kvmalloc(size, GFP_KERNEL);
+ conn->request_buf = kvmalloc(size,
+ GFP_KERNEL |
+ __GFP_NOWARN |
+ __GFP_NORETRY);
if (!conn->request_buf)
- continue;
+ break;
memcpy(conn->request_buf, hdr_buf, sizeof(hdr_buf));
if (!ksmbd_smb_request(conn))
--- a/transport_tcp.c
+++ b/transport_tcp.c
@@ -323,6 +323,7 @@ static int ksmbd_tcp_readv(struct tcp_tr
struct msghdr ksmbd_msg;
struct kvec *iov;
struct ksmbd_conn *conn = KSMBD_TRANS(t)->conn;
+ int max_retry = 2;
iov = get_conn_iovec(t, nr_segs);
if (!iov)
@@ -349,9 +350,11 @@ static int ksmbd_tcp_readv(struct tcp_tr
} else if (conn->status == KSMBD_SESS_NEED_RECONNECT) {
total_read = -EAGAIN;
break;
- } else if (length == -ERESTARTSYS || length == -EAGAIN) {
+ } else if ((length == -ERESTARTSYS || length == -EAGAIN) &&
+ max_retry) {
usleep_range(1000, 2000);
length = 0;
+ max_retry--;
continue;
} else if (length <= 0) {
total_read = -EAGAIN;

View File

@ -6,10 +6,10 @@
#检查外部调用工具
WGET_SSL='wget'
[ -n "$WGET_SSL" ] || write_log 13 "GNU Wget support is required to use Alibaba Cloud API. Please install first"
[ -n "$WGET_SSL" ] || write_log 13 "GNU Wget support is required to use dnspod API. Please install first"
# 变量声明
local __URLBASE __HOST __DOMAIN __TYPE __CMDBASE __TOKEN __POST __POST1 __RECIP __RECID __value __TTL
local __URLBASE __HOST __DOMAIN __TYPE __CMDBASE __POST __POST1 __RECIP __RECID __value __TTL
__URLBASE="https://api.dnspod.com/"
# 从 $domain 分离主机和域名
@ -60,34 +60,26 @@ dnspod_transfer() {
local __A=$1
local __CNT=0
local __ERR=0
local __B __C PID_SLEEP
local __B PID_SLEEP
case "$__A" in
0)
__B="$__CMDBASE 'login_email=$username&login_password=$password&format=json' ${__URLBASE}Auth"
__C=$__B
__B="$__CMDBASE '$__POST' ${__URLBASE}Record.List"
;;
1)
__B="$__CMDBASE '$__POST' ${__URLBASE}Record.List"
__C=1
__B="$__CMDBASE '$__POST1' ${__URLBASE}Record.Create"
;;
2)
__B="$__CMDBASE '$__POST1' ${__URLBASE}Record.Create"
__C=1
;;
3)
__B="$__CMDBASE '$__POST1&record_id=$__RECID&ttl=$__TTL' ${__URLBASE}Record.Modify"
__C=1
;;
esac
while : ; do
[ $__C -eq 1 ] && __C=$(echo -e "$__B" | sed -e "s/${__TOKEN#*,}/***PW***/g")
write_log 7 "#> $__C"
write_log 7 "#> $__B"
eval $__B
__ERR=`jsonfilter -i $DATFILE -e "@.status.code"`
[ $__ERR -eq 1 ] && return 0
[ $__A -eq 1 ] && [ $__ERR -eq 10 ] && return 0
[ $__A -eq 0 ] && [ $__ERR -eq 10 ] && return 0
write_log 3 "Error message:[$(jsonfilter -i $DATFILE -e "@.status.message")]"
if [ $VERBOSE -gt 1 ]; then
@ -108,14 +100,14 @@ dnspod_transfer() {
#添加解析记录
add_domain() {
dnspod_transfer 2
dnspod_transfer 1
write_log 7 "Add new parsing record [${__HOST}.${__DOMAIN}],[type:$__TYPE],[ip:$__IP] successfully!"
return 0
}
#修改解析记录
update_domain() {
dnspod_transfer 3
dnspod_transfer 2
write_log 7 "Modify new parsing record [${__HOST}.${__DOMAIN}],[type:$__TYPE],[ip:$__IP],[TTL:$__TTL] successfully!"
return 0
}
@ -123,11 +115,9 @@ update_domain() {
#获取域名解析记录
describe_domain() {
ret=0
__POST="login_token=$username,$password&format=json&domain=$__DOMAIN&sub_domain=$__HOST&record_type=$__TYPE"
__POST1="$__POST&value=$__IP&record_type=$__TYPE&record_line_id=0"
dnspod_transfer 0
__TOKEN=`jsonfilter -i $DATFILE -e "@.user_token"`
__POST="user_token=$__TOKEN&format=json&domain=$__DOMAIN&sub_domain=$__HOST"
__POST1="$__POST&value=$__IP&record_type=$__TYPE&record_line=default"
dnspod_transfer 1
__TMP=`jsonfilter -i $DATFILE -e "@.records[@.type!='NS']"`
__value=`jsonfilter -s "$__TMP" -e "@.name"`
if [ "$__value" == "" ]; then

View File

@ -6,12 +6,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libcap
PKG_VERSION:=2.66
PKG_RELEASE:=$(AUTORELEASE)
PKG_VERSION:=2.67
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2
PKG_HASH:=15c40ededb3003d70a283fe587a36b7d19c8b3b554e33f86129c059a4bb466b2
PKG_HASH:=ce9b22fdc271beb6dae7543da5f74cf24cb82e6848cfd088a5a069dec5ea5198
PKG_MAINTAINER:=Paul Wassi <p.wassi@gmx.at>
PKG_LICENSE:=GPL-2.0-only

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
PKG_VERSION:=6.1.0
PKG_RELEASE:=$(AUTORELEASE)
PKG_VERSION:=6.2.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
PKG_HASH:=5ce12a0fec6b212725ef218735941b2dab76244db7e72646a76021b0537b43ab
PKG_HASH:=4d72730200ec5b2aabaa1a2f20553c6748292f065d9a154c7d5e22559df9fd62
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=iptables
PKG_LICENSE:=GPL-2.0

View File

@ -1,6 +1,6 @@
--- a/netem/maketable.c
+++ b/netem/maketable.c
@@ -10,7 +10,9 @@
@@ -11,7 +11,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
@ -12,7 +12,7 @@
#include <sys/stat.h>
--- a/netem/normal.c
+++ b/netem/normal.c
@@ -8,8 +8,12 @@
@@ -9,8 +9,12 @@
#include <string.h>
#include <limits.h>
@ -27,7 +27,7 @@
#define TABLEFACTOR NETEM_DIST_SCALE
--- a/netem/pareto.c
+++ b/netem/pareto.c
@@ -7,8 +7,12 @@
@@ -8,8 +8,12 @@
#include <math.h>
#include <limits.h>
@ -42,7 +42,7 @@
#define TABLESIZE 16384
--- a/netem/paretonormal.c
+++ b/netem/paretonormal.c
@@ -14,10 +14,13 @@
@@ -15,10 +15,13 @@
#include <string.h>
#include <math.h>
#include <limits.h>

View File

@ -1,6 +1,6 @@
--- a/tc/Makefile
+++ b/tc/Makefile
@@ -128,6 +128,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR
@@ -127,6 +127,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR
ifneq ($(IPT_LIB_DIR),)
CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\"
endif

View File

@ -1,6 +1,6 @@
--- a/tc/q_fifo.c
+++ b/tc/q_fifo.c
@@ -95,5 +95,6 @@ struct qdisc_util pfifo_head_drop_qdisc_
@@ -90,5 +90,6 @@ struct qdisc_util pfifo_head_drop_qdisc_
struct qdisc_util pfifo_fast_qdisc_util = {
.id = "pfifo_fast",

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -412,7 +412,7 @@ check_tirpc()
@@ -411,7 +411,7 @@ check_tirpc()
check_mnl()
{

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -267,7 +267,7 @@ EOF
@@ -266,7 +266,7 @@ EOF
check_elf()
{

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -470,7 +470,7 @@ EOF
@@ -469,7 +469,7 @@ EOF
check_cap()
{

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -399,7 +399,7 @@ check_selinux()
@@ -398,7 +398,7 @@ check_selinux()
check_tirpc()
{

View File

@ -25,7 +25,7 @@
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
--- a/ip/ip.c
+++ b/ip/ip.c
@@ -65,11 +65,17 @@ static void usage(void)
@@ -61,11 +61,17 @@ static void usage(void)
fprintf(stderr,
"Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n"
" ip [ -force ] -batch filename\n"
@ -43,7 +43,7 @@
" OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n"
" -h[uman-readable] | -iec | -j[son] | -p[retty] |\n"
" -f[amily] { inet | inet6 | mpls | bridge | link } |\n"
@@ -92,37 +98,49 @@ static const struct cmd {
@@ -88,37 +94,49 @@ static const struct cmd {
int (*func)(int argc, char **argv);
} cmds[] = {
{ "address", do_ipaddr },

View File

@ -1,6 +1,6 @@
--- a/tc/Makefile
+++ b/tc/Makefile
@@ -114,7 +114,7 @@ LDLIBS += -L. -lm
@@ -113,7 +113,7 @@ LDLIBS += -L. -lm
ifeq ($(SHARED_LIBS),y)
LDLIBS += -ldl
@ -9,7 +9,7 @@
endif
TCLIB := tc_core.o
@@ -144,7 +144,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
@@ -143,7 +143,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
all: tc $(TCSO)
tc: $(TCOBJ) $(LIBNETLINK) libtc.a
@ -18,7 +18,7 @@
libtc.a: $(TCLIB)
$(QUIET_AR)$(AR) rcs $@ $^
@@ -166,6 +166,7 @@ install: all
@@ -165,6 +165,7 @@ install: all
clean:
rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.tab.h; \
rm -f emp_ematch.tab.*
@ -26,7 +26,7 @@
q_atm.so: q_atm.c
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
@@ -205,4 +206,16 @@ static-syms.h: $(wildcard *.c)
@@ -204,4 +205,16 @@ static-syms.h: $(wildcard *.c)
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
done > $@

View File

@ -11,7 +11,7 @@ Subject: [PATCH] add support for dropping with FAILED_POLICY
--- a/ip/rtm_map.c
+++ b/ip/rtm_map.c
@@ -54,6 +54,8 @@ char *rtnl_rtntype_n2a(int id, char *buf
@@ -49,6 +49,8 @@ char *rtnl_rtntype_n2a(int id, char *buf
return "nat";
case RTN_XRESOLVE:
return "xresolve";
@ -20,7 +20,7 @@ Subject: [PATCH] add support for dropping with FAILED_POLICY
default:
snprintf(buf, len, "%d", id);
return buf;
@@ -89,6 +91,8 @@ int rtnl_rtntype_a2n(int *id, char *arg)
@@ -84,6 +86,8 @@ int rtnl_rtntype_a2n(int *id, char *arg)
res = RTN_UNICAST;
else if (strcmp(arg, "throw") == 0)
res = RTN_THROW;

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -291,7 +291,7 @@ int main(int argc, char **argv) {
@@ -290,7 +290,7 @@ int main(int argc, char **argv) {
}
EOF
@ -9,7 +9,7 @@
local ret=$?
rm -f $TMPDIR/libbpf_test.c $TMPDIR/libbpf_test
@@ -309,7 +309,7 @@ int main(int argc, char **argv) {
@@ -308,7 +308,7 @@ int main(int argc, char **argv) {
}
EOF

View File

@ -11,7 +11,7 @@
--- a/tc/Makefile
+++ b/tc/Makefile
@@ -141,7 +141,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
@@ -140,7 +140,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -456,14 +456,8 @@ EOF
@@ -455,14 +455,8 @@ EOF
if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then
echo "no"
else

View File

@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
@@ -386,7 +386,7 @@ check_libbpf()
@@ -385,7 +385,7 @@ check_libbpf()
check_selinux()
# SELinux is a compile time option in the ss utility
{

View File

@ -1,43 +0,0 @@
From 3a3a2f6be704c970938eb8dac4eb0118f1c2fb06 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Wed, 21 Dec 2022 23:26:28 +0100
Subject: [PATCH iproute2 v2] configure: Remove include <sys/stat.h>
The check_name_to_handle_at() function in the configure script is
including sys/stat.h. This include fails with glibc 2.36 like this:
````
In file included from /linux-5.15.84/include/uapi/linux/stat.h:5,
from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31,
from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465,
from config.YExfMc/name_to_handle_at_test.c:3:
/linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
| ^~~~~~~
In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5,
from /linux-5.15.84/include/uapi/linux/types.h:14:
/linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
5 | #include <linux/compiler_types.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
````
Just removing the include works, the manpage of name_to_handle_at() says
only fcntl.h is needed.
Fixes: c5b72cc56bf8 ("lib/fs: fix issue when {name,open}_to_handle_at() is not implemented")
Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
configure | 1 -
1 file changed, 1 deletion(-)
--- a/configure
+++ b/configure
@@ -215,7 +215,6 @@ check_name_to_handle_at()
cat >$TMPDIR/name_to_handle_at_test.c <<EOF
#define _GNU_SOURCE
#include <sys/types.h>
-#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char **argv)
{

View File

@ -2,8 +2,6 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=fibocom-dial
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=SPD Modem Server
LUCI_DEPENDS:=
LUCI_DEPENDS:=+luci-compat +kmod-sprd_pcie
include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -1,10 +1,10 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:= quectel-CM-5G
PKG_RELEASE:=2
PKG_VERSION:=1.0
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define Package/quectel-CM-5G
@ -23,18 +23,17 @@ define Build/Compile
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
CC="$(TARGET_CC)" \
CC="$(TARGET_CC)"
endef
define Package/quectel-CM-5G/install
$(INSTALL_DIR) $(1)/usr/bin $(1)/lib/netifd/proto $(1)/lib/netifd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/quectel-CM $(1)/usr/bin/quectel-CM
$(INSTALL_BIN) ./files/rmnet_init.sh $(1)/usr/bin
$(INSTALL_BIN) ./files/rmnet.sh $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/rmnet.script $(1)/lib/netifd
$(INSTALL_BIN) ./files/rmnet6.sh $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/rmnet6.script $(1)/lib/netifd
$(INSTALL_DIR) $(1)/usr/bin $(1)/lib/netifd/proto $(1)/lib/netifd
$(INSTALL_BIN) $(PKG_BUILD_DIR)/quectel-CM $(1)/usr/bin/quectel-CM
$(INSTALL_BIN) ./files/rmnet.sh $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/rmnet6.sh $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/rmnet6.script $(1)/lib/netifd
$(INSTALL_BIN) ./files/rmnet.script $(1)/lib/netifd
$(INSTALL_BIN) ./files/rmnet_init.sh $(1)/usr/bin
endef
$(eval $(call BuildPackage,quectel-CM-5G))

View File

@ -15,7 +15,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define KernelPackage/pcie_mhi
SUBMENU:=PCIE Support
SUBMENU:=WWAN Support
TITLE:=Kernel pcie driver for MHI device
DEPENDS:=+pciids +pciutils +quectel-CM-5G
FILES:=$(PKG_BUILD_DIR)/pcie_mhi.ko

View File

@ -15,9 +15,8 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define KernelPackage/sprd_pcie
SUBMENU:=PCIE Support
SUBMENU:=WWAN Support
TITLE:=Kernel pcie driver for SPRD device
DEPENDS:=
FILES:=$(PKG_BUILD_DIR)/sprd_pcie.ko
AUTOLOAD:=$(call AutoLoad,41,sprd_pcie)
endef

View File

@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define NET_RX_SUCCESS 0 /* keep 'em coming, baby */
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10527,6 +10527,22 @@ void netdev_set_default_ethtool_ops(stru
@@ -10529,6 +10529,22 @@ void netdev_set_default_ethtool_ops(stru
}
EXPORT_SYMBOL_GPL(netdev_set_default_ethtool_ops);

View File

@ -785,7 +785,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
*data += size;
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -6397,10 +6397,10 @@ ice_fetch_u64_stats_per_ring(struct u64_
@@ -6396,10 +6396,10 @@ ice_fetch_u64_stats_per_ring(struct u64_
unsigned int start;
do {

View File

@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/mutex.h>
#include <linux/err.h>
#include <linux/property.h>
@@ -3505,3 +3506,5 @@ static int __init regmap_initcall(void)
@@ -3511,3 +3512,5 @@ static int __init regmap_initcall(void)
return 0;
}
postcore_initcall(regmap_initcall);

View File

@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -2698,7 +2698,7 @@ int nf_conntrack_init_start(void)
@@ -2703,7 +2703,7 @@ int nf_conntrack_init_start(void)
if (!nf_conntrack_htable_size) {
nf_conntrack_htable_size

View File

@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3585,6 +3585,11 @@ static int xmit_one(struct sk_buff *skb,
@@ -3587,6 +3587,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);

View File

@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -4078,6 +4078,8 @@ static __net_initdata struct pernet_oper
@@ -4087,6 +4087,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{

View File

@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1606,7 +1606,7 @@ static void device_links_purge(struct de
@@ -1700,7 +1700,7 @@ static void device_links_purge(struct de
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
DL_FLAG_PM_RUNTIME)

View File

@ -94,7 +94,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
#ifdef CONFIG_NF_CONNTRACK_EVENTS
--- a/include/net/netns/conntrack.h
+++ b/include/net/netns/conntrack.h
@@ -106,6 +106,9 @@ struct netns_ct {
@@ -105,6 +105,9 @@ struct netns_ct {
u8 sysctl_checksum;
struct ip_conntrack_stat __percpu *stat;
@ -123,7 +123,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
@@ -2804,6 +2804,10 @@ int nf_conntrack_init_net(struct net *ne
@@ -2809,6 +2809,10 @@ int nf_conntrack_init_net(struct net *ne
nf_conntrack_ecache_pernet_init(net);
nf_conntrack_proto_pernet_init(net);

View File

@ -92,7 +92,7 @@
struct net_bridge_port *p;
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3581,9 +3581,17 @@ static int xmit_one(struct sk_buff *skb,
@@ -3583,9 +3583,17 @@ static int xmit_one(struct sk_buff *skb,
{
unsigned int len;
int rc;
@ -111,7 +111,7 @@
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb)))
@@ -5242,6 +5250,11 @@ void netdev_rx_handler_unregister(struct
@@ -5244,6 +5252,11 @@ void netdev_rx_handler_unregister(struct
}
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
@ -123,7 +123,7 @@
/*
* Limit the use of PFMEMALLOC reserves to those protocols that implement
* the special handling of PFMEMALLOC skbs.
@@ -5290,6 +5303,10 @@ static int __netif_receive_skb_core(stru
@@ -5292,6 +5305,10 @@ static int __netif_receive_skb_core(stru
int ret = NET_RX_DROP;
__be16 type;
@ -134,7 +134,7 @@
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
trace_netif_receive_skb(skb);
@@ -5327,6 +5344,15 @@ another_round:
@@ -5329,6 +5346,15 @@ another_round:
goto out;
}

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile
+++ b/Makefile
@@ -599,7 +599,7 @@ endif
@@ -606,7 +606,7 @@ endif
# Allows the usage of unstable features in stable compilers.
export RUSTC_BOOTSTRAP := 1

View File

@ -202,7 +202,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
return !!nor->params->erase_map.uniform_erase_type;
}
@@ -2148,6 +2150,7 @@ static int spi_nor_select_erase(struct s
@@ -2157,6 +2159,7 @@ static int spi_nor_select_erase(struct s
{
struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL;
@ -210,7 +210,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size;
int i;
@@ -2180,8 +2183,9 @@ static int spi_nor_select_erase(struct s
@@ -2189,8 +2192,9 @@ static int spi_nor_select_erase(struct s
*/
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) {
@ -222,7 +222,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
}
}
@@ -2189,6 +2193,9 @@ static int spi_nor_select_erase(struct s
@@ -2198,6 +2202,9 @@ static int spi_nor_select_erase(struct s
return -EINVAL;
mtd->erasesize = erase->size;

View File

@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1189,6 +1189,73 @@ static struct mtd_info * __init open_mtd
@@ -1196,6 +1196,73 @@ static struct mtd_info * __init open_mtd
return mtd;
}
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
static int __init ubi_init(void)
{
int err, i, k;
@@ -1273,6 +1340,12 @@ static int __init ubi_init(void)
@@ -1280,6 +1347,12 @@ static int __init ubi_init(void)
}
}

View File

@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
i += m->u.match_size) {
@@ -1224,12 +1261,15 @@ compat_copy_entry_to_user(struct ipt_ent
@@ -1223,12 +1260,15 @@ compat_copy_entry_to_user(struct ipt_ent
compat_uint_t origsize;
const struct xt_entry_match *ematch;
int ret = 0;

View File

@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
@@ -6285,6 +6316,8 @@ static int ip6_route_dev_notify(struct n
@@ -6286,6 +6317,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = 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->rt6i_idev = in6_dev_get(dev);
#endif
@@ -6296,6 +6329,7 @@ static int ip6_route_dev_notify(struct n
@@ -6297,6 +6330,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
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);
#endif
}
@@ -6487,6 +6521,8 @@ static int __net_init ip6_route_net_init
@@ -6488,6 +6522,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false;
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL);
@@ -6497,11 +6533,21 @@ static int __net_init ip6_route_net_init
@@ -6498,11 +6534,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
@@ -6528,6 +6574,8 @@ out:
@@ -6529,6 +6575,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
@@ -6547,6 +6595,7 @@ static void __net_exit ip6_route_net_exi
@@ -6548,6 +6596,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
@@ -6630,6 +6679,9 @@ void __init ip6_route_init_special_entri
@@ -6631,6 +6680,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_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);

View File

@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7601,6 +7601,48 @@ static void __netdev_adjacent_dev_unlink
@@ -7603,6 +7603,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,
@@ -7652,6 +7694,7 @@ static int __netdev_upper_dev_link(struc
@@ -7654,6 +7696,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
@@ -7748,6 +7791,7 @@ static void __netdev_upper_dev_unlink(st
@@ -7750,6 +7793,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
@@ -8800,6 +8844,7 @@ int dev_set_mac_address(struct net_devic
@@ -8802,6 +8846,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;

View File

@ -12,7 +12,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3494,11 +3494,8 @@ static void mtk_pending_work(struct work
@@ -3721,11 +3721,8 @@ static void mtk_pending_work(struct work
rtnl_lock();
dev_dbg(eth->dev, "[%s][%d] reset\n", __func__, __LINE__);
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* stop all devices to make sure that dma is properly shut down */
for (i = 0; i < MTK_MAC_COUNT; i++) {
if (!eth->netdev[i])
@@ -3532,7 +3529,7 @@ static void mtk_pending_work(struct work
@@ -3759,7 +3756,7 @@ static void mtk_pending_work(struct work
dev_dbg(eth->dev, "[%s][%d] reset done\n", __func__, __LINE__);

View File

@ -16,7 +16,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3253,6 +3253,27 @@ static void mtk_set_mcr_max_rx(struct mt
@@ -3477,6 +3477,27 @@ static void mtk_set_mcr_max_rx(struct mt
mtk_w32(mac->hw, mcr_new, MTK_MAC_MCR(mac->id));
}
@ -44,7 +44,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
static int mtk_hw_init(struct mtk_eth *eth)
{
u32 dma_mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA |
@@ -3292,22 +3313,9 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -3516,22 +3537,9 @@ static int mtk_hw_init(struct mtk_eth *e
return 0;
}

View File

@ -17,7 +17,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3274,7 +3274,54 @@ static void mtk_hw_reset(struct mtk_eth
@@ -3498,7 +3498,54 @@ static void mtk_hw_reset(struct mtk_eth
0x3ffffff);
}
@ -73,7 +73,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
{
u32 dma_mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA |
ETHSYS_DMA_AG_MAP_PPE;
@@ -3313,7 +3360,12 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -3537,7 +3584,12 @@ static int mtk_hw_init(struct mtk_eth *e
return 0;
}
@ -87,7 +87,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
/* Set FE to PDMAv2 if necessary */
@@ -3521,7 +3573,7 @@ static void mtk_pending_work(struct work
@@ -3748,7 +3800,7 @@ static void mtk_pending_work(struct work
if (eth->dev->pins)
pinctrl_select_state(eth->dev->pins->p,
eth->dev->pins->default_state);
@ -96,7 +96,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
/* restart DMA and enable IRQs */
for (i = 0; i < MTK_MAC_COUNT; i++) {
@@ -4113,7 +4165,7 @@ static int mtk_probe(struct platform_dev
@@ -4377,7 +4429,7 @@ static int mtk_probe(struct platform_dev
eth->msg_enable = netif_msg_init(mtk_msg_level, MTK_DEFAULT_MSG_ENABLE);
INIT_WORK(&eth->pending_work, mtk_pending_work);

View File

@ -16,7 +16,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2841,14 +2841,29 @@ static void mtk_dma_free(struct mtk_eth
@@ -2986,14 +2986,29 @@ static void mtk_dma_free(struct mtk_eth
kfree(eth->scratch_head);
}
@ -48,7 +48,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
schedule_work(&eth->pending_work);
}
@@ -3328,15 +3343,17 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -3552,15 +3567,17 @@ static int mtk_hw_init(struct mtk_eth *e
const struct mtk_reg_map *reg_map = eth->soc->reg_map;
int i, val, ret;
@ -72,7 +72,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
if (eth->ethsys)
regmap_update_bits(eth->ethsys, ETHSYS_DMA_AG_MAP, dma_mask,
@@ -3465,8 +3482,10 @@ static int mtk_hw_init(struct mtk_eth *e
@@ -3692,8 +3709,10 @@ static int mtk_hw_init(struct mtk_eth *e
return 0;
err_disable_pm:
@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
return ret;
}
@@ -3545,30 +3564,53 @@ static int mtk_do_ioctl(struct net_devic
@@ -3772,30 +3791,53 @@ static int mtk_do_ioctl(struct net_devic
return -EOPNOTSUPP;
}
@ -148,7 +148,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
if (eth->dev->pins)
pinctrl_select_state(eth->dev->pins->p,
@@ -3579,15 +3621,19 @@ static void mtk_pending_work(struct work
@@ -3806,15 +3848,19 @@ static void mtk_pending_work(struct work
for (i = 0; i < MTK_MAC_COUNT; i++) {
if (!test_bit(i, &restart))
continue;
@ -174,7 +174,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -72,12 +72,24 @@
@@ -75,12 +75,24 @@
#define MTK_HW_LRO_REPLACE_DELTA 1000
#define MTK_HW_LRO_SDL_REMAIN_ROOM 1522
@ -201,7 +201,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
@@ -709,6 +709,33 @@ int mtk_foe_entry_idle_time(struct mtk_p
@@ -729,6 +729,33 @@ int mtk_foe_entry_idle_time(struct mtk_p
return __mtk_foe_entry_idle_time(ppe, entry->data.ib1);
}
@ -237,7 +237,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
{
--- a/drivers/net/ethernet/mediatek/mtk_ppe.h
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.h
@@ -306,6 +306,7 @@ struct mtk_ppe *mtk_ppe_init(struct mtk_
@@ -308,6 +308,7 @@ struct mtk_ppe *mtk_ppe_init(struct mtk_
void mtk_ppe_deinit(struct mtk_eth *eth);
void mtk_ppe_start(struct mtk_ppe *ppe);
int mtk_ppe_stop(struct mtk_ppe *ppe);

View File

@ -15,7 +15,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -50,6 +50,7 @@ static const struct mtk_reg_map mtk_reg_
@@ -51,6 +51,7 @@ static const struct mtk_reg_map mtk_reg_
.delay_irq = 0x0a0c,
.irq_status = 0x0a20,
.irq_mask = 0x0a28,
@ -23,7 +23,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
.int_grp = 0x0a50,
},
.qdma = {
@@ -79,6 +80,8 @@ static const struct mtk_reg_map mtk_reg_
@@ -82,6 +83,8 @@ static const struct mtk_reg_map mtk_reg_
[0] = 0x2800,
[1] = 0x2c00,
},
@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
};
static const struct mtk_reg_map mt7628_reg_map = {
@@ -109,6 +112,7 @@ static const struct mtk_reg_map mt7986_r
@@ -112,6 +115,7 @@ static const struct mtk_reg_map mt7986_r
.delay_irq = 0x620c,
.irq_status = 0x6220,
.irq_mask = 0x6228,
@ -40,7 +40,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
.int_grp = 0x6250,
},
.qdma = {
@@ -138,6 +142,8 @@ static const struct mtk_reg_map mt7986_r
@@ -143,6 +147,8 @@ static const struct mtk_reg_map mt7986_r
[0] = 0x4800,
[1] = 0x4c00,
},
@ -49,7 +49,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
};
/* strings used by ethtool */
@@ -3336,6 +3342,102 @@ static void mtk_hw_warm_reset(struct mtk
@@ -3560,6 +3566,102 @@ static void mtk_hw_warm_reset(struct mtk
val, rst_mask);
}
@ -152,7 +152,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
static int mtk_hw_init(struct mtk_eth *eth, bool reset)
{
u32 dma_mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA |
@@ -3671,6 +3773,7 @@ static int mtk_cleanup(struct mtk_eth *e
@@ -3908,6 +4010,7 @@ static int mtk_cleanup(struct mtk_eth *e
mtk_unreg_dev(eth);
mtk_free_dev(eth);
cancel_work_sync(&eth->pending_work);
@ -160,7 +160,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
return 0;
}
@@ -4098,6 +4201,7 @@ static int mtk_probe(struct platform_dev
@@ -4362,6 +4465,7 @@ static int mtk_probe(struct platform_dev
eth->rx_dim.mode = DIM_CQ_PERIOD_MODE_START_FROM_EQE;
INIT_WORK(&eth->rx_dim.work, mtk_dim_rx);
@ -168,7 +168,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
eth->tx_dim.mode = DIM_CQ_PERIOD_MODE_START_FROM_EQE;
INIT_WORK(&eth->tx_dim.work, mtk_dim_tx);
@@ -4300,6 +4404,8 @@ static int mtk_probe(struct platform_dev
@@ -4566,6 +4670,8 @@ static int mtk_probe(struct platform_dev
netif_napi_add(&eth->dummy_dev, &eth->rx_napi, mtk_napi_rx);
platform_set_drvdata(pdev, eth);
@ -179,7 +179,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -257,6 +257,8 @@
@@ -282,6 +282,8 @@
#define MTK_RX_DONE_INT_V2 BIT(14)
@ -188,7 +188,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
/* QDMA Interrupt grouping registers */
#define MTK_RLS_DONE_INT BIT(0)
@@ -541,6 +543,17 @@
@@ -565,6 +567,17 @@
#define MT7628_SDM_RBCNT (MT7628_SDM_OFFSET + 0x10c)
#define MT7628_SDM_CS_ERR (MT7628_SDM_OFFSET + 0x110)
@ -206,7 +206,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
struct mtk_rx_dma {
unsigned int rxd1;
unsigned int rxd2;
@@ -937,6 +950,7 @@ struct mtk_reg_map {
@@ -967,6 +980,7 @@ struct mtk_reg_map {
u32 delay_irq; /* delay interrupt */
u32 irq_status; /* interrupt status */
u32 irq_mask; /* interrupt mask */
@ -214,7 +214,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
u32 int_grp;
} pdma;
struct {
@@ -963,6 +977,8 @@ struct mtk_reg_map {
@@ -995,6 +1009,8 @@ struct mtk_reg_map {
u32 gdma_to_ppe;
u32 ppe_base;
u32 wdma_base[2];
@ -223,7 +223,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
};
/* struct mtk_eth_data - This is the structure holding all differences
@@ -1005,6 +1021,8 @@ struct mtk_soc_data {
@@ -1037,6 +1053,8 @@ struct mtk_soc_data {
} txrx;
};
@ -232,7 +232,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
/* currently no SoC has more than 2 macs */
#define MTK_MAX_DEVS 2
@@ -1127,6 +1145,14 @@ struct mtk_eth {
@@ -1161,6 +1179,14 @@ struct mtk_eth {
struct rhashtable flow_table;
struct bpf_prog __rcu *prog;

View File

@ -14,7 +14,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3702,6 +3702,11 @@ static void mtk_pending_work(struct work
@@ -3929,6 +3929,11 @@ static void mtk_pending_work(struct work
set_bit(MTK_RESETTING, &eth->state);
mtk_prepare_for_reset(eth);
@ -26,7 +26,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
/* stop all devices to make sure that dma is properly shut down */
for (i = 0; i < MTK_MAC_COUNT; i++) {
@@ -3739,6 +3744,8 @@ static void mtk_pending_work(struct work
@@ -3966,6 +3971,8 @@ static void mtk_pending_work(struct work
clear_bit(MTK_RESETTING, &eth->state);

View File

@ -29,4 +29,4 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
+ assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>;
rockchip,grf = <&grf>;
};

View File

@ -17,7 +17,7 @@ Signed-off-by: Andrew Powers-Holmes <aholmes@omnom.net>
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -951,7 +951,7 @@
@@ -952,7 +952,7 @@
compatible = "rockchip,rk3568-pcie";
reg = <0x3 0xc0000000 0x0 0x00400000>,
<0x0 0xfe260000 0x0 0x00010000>,
@ -26,7 +26,7 @@ Signed-off-by: Andrew Powers-Holmes <aholmes@omnom.net>
reg-names = "dbi", "apb", "config";
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
@@ -981,8 +981,9 @@
@@ -982,8 +982,9 @@
phys = <&combphy2 PHY_TYPE_PCIE>;
phy-names = "pcie-phy";
power-domains = <&power RK3568_PD_PIPE>;

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1133,6 +1133,14 @@ config SOCIONEXT_SYNQUACER_PREITS
@@ -1132,6 +1132,14 @@ config SOCIONEXT_SYNQUACER_PREITS
If unsure, say Y.
@ -83,7 +83,7 @@
};
usb_host0_ehci: usb@fd800000 {
@@ -976,7 +983,7 @@
@@ -977,7 +984,7 @@
num-ib-windows = <6>;
num-ob-windows = <2>;
max-link-speed = <2>;

View File

@ -1,11 +1,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=zstd
PKG_VERSION:=1.5.2
PKG_VERSION:=1.5.4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/facebook/zstd/releases/download/v$(PKG_VERSION)
PKG_HASH:=7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0
PKG_HASH:=0f470992aedad543126d06efab344dc5f3e171893810455787d38347343a4424
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
@ -17,12 +17,12 @@ include $(INCLUDE_DIR)/meson.mk
MESON_HOST_BUILD_DIR:=$(HOST_BUILD_DIR)/build/meson/openwrt-build
HOSTCC:= $(HOSTCC_NOCACHE)
HOST_LDFLAGS += -Wl,-rpath,$(STAGING_DIR_HOST)/lib
MESON_HOST_ARGS += \
-Ddefault_library=static \
-Dlegacy_level=7 \
-Ddebug_level=0 \
-Dbacktrace=false \
-Dbacktrace=disabled \
-Dstatic_runtime=false \
-Dbin_programs=true \
-Dbin_tests=false \