mirror of
https://github.com/bolucat/Archive.git
synced 2026-04-22 16:07:49 +08:00
Update On Wed Oct 2 15:52:17 CEST 2024
This commit is contained in:
@@ -780,3 +780,4 @@ Update On Fri Sep 27 20:34:20 CEST 2024
|
||||
Update On Sat Sep 28 20:32:29 CEST 2024
|
||||
Update On Sun Sep 29 20:35:08 CEST 2024
|
||||
Update On Mon Sep 30 20:38:12 CEST 2024
|
||||
Update On Wed Oct 2 15:52:06 CEST 2024
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "20240606",
|
||||
"text": "Brook Client Basic Knowledge",
|
||||
"link": "https://www.txthinking.com/talks/articles/brook-en.article",
|
||||
"text_zh": "Brook 客户端基础知识",
|
||||
"link_zh": "https://www.txthinking.com/talks/articles/brook.article"
|
||||
"text": "brook-store: an open source store for some people",
|
||||
"link": "https://github.com/TxThinkingInc/brook-store",
|
||||
"text_zh": "我的 YouTube: 世界势力变迁史",
|
||||
"link_zh": "https://www.youtube.com/playlist?list=PLwDQR8zI95UqbKQKt5EwOXZa9siYiIJnd"
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"net/netip"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/metacubex/mihomo/common/atomic"
|
||||
@@ -18,6 +19,7 @@ import (
|
||||
"github.com/metacubex/mihomo/component/ca"
|
||||
"github.com/metacubex/mihomo/component/dialer"
|
||||
C "github.com/metacubex/mihomo/constant"
|
||||
"github.com/metacubex/mihomo/log"
|
||||
"github.com/puzpuzpuz/xsync/v3"
|
||||
)
|
||||
|
||||
@@ -260,10 +262,18 @@ func (p *Proxy) URLTest(ctx context.Context, url string, expectedStatus utils.In
|
||||
|
||||
if unifiedDelay {
|
||||
second := time.Now()
|
||||
resp, err = client.Do(req)
|
||||
if err == nil {
|
||||
var ignoredErr error
|
||||
var secondResp *http.Response
|
||||
secondResp, ignoredErr = client.Do(req)
|
||||
if ignoredErr == nil {
|
||||
resp = secondResp
|
||||
_ = resp.Body.Close()
|
||||
start = second
|
||||
} else {
|
||||
if strings.HasPrefix(url, "http://") {
|
||||
log.Errorln("%s failed to get the second response from %s: %v", p.Name(), url, ignoredErr)
|
||||
log.Warnln("It is recommended to use HTTPS for provider.health-check.url and group.url to ensure better reliability. Due to some proxy providers hijacking test addresses and not being compatible with repeated HEAD requests, using HTTP may result in failed tests.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"net/netip"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/metacubex/mihomo/common/atomic"
|
||||
@@ -18,6 +19,7 @@ import (
|
||||
"github.com/metacubex/mihomo/component/ca"
|
||||
"github.com/metacubex/mihomo/component/dialer"
|
||||
C "github.com/metacubex/mihomo/constant"
|
||||
"github.com/metacubex/mihomo/log"
|
||||
"github.com/puzpuzpuz/xsync/v3"
|
||||
)
|
||||
|
||||
@@ -260,10 +262,18 @@ func (p *Proxy) URLTest(ctx context.Context, url string, expectedStatus utils.In
|
||||
|
||||
if unifiedDelay {
|
||||
second := time.Now()
|
||||
resp, err = client.Do(req)
|
||||
if err == nil {
|
||||
var ignoredErr error
|
||||
var secondResp *http.Response
|
||||
secondResp, ignoredErr = client.Do(req)
|
||||
if ignoredErr == nil {
|
||||
resp = secondResp
|
||||
_ = resp.Body.Close()
|
||||
start = second
|
||||
} else {
|
||||
if strings.HasPrefix(url, "http://") {
|
||||
log.Errorln("%s failed to get the second response from %s: %v", p.Name(), url, ignoredErr)
|
||||
log.Warnln("It is recommended to use HTTPS for provider.health-check.url and group.url to ensure better reliability. Due to some proxy providers hijacking test addresses and not being compatible with repeated HEAD requests, using HTTP may result in failed tests.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ func (h *Hysteria) ListenPacketContext(ctx context.Context, metadata *C.Metadata
|
||||
func (h *Hysteria) genHdc(ctx context.Context, opts ...dialer.Option) utils.PacketDialer {
|
||||
return &hyDialerWithContext{
|
||||
ctx: context.Background(),
|
||||
hyDialer: func(network string) (net.PacketConn, error) {
|
||||
hyDialer: func(network string, rAddr net.Addr) (net.PacketConn, error) {
|
||||
var err error
|
||||
var cDialer C.Dialer = dialer.NewDialer(h.Base.DialOptions(opts...)...)
|
||||
if len(h.option.DialerProxy) > 0 {
|
||||
@@ -78,7 +78,7 @@ func (h *Hysteria) genHdc(ctx context.Context, opts ...dialer.Option) utils.Pack
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
rAddrPort, _ := netip.ParseAddrPort(h.Addr())
|
||||
rAddrPort, _ := netip.ParseAddrPort(rAddr.String())
|
||||
return cDialer.ListenPacket(ctx, network, "", rAddrPort)
|
||||
},
|
||||
remoteAddr: func(addr string) (net.Addr, error) {
|
||||
@@ -284,7 +284,7 @@ func (c *hyPacketConn) WriteTo(p []byte, addr net.Addr) (n int, err error) {
|
||||
}
|
||||
|
||||
type hyDialerWithContext struct {
|
||||
hyDialer func(network string) (net.PacketConn, error)
|
||||
hyDialer func(network string, rAddr net.Addr) (net.PacketConn, error)
|
||||
ctx context.Context
|
||||
remoteAddr func(host string) (net.Addr, error)
|
||||
}
|
||||
@@ -294,7 +294,7 @@ func (h *hyDialerWithContext) ListenPacket(rAddr net.Addr) (net.PacketConn, erro
|
||||
if addrPort, err := netip.ParseAddrPort(rAddr.String()); err == nil {
|
||||
network = dialer.ParseNetwork(network, addrPort.Addr())
|
||||
}
|
||||
return h.hyDialer(network)
|
||||
return h.hyDialer(network, rAddr)
|
||||
}
|
||||
|
||||
func (h *hyDialerWithContext) Context() context.Context {
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package dialer
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net"
|
||||
"net/netip"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// We must use this DialContext to query DNS
|
||||
// when using net default resolver.
|
||||
net.DefaultResolver.PreferGo = true
|
||||
net.DefaultResolver.Dial = resolverDialContext
|
||||
}
|
||||
|
||||
func resolverDialContext(ctx context.Context, network, address string) (net.Conn, error) {
|
||||
d := &net.Dialer{}
|
||||
|
||||
interfaceName := DefaultInterface.Load()
|
||||
|
||||
if interfaceName != "" {
|
||||
dstIP, err := netip.ParseAddr(address)
|
||||
if err == nil {
|
||||
_ = bindIfaceToDialer(interfaceName, d, network, dstIP)
|
||||
}
|
||||
}
|
||||
|
||||
return d.DialContext(ctx, network, address)
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
|
||||
|
||||
package resolver
|
||||
|
||||
import _ "unsafe"
|
||||
|
||||
//go:linkname defaultNS net.defaultNS
|
||||
var defaultNS []string
|
||||
|
||||
func init() {
|
||||
defaultNS = []string{"114.114.114.114:53", "8.8.8.8:53"}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
//go:build !go1.22
|
||||
|
||||
// a simple standard lib fix from: https://github.com/golang/go/commit/33d4a5105cf2b2d549922e909e9239a48b8cefcc
|
||||
|
||||
package resolver
|
||||
|
||||
import (
|
||||
"golang.org/x/sys/windows"
|
||||
_ "unsafe"
|
||||
)
|
||||
|
||||
//go:linkname testHookHostsPath net.testHookHostsPath
|
||||
var testHookHostsPath string
|
||||
|
||||
func init() {
|
||||
if dir, err := windows.GetSystemDirectory(); err == nil {
|
||||
testHookHostsPath = dir + "/Drivers/etc/hosts"
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/netip"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -23,6 +22,9 @@ var (
|
||||
// ProxyServerHostResolver resolve ip to proxies server host
|
||||
ProxyServerHostResolver Resolver
|
||||
|
||||
// SystemResolver always using system dns, and was init in dns module
|
||||
SystemResolver Resolver
|
||||
|
||||
// DisableIPv6 means don't resolve ipv6 host
|
||||
// default value is true
|
||||
DisableIPv6 = true
|
||||
@@ -72,14 +74,7 @@ func LookupIPv4WithResolver(ctx context.Context, host string, r Resolver) ([]net
|
||||
return r.LookupIPv4(ctx, host)
|
||||
}
|
||||
|
||||
ipAddrs, err := net.DefaultResolver.LookupNetIP(ctx, "ip4", host)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if len(ipAddrs) == 0 {
|
||||
return nil, ErrIPNotFound
|
||||
}
|
||||
|
||||
return ipAddrs, nil
|
||||
return SystemResolver.LookupIPv4(ctx, host)
|
||||
}
|
||||
|
||||
// LookupIPv4 with a host, return ipv4 list
|
||||
@@ -128,14 +123,7 @@ func LookupIPv6WithResolver(ctx context.Context, host string, r Resolver) ([]net
|
||||
return r.LookupIPv6(ctx, host)
|
||||
}
|
||||
|
||||
ipAddrs, err := net.DefaultResolver.LookupNetIP(ctx, "ip6", host)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if len(ipAddrs) == 0 {
|
||||
return nil, ErrIPNotFound
|
||||
}
|
||||
|
||||
return ipAddrs, nil
|
||||
return SystemResolver.LookupIPv6(ctx, host)
|
||||
}
|
||||
|
||||
// LookupIPv6 with a host, return ipv6 list
|
||||
@@ -177,14 +165,7 @@ func LookupIPWithResolver(ctx context.Context, host string, r Resolver) ([]netip
|
||||
return []netip.Addr{ip}, nil
|
||||
}
|
||||
|
||||
ips, err := net.DefaultResolver.LookupNetIP(ctx, "ip", host)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if len(ips) == 0 {
|
||||
return nil, ErrIPNotFound
|
||||
}
|
||||
|
||||
return ips, nil
|
||||
return SystemResolver.LookupIP(ctx, host)
|
||||
}
|
||||
|
||||
// LookupIP with a host, return ip
|
||||
|
||||
@@ -12,6 +12,12 @@ func FlushCacheWithDefaultResolver() {
|
||||
if r := resolver.DefaultResolver; r != nil {
|
||||
r.ClearCache()
|
||||
}
|
||||
if r := resolver.ProxyServerHostResolver; r != nil {
|
||||
r.ClearCache()
|
||||
}
|
||||
if r := resolver.SystemResolver; r != nil {
|
||||
r.ClearCache()
|
||||
}
|
||||
resolver.ResetConnection()
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import (
|
||||
"github.com/metacubex/mihomo/component/resolver"
|
||||
"github.com/metacubex/mihomo/component/trie"
|
||||
C "github.com/metacubex/mihomo/constant"
|
||||
"github.com/metacubex/mihomo/constant/provider"
|
||||
"github.com/metacubex/mihomo/log"
|
||||
|
||||
D "github.com/miekg/dns"
|
||||
@@ -436,7 +435,6 @@ type Config struct {
|
||||
Pool *fakeip.Pool
|
||||
Hosts *trie.DomainTrie[resolver.HostValue]
|
||||
Policy []Policy
|
||||
Tunnel provider.Tunnel
|
||||
CacheAlgorithm string
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/metacubex/mihomo/component/resolver"
|
||||
|
||||
D "github.com/miekg/dns"
|
||||
)
|
||||
|
||||
@@ -24,12 +26,17 @@ type systemClient struct {
|
||||
mu sync.Mutex
|
||||
dnsClients map[string]*systemDnsClient
|
||||
lastFlush time.Time
|
||||
defaultNS []dnsClient
|
||||
}
|
||||
|
||||
func (c *systemClient) ExchangeContext(ctx context.Context, m *D.Msg) (msg *D.Msg, err error) {
|
||||
dnsClients, err := c.getDnsClients()
|
||||
if err != nil {
|
||||
return
|
||||
if len(c.defaultNS) > 0 {
|
||||
dnsClients = c.defaultNS
|
||||
} else {
|
||||
return
|
||||
}
|
||||
}
|
||||
msg, _, err = batchExchange(ctx, dnsClients, m)
|
||||
return
|
||||
@@ -52,3 +59,11 @@ func newSystemClient() *systemClient {
|
||||
dnsClients: map[string]*systemDnsClient{},
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
r, _ := NewResolver(Config{})
|
||||
c := newSystemClient()
|
||||
c.defaultNS = transform([]NameServer{{Addr: "114.114.114.114:53"}, {Addr: "8.8.8.8:53"}}, nil)
|
||||
r.main = []dnsClient{c}
|
||||
resolver.SystemResolver = r
|
||||
}
|
||||
|
||||
@@ -251,7 +251,6 @@ func updateDNS(c *config.DNS, generalIPv6 bool) {
|
||||
Default: c.DefaultNameserver,
|
||||
Policy: c.NameServerPolicy,
|
||||
ProxyServer: c.ProxyServerNameserver,
|
||||
Tunnel: tunnel.Tunnel,
|
||||
CacheAlgorithm: c.CacheAlgorithm,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"flag"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"os/signal"
|
||||
"path/filepath"
|
||||
@@ -55,6 +57,12 @@ func init() {
|
||||
}
|
||||
|
||||
func main() {
|
||||
// Defensive programming: panic when code mistakenly calls net.DefaultResolver
|
||||
net.DefaultResolver.PreferGo = true
|
||||
net.DefaultResolver.Dial = func(ctx context.Context, network, address string) (net.Conn, error) {
|
||||
panic("should never be called")
|
||||
}
|
||||
|
||||
_, _ = maxprocs.Set(maxprocs.Logger(func(string, ...any) {}))
|
||||
|
||||
if len(os.Args) > 1 && os.Args[1] == "convert-ruleset" {
|
||||
|
||||
@@ -114,10 +114,8 @@ func (m *Manager) handle() {
|
||||
ticker := time.NewTicker(time.Second)
|
||||
|
||||
for range ticker.C {
|
||||
m.uploadBlip.Store(m.uploadTemp.Load())
|
||||
m.uploadTemp.Store(0)
|
||||
m.downloadBlip.Store(m.downloadTemp.Load())
|
||||
m.downloadTemp.Store(0)
|
||||
m.uploadBlip.Store(m.uploadTemp.Swap(0))
|
||||
m.downloadBlip.Store(m.downloadTemp.Swap(0))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Generated
+28
-22
@@ -796,7 +796,7 @@ dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"boa_interner",
|
||||
"boa_macros",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"num-bigint",
|
||||
"rustc-hash 2.0.0",
|
||||
]
|
||||
@@ -822,7 +822,7 @@ dependencies = [
|
||||
"fast-float",
|
||||
"hashbrown 0.14.5",
|
||||
"icu_normalizer",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"intrusive-collections",
|
||||
"itertools 0.13.0",
|
||||
"num-bigint",
|
||||
@@ -868,7 +868,7 @@ dependencies = [
|
||||
"boa_gc",
|
||||
"boa_macros",
|
||||
"hashbrown 0.14.5",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"once_cell",
|
||||
"phf 0.11.2",
|
||||
"rustc-hash 2.0.0",
|
||||
@@ -1228,9 +1228,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.18"
|
||||
version = "4.5.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3"
|
||||
checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
@@ -1238,9 +1238,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.18"
|
||||
version = "4.5.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b"
|
||||
checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@@ -1306,7 +1306,7 @@ dependencies = [
|
||||
"hex",
|
||||
"humansize",
|
||||
"image",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"log",
|
||||
"md-5",
|
||||
"mime",
|
||||
@@ -3056,7 +3056,7 @@ dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"http 1.1.0",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"slab",
|
||||
"tokio",
|
||||
"tokio-util",
|
||||
@@ -3113,6 +3113,12 @@ dependencies = [
|
||||
"allocator-api2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.4.1"
|
||||
@@ -3551,12 +3557,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.5.0"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
|
||||
checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown 0.14.5",
|
||||
"hashbrown 0.15.0",
|
||||
"serde",
|
||||
]
|
||||
|
||||
@@ -5295,7 +5301,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
|
||||
dependencies = [
|
||||
"fixedbitset",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -5498,7 +5504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"quick-xml 0.32.0",
|
||||
"serde",
|
||||
"time",
|
||||
@@ -6066,9 +6072,9 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2"
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.12.7"
|
||||
version = "0.12.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63"
|
||||
checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"bytes",
|
||||
@@ -6618,7 +6624,7 @@ dependencies = [
|
||||
"chrono",
|
||||
"hex",
|
||||
"indexmap 1.9.3",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
@@ -6644,7 +6650,7 @@ version = "0.9.34+deprecated"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
|
||||
dependencies = [
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"itoa 1.0.11",
|
||||
"ryu",
|
||||
"serde",
|
||||
@@ -6657,7 +6663,7 @@ version = "0.0.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "48e76bab63c3fd98d27c17f9cbce177f64a91f5e69ac04cafe04e1bb25d1dc3c"
|
||||
dependencies = [
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"itoa 1.0.11",
|
||||
"libyml",
|
||||
"log",
|
||||
@@ -8065,7 +8071,7 @@ version = "0.19.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
|
||||
dependencies = [
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
@@ -8078,7 +8084,7 @@ version = "0.20.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
|
||||
dependencies = [
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
@@ -9785,7 +9791,7 @@ dependencies = [
|
||||
"displaydoc",
|
||||
"flate2",
|
||||
"hmac",
|
||||
"indexmap 2.5.0",
|
||||
"indexmap 2.6.0",
|
||||
"lzma-rs",
|
||||
"memchr",
|
||||
"pbkdf2",
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"@mui/material": "6.1.1",
|
||||
"@nyanpasu/interface": "workspace:^",
|
||||
"@nyanpasu/ui": "workspace:^",
|
||||
"@tanstack/router-zod-adapter": "1.58.15",
|
||||
"@tanstack/router-zod-adapter": "1.58.16",
|
||||
"@tauri-apps/api": "2.0.0-rc.6",
|
||||
"@types/json-schema": "7.0.15",
|
||||
"ahooks": "3.8.1",
|
||||
@@ -53,10 +53,10 @@
|
||||
"@csstools/normalize.css": "12.1.1",
|
||||
"@emotion/babel-plugin": "11.12.0",
|
||||
"@emotion/react": "11.13.3",
|
||||
"@iconify/json": "2.2.254",
|
||||
"@iconify/json": "2.2.255",
|
||||
"@monaco-editor/react": "4.6.0",
|
||||
"@tanstack/react-router": "1.58.15",
|
||||
"@tanstack/router-devtools": "1.58.15",
|
||||
"@tanstack/react-router": "1.58.16",
|
||||
"@tanstack/router-devtools": "1.58.16",
|
||||
"@tanstack/router-plugin": "1.58.12",
|
||||
"@tauri-apps/plugin-clipboard-manager": "2.0.0-rc.2",
|
||||
"@tauri-apps/plugin-dialog": "2.0.0-rc.1",
|
||||
@@ -72,7 +72,7 @@
|
||||
"@vitejs/plugin-react": "4.3.2",
|
||||
"@vitejs/plugin-react-swc": "3.7.1",
|
||||
"clsx": "2.1.1",
|
||||
"meta-json-schema": "1.18.8",
|
||||
"meta-json-schema": "1.18.9",
|
||||
"monaco-yaml": "5.2.2",
|
||||
"nanoid": "5.0.7",
|
||||
"sass": "1.79.4",
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
"@mui/icons-material": "6.1.1",
|
||||
"@mui/lab": "6.0.0-beta.10",
|
||||
"@mui/material": "6.1.1",
|
||||
"@radix-ui/react-portal": "1.1.1",
|
||||
"@radix-ui/react-scroll-area": "1.1.0",
|
||||
"@radix-ui/react-portal": "1.1.2",
|
||||
"@radix-ui/react-scroll-area": "1.2.0",
|
||||
"@tauri-apps/api": "2.0.0-rc.6",
|
||||
"@types/d3": "7.4.3",
|
||||
"@types/react": "18.3.10",
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
"manifest_version": 1,
|
||||
"latest": {
|
||||
"mihomo": "v1.18.9",
|
||||
"mihomo_alpha": "alpha-fc9d5cf",
|
||||
"mihomo_alpha": "alpha-ecd8fac",
|
||||
"clash_rs": "v0.5.0",
|
||||
"clash_premium": "2023-09-05-gdcc8d87",
|
||||
"clash_rs_alpha": "0.5.0-alpha+sha.0bf0abc"
|
||||
"clash_rs_alpha": "0.5.0-alpha+sha.801972b"
|
||||
},
|
||||
"arch_template": {
|
||||
"mihomo": {
|
||||
@@ -69,5 +69,5 @@
|
||||
"linux-armv7hf": "clash-armv7-unknown-linux-gnueabihf"
|
||||
}
|
||||
},
|
||||
"updated_at": "2024-09-29T22:20:21.364Z"
|
||||
"updated_at": "2024-10-01T22:20:48.067Z"
|
||||
}
|
||||
|
||||
Generated
+319
-319
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.4 = .278
|
||||
LINUX_KERNEL_HASH-5.4.278 = e5a00606115545f444ef2766af5652f5539e3c96f46a9778bede89b98ffb8588
|
||||
LINUX_VERSION-5.4 = .284
|
||||
LINUX_KERNEL_HASH-5.4.284 = 77221ab9aebeac746915c755ec3b7d320f85cd219c63d9c501820fbca1e3b32b
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .111
|
||||
LINUX_KERNEL_HASH-6.1.111 = c47298fa1d410bc5dcfb0662bc2cdbe86f5b0d12a1baac297e1ded7b6722edb0
|
||||
LINUX_VERSION-6.1 = .112
|
||||
LINUX_KERNEL_HASH-6.1.112 = 8bd8de3562fb006653e550a934e66ed9f80b7576258a03e2caa2e3ce1c1f9f24
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .52
|
||||
LINUX_KERNEL_HASH-6.6.52 = 1591ab348399d4aa53121158525056a69c8cf0fe0e90935b0095e9a58e37b4b8
|
||||
LINUX_VERSION-6.6 = .53
|
||||
LINUX_KERNEL_HASH-6.6.53 = 285d181d1b252b0bf905f040d094215cf183ac98c31a17f9cce9f3537ef4d779
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/smp.c
|
||||
+++ b/net/bluetooth/smp.c
|
||||
@@ -2208,7 +2208,7 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb)
|
||||
@@ -2208,7 +2208,7 @@ mackey_and_ltk:
|
||||
if (err)
|
||||
return SMP_UNSPECIFIED;
|
||||
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
if (test_bit(SMP_FLAG_INITIATOR, &smp->flags)) {
|
||||
sc_dhkey_check(smp);
|
||||
SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK);
|
||||
@@ -2223,9 +2223,6 @@ static u8 smp_cmd_pairing_random(struct l2cap_conn *conn, struct sk_buff *skb)
|
||||
@@ -2223,9 +2223,6 @@ mackey_and_ltk:
|
||||
confirm_hint = 0;
|
||||
|
||||
confirm:
|
||||
|
||||
+4
-4
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/kernel/cgroup/cgroup.c
|
||||
+++ b/kernel/cgroup/cgroup.c
|
||||
@@ -6061,6 +6061,9 @@ int __init cgroup_init_early(void)
|
||||
@@ -6070,6 +6070,9 @@ int __init cgroup_init_early(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/**
|
||||
* cgroup_init - cgroup initialization
|
||||
*
|
||||
@@ -6094,6 +6097,12 @@ int __init cgroup_init(void)
|
||||
@@ -6103,6 +6106,12 @@ int __init cgroup_init(void)
|
||||
|
||||
cgroup_unlock();
|
||||
|
||||
@@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
for_each_subsys(ss, ssid) {
|
||||
if (ss->early_init) {
|
||||
struct cgroup_subsys_state *css =
|
||||
@@ -6734,6 +6743,10 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6743,6 +6752,10 @@ static int __init cgroup_disable(char *s
|
||||
strcmp(token, ss->legacy_name))
|
||||
continue;
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
static_branch_disable(cgroup_subsys_enabled_key[i]);
|
||||
pr_info("Disabling %s control group subsystem\n",
|
||||
ss->name);
|
||||
@@ -6752,6 +6765,31 @@ static int __init cgroup_disable(char *s
|
||||
@@ -6761,6 +6774,31 @@ static int __init cgroup_disable(char *s
|
||||
}
|
||||
__setup("cgroup_disable=", cgroup_disable);
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -707,7 +707,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
|
||||
@@ -709,7 +709,7 @@ MODULE_DEVICE_TABLE(spi, spidev_spi_ids)
|
||||
*/
|
||||
static int spidev_of_check(struct device *dev)
|
||||
{
|
||||
|
||||
+4
-4
@@ -313,7 +313,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
goto out;
|
||||
--- a/drivers/mmc/core/core.c
|
||||
+++ b/drivers/mmc/core/core.c
|
||||
@@ -1819,7 +1819,8 @@ EXPORT_SYMBOL(mmc_erase);
|
||||
@@ -1818,7 +1818,8 @@ EXPORT_SYMBOL(mmc_erase);
|
||||
|
||||
int mmc_can_erase(struct mmc_card *card)
|
||||
{
|
||||
@@ -325,7 +325,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
}
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -130,6 +130,14 @@ static const struct mmc_fixup __maybe_un
|
||||
@@ -134,6 +134,14 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
|
||||
MMC_QUIRK_BROKEN_SD_DISCARD),
|
||||
|
||||
@@ -1987,7 +1987,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
#define MAX_TUNING_LOOP 40
|
||||
|
||||
@@ -3236,7 +3236,7 @@ static void sdhci_timeout_timer(struct t
|
||||
@@ -3235,7 +3235,7 @@ static void sdhci_timeout_timer(struct t
|
||||
spin_lock_irqsave(&host->lock, flags);
|
||||
|
||||
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
|
||||
@@ -1996,7 +1996,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_err_stats_inc(host, REQ_TIMEOUT);
|
||||
sdhci_dumpregs(host);
|
||||
@@ -3259,7 +3259,7 @@ static void sdhci_timeout_data_timer(str
|
||||
@@ -3258,7 +3258,7 @@ static void sdhci_timeout_data_timer(str
|
||||
|
||||
if (host->data || host->data_cmd ||
|
||||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
#endif
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -509,6 +509,9 @@ do { \
|
||||
@@ -499,6 +499,9 @@ do { \
|
||||
extern unsigned long __must_check
|
||||
arm_copy_from_user(void *to, const void __user *from, unsigned long n);
|
||||
|
||||
|
||||
+1
-1
@@ -17615,7 +17615,7 @@ Signed-off-by: Ashish Vara <ashishhvara@gmail.com>
|
||||
* For devices with more than one control interface, we assume the
|
||||
--- a/sound/usb/quirks.c
|
||||
+++ b/sound/usb/quirks.c
|
||||
@@ -2087,6 +2087,8 @@ static const struct usb_audio_quirk_flag
|
||||
@@ -2089,6 +2089,8 @@ static const struct usb_audio_quirk_flag
|
||||
QUIRK_FLAG_FIXED_RATE),
|
||||
DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
|
||||
QUIRK_FLAG_FIXED_RATE),
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1643,6 +1643,109 @@ command_cleanup:
|
||||
@@ -1653,6 +1653,109 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5480,6 +5583,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5492,6 +5595,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
#define USB_VENDOR_ID_BELKIN 0x050d
|
||||
#define USB_DEVICE_ID_FLIP_KVM 0x3201
|
||||
|
||||
@@ -1373,6 +1376,9 @@
|
||||
@@ -1385,6 +1388,9 @@
|
||||
#define USB_VENDOR_ID_XIAOMI 0x2717
|
||||
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
|
||||
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/gpio/gpiolib.c
|
||||
+++ b/drivers/gpio/gpiolib.c
|
||||
@@ -52,6 +52,8 @@
|
||||
@@ -53,6 +53,8 @@
|
||||
#define extra_checks 0
|
||||
#endif
|
||||
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Device and char device-related information */
|
||||
static DEFINE_IDA(gpio_ida);
|
||||
static dev_t gpio_devt;
|
||||
@@ -2423,8 +2425,8 @@ int gpiod_direction_output(struct gpio_d
|
||||
@@ -2424,8 +2426,8 @@ int gpiod_direction_output(struct gpio_d
|
||||
value = !!value;
|
||||
|
||||
/* GPIOs used for enabled IRQs shall not be set as output */
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
gpiod_err(desc,
|
||||
"%s: tried to set a GPIO tied to an IRQ as output\n",
|
||||
__func__);
|
||||
@@ -3302,8 +3304,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
|
||||
@@ -3303,8 +3305,8 @@ int gpiochip_lock_as_irq(struct gpio_chi
|
||||
}
|
||||
|
||||
/* To be valid for IRQ the line needs to be input or open drain */
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -415,6 +415,12 @@ cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ;
|
||||
@@ -419,6 +419,12 @@ cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ;
|
||||
$(DTC) -@ -H epapr -O dtb -o $@ -b 0 \
|
||||
-i $(dir $<) $(DTC_FLAGS) \
|
||||
-Wno-interrupts_property \
|
||||
|
||||
+1
-1
@@ -22,4 +22,4 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
+ { .name = "spidev" },
|
||||
{ .name = "bh2228fv" },
|
||||
{ .name = "dh2228fv" },
|
||||
{ .name = "ltc2488" },
|
||||
{ .name = "jg10309-01" },
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/gpio/gpio-pca953x.c
|
||||
+++ b/drivers/gpio/gpio-pca953x.c
|
||||
@@ -1358,6 +1358,7 @@ static const struct of_device_id pca953x
|
||||
@@ -1360,6 +1360,7 @@ static const struct of_device_id pca953x
|
||||
{ .compatible = "ti,tca6416", .data = OF_953X(16, PCA_INT), },
|
||||
{ .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), },
|
||||
{ .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), },
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1732,7 +1732,7 @@ static void xhci_fixup_endpoint(struct u
|
||||
@@ -1742,7 +1742,7 @@ static void xhci_fixup_endpoint(struct u
|
||||
return;
|
||||
}
|
||||
ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index);
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
|
||||
}
|
||||
|
||||
return err;
|
||||
@@ -5064,11 +5062,9 @@ int f2fs_build_segment_manager(struct f2
|
||||
@@ -5067,11 +5065,9 @@ int f2fs_build_segment_manager(struct f2
|
||||
|
||||
init_f2fs_rwsem(&sm_info->curseg_lock);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
||||
static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv)
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -3074,6 +3074,15 @@ static void sdhci_card_event(struct mmc_
|
||||
@@ -3073,6 +3073,15 @@ static void sdhci_card_event(struct mmc_
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
||||
static const struct mmc_host_ops sdhci_ops = {
|
||||
.request = sdhci_request,
|
||||
.post_req = sdhci_post_req,
|
||||
@@ -3089,6 +3098,7 @@ static const struct mmc_host_ops sdhci_o
|
||||
@@ -3088,6 +3097,7 @@ static const struct mmc_host_ops sdhci_o
|
||||
.execute_tuning = sdhci_execute_tuning,
|
||||
.card_event = sdhci_card_event,
|
||||
.card_busy = sdhci_card_busy,
|
||||
@@ -50,7 +50,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
||||
};
|
||||
|
||||
/*****************************************************************************\
|
||||
@@ -4614,6 +4624,15 @@ int sdhci_setup_host(struct sdhci_host *
|
||||
@@ -4609,6 +4619,15 @@ int sdhci_setup_host(struct sdhci_host *
|
||||
!(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
|
||||
mmc->caps |= MMC_CAP_UHS_DDR50;
|
||||
|
||||
|
||||
+9
-9
@@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
},
|
||||
--- a/drivers/usb/dwc3/core.c
|
||||
+++ b/drivers/usb/dwc3/core.c
|
||||
@@ -1180,6 +1180,24 @@ static void dwc3_config_threshold(struct
|
||||
@@ -1201,6 +1201,24 @@ static void dwc3_config_threshold(struct
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/**
|
||||
* dwc3_core_init - Low-level initialization of DWC3 Core
|
||||
* @dwc: Pointer to our controller context structure
|
||||
@@ -1257,6 +1275,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
@@ -1278,6 +1296,8 @@ static int dwc3_core_init(struct dwc3 *d
|
||||
|
||||
dwc3_set_incr_burst_type(dwc);
|
||||
|
||||
@@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 0);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 0);
|
||||
ret = phy_power_on(dwc->usb2_generic_phy);
|
||||
@@ -1490,6 +1510,7 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1526,6 +1546,7 @@ static void dwc3_get_properties(struct d
|
||||
u8 tx_thr_num_pkt_prd = 0;
|
||||
u8 tx_max_burst_prd = 0;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
@@ -254,7 +254,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
const char *usb_psy_name;
|
||||
int ret;
|
||||
|
||||
@@ -1512,6 +1533,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1548,6 +1569,9 @@ static void dwc3_get_properties(struct d
|
||||
*/
|
||||
tx_fifo_resize_max_num = 6;
|
||||
|
||||
@@ -264,7 +264,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->maximum_speed = usb_get_maximum_speed(dev);
|
||||
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
|
||||
dwc->dr_mode = usb_get_dr_mode(dev);
|
||||
@@ -1627,6 +1651,9 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1663,6 +1687,9 @@ static void dwc3_get_properties(struct d
|
||||
dwc->dis_split_quirk = device_property_read_bool(dev,
|
||||
"snps,dis-split-quirk");
|
||||
|
||||
@@ -274,7 +274,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
|
||||
dwc->tx_de_emphasis = tx_de_emphasis;
|
||||
|
||||
@@ -1644,6 +1671,8 @@ static void dwc3_get_properties(struct d
|
||||
@@ -1680,6 +1707,8 @@ static void dwc3_get_properties(struct d
|
||||
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
|
||||
dwc->tx_max_burst_prd = tx_max_burst_prd;
|
||||
|
||||
@@ -283,7 +283,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
dwc->imod_interval = 0;
|
||||
|
||||
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
|
||||
@@ -1852,6 +1881,12 @@ static int dwc3_probe(struct platform_de
|
||||
@@ -1888,6 +1917,12 @@ static int dwc3_probe(struct platform_de
|
||||
|
||||
dwc3_get_properties(dwc);
|
||||
|
||||
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Global Debug LSP MUX Select */
|
||||
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
|
||||
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
|
||||
@@ -1056,6 +1059,7 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1057,6 +1060,7 @@ struct dwc3_scratchpad_array {
|
||||
* @tx_max_burst_prd: max periodic ESS transmit burst size
|
||||
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
|
||||
* @clear_stall_protocol: endpoint number that requires a delayed status phase
|
||||
@@ -316,7 +316,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
* @hsphy_interface: "utmi" or "ulpi"
|
||||
* @connected: true when we're connected to a host, false otherwise
|
||||
* @softconnect: true when gadget connect is called, false when disconnect runs
|
||||
@@ -1287,6 +1291,7 @@ struct dwc3 {
|
||||
@@ -1289,6 +1293,7 @@ struct dwc3 {
|
||||
u8 tx_max_burst_prd;
|
||||
u8 tx_fifo_resize_max_num;
|
||||
u8 clear_stall_protocol;
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -1728,6 +1728,12 @@ static bool sdhci_send_command(struct sd
|
||||
@@ -1727,6 +1727,12 @@ static bool sdhci_send_command(struct sd
|
||||
if (host->use_external_dma)
|
||||
sdhci_external_dma_pre_transfer(host, cmd);
|
||||
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
|
||||
|
||||
return true;
|
||||
@@ -3333,6 +3339,11 @@ static void sdhci_cmd_irq(struct sdhci_h
|
||||
@@ -3332,6 +3338,11 @@ static void sdhci_cmd_irq(struct sdhci_h
|
||||
if (intmask & SDHCI_INT_TIMEOUT) {
|
||||
host->cmd->error = -ETIMEDOUT;
|
||||
sdhci_err_stats_inc(host, CMD_TIMEOUT);
|
||||
|
||||
+3
-3
@@ -116,10 +116,10 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/net/bridge/br_fdb.c
|
||||
+++ b/net/bridge/br_fdb.c
|
||||
@@ -581,6 +581,7 @@ void br_fdb_update(struct net_bridge *br
|
||||
|
||||
@@ -589,6 +589,7 @@
|
||||
/* fastpath: update of existing entry */
|
||||
if (unlikely(source != fdb->dst && !fdb->is_sticky)) {
|
||||
if (unlikely(source != fdb->dst &&
|
||||
!test_bit(BR_FDB_STICKY, &fdb->flags))) {
|
||||
+ br_switchdev_fdb_notify(fdb, RTM_DELNEIGH);
|
||||
fdb->dst = source;
|
||||
fdb_modified = true;
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
--- a/net/bridge/br_private.h
|
||||
+++ b/net/bridge/br_private.h
|
||||
@@ -193,7 +193,12 @@
|
||||
struct net_bridge_fdb_key key;
|
||||
struct hlist_node fdb_node;
|
||||
unsigned long flags;
|
||||
- unsigned char offloaded:1;
|
||||
+ unsigned char is_local:1,
|
||||
+ is_static:1,
|
||||
+ is_sticky:1,
|
||||
+ added_by_user:1,
|
||||
+ added_by_external_learn:1,
|
||||
+ offloaded:1;
|
||||
|
||||
/* write-heavy members should not affect lookups */
|
||||
unsigned long updated ____cacheline_aligned_in_smp;
|
||||
+2
-2
@@ -14,7 +14,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
--- a/drivers/spi/spidev.c
|
||||
+++ b/drivers/spi/spidev.c
|
||||
@@ -702,6 +702,7 @@ static const struct spi_device_id spidev
|
||||
@@ -703,6 +703,7 @@ static const struct spi_device_id spidev
|
||||
{ .name = "spi-petra" },
|
||||
{ .name = "spi-authenta" },
|
||||
{ .name = "em3581" },
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
|
||||
@@ -730,6 +731,7 @@ static const struct of_device_id spidev_
|
||||
@@ -732,6 +733,7 @@ static const struct of_device_id spidev_
|
||||
{ .compatible = "rohm,dh2228fv", .data = &spidev_of_check },
|
||||
{ .compatible = "semtech,sx1301", .data = &spidev_of_check },
|
||||
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
|
||||
|
||||
@@ -661,7 +661,7 @@ int wnd_init(struct wnd_bitmap *wnd, struct super_block *sb, size_t nbits)
|
||||
wnd->total_zeroes = nbits;
|
||||
wnd->extent_max = MINUS_ONE_T;
|
||||
wnd->zone_bit = wnd->zone_end = 0;
|
||||
wnd->nwnd = bytes_to_block(sb, bitmap_size(nbits));
|
||||
wnd->nwnd = bytes_to_block(sb, ntfs3_bitmap_size(nbits));
|
||||
wnd->bits_last = nbits & (wbits - 1);
|
||||
if (!wnd->bits_last)
|
||||
wnd->bits_last = wbits;
|
||||
@@ -1323,7 +1323,7 @@ int wnd_extend(struct wnd_bitmap *wnd, size_t new_bits)
|
||||
return -EINVAL;
|
||||
|
||||
/* Align to 8 byte boundary. */
|
||||
new_wnd = bytes_to_block(sb, bitmap_size(new_bits));
|
||||
new_wnd = bytes_to_block(sb, ntfs3_bitmap_size(new_bits));
|
||||
new_last = new_bits & (wbits - 1);
|
||||
if (!new_last)
|
||||
new_last = wbits;
|
||||
|
||||
@@ -493,7 +493,7 @@ static int ntfs_extend_mft(struct ntfs_sb_info *sbi)
|
||||
ni->mi.dirty = true;
|
||||
|
||||
/* Step 2: Resize $MFT::BITMAP. */
|
||||
new_bitmap_bytes = bitmap_size(new_mft_total);
|
||||
new_bitmap_bytes = ntfs3_bitmap_size(new_mft_total);
|
||||
|
||||
err = attr_set_size(ni, ATTR_BITMAP, NULL, 0, &sbi->mft.bitmap.run,
|
||||
new_bitmap_bytes, &new_bitmap_bytes, true, NULL);
|
||||
|
||||
@@ -1360,8 +1360,8 @@ static int indx_create_allocate(struct ntfs_index *indx, struct ntfs_inode *ni,
|
||||
|
||||
alloc->nres.valid_size = alloc->nres.data_size = cpu_to_le64(data_size);
|
||||
|
||||
err = ni_insert_resident(ni, bitmap_size(1), ATTR_BITMAP, in->name,
|
||||
in->name_len, &bitmap, NULL, NULL);
|
||||
err = ni_insert_resident(ni, ntfs3_bitmap_size(1), ATTR_BITMAP,
|
||||
in->name, in->name_len, &bitmap, NULL, NULL);
|
||||
if (err)
|
||||
goto out2;
|
||||
|
||||
@@ -1422,8 +1422,9 @@ static int indx_add_allocate(struct ntfs_index *indx, struct ntfs_inode *ni,
|
||||
if (bmp) {
|
||||
/* Increase bitmap. */
|
||||
err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len,
|
||||
&indx->bitmap_run, bitmap_size(bit + 1),
|
||||
NULL, true, NULL);
|
||||
&indx->bitmap_run,
|
||||
ntfs3_bitmap_size(bit + 1), NULL, true,
|
||||
NULL);
|
||||
if (err)
|
||||
goto out1;
|
||||
}
|
||||
@@ -1980,7 +1981,7 @@ static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni,
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
bpb = bitmap_size(bit);
|
||||
bpb = ntfs3_bitmap_size(bit);
|
||||
if (bpb * 8 == nbits)
|
||||
return 0;
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ struct page;
|
||||
struct writeback_control;
|
||||
enum utf16_endian;
|
||||
|
||||
#define BITS_TO_U64(nr) DIV_ROUND_UP(nr, BITS_PER_TYPE(u64))
|
||||
|
||||
#define MINUS_ONE_T ((size_t)(-1))
|
||||
/* Biggest MFT / smallest cluster */
|
||||
@@ -943,9 +944,9 @@ static inline bool run_is_empty(struct runs_tree *run)
|
||||
}
|
||||
|
||||
/* NTFS uses quad aligned bitmaps. */
|
||||
static inline size_t bitmap_size(size_t bits)
|
||||
static inline size_t ntfs3_bitmap_size(size_t bits)
|
||||
{
|
||||
return ALIGN((bits + 7) >> 3, 8);
|
||||
return BITS_TO_U64(bits) * sizeof(u64);
|
||||
}
|
||||
|
||||
#define _100ns2seconds 10000000
|
||||
|
||||
@@ -1100,7 +1100,7 @@ static int ntfs_fill_super(struct super_block *sb, struct fs_context *fc)
|
||||
|
||||
/* Check bitmap boundary. */
|
||||
tt = sbi->used.bitmap.nbits;
|
||||
if (inode->i_size < bitmap_size(tt)) {
|
||||
if (inode->i_size < ntfs3_bitmap_size(tt)) {
|
||||
err = -EINVAL;
|
||||
goto put_inode_out;
|
||||
}
|
||||
|
||||
+5
-3
@@ -15,7 +15,7 @@ Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
||||
|
||||
--- a/net/bridge/br_switchdev.c
|
||||
+++ b/net/bridge/br_switchdev.c
|
||||
@@ -102,42 +102,27 @@ int br_switchdev_set_port_flag(struct ne
|
||||
@@ -102,44 +102,27 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -53,7 +53,8 @@ Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
||||
- br_switchdev_fdb_call_notifiers(false, fdb->key.addr.addr,
|
||||
- fdb->key.vlan_id,
|
||||
- fdb->dst->dev,
|
||||
- fdb->added_by_user,
|
||||
- test_bit(BR_FDB_ADDED_BY_USER,
|
||||
- &fdb->flags),
|
||||
- fdb->offloaded);
|
||||
+ call_switchdev_notifiers(SWITCHDEV_FDB_DEL_TO_DEVICE,
|
||||
+ fdb->dst->dev, &info.info, NULL);
|
||||
@@ -62,7 +63,8 @@ Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
||||
- br_switchdev_fdb_call_notifiers(true, fdb->key.addr.addr,
|
||||
- fdb->key.vlan_id,
|
||||
- fdb->dst->dev,
|
||||
- fdb->added_by_user,
|
||||
- test_bit(BR_FDB_ADDED_BY_USER,
|
||||
- &fdb->flags),
|
||||
- fdb->offloaded);
|
||||
+ call_switchdev_notifiers(SWITCHDEV_FDB_ADD_TO_DEVICE,
|
||||
+ fdb->dst->dev, &info.info, NULL);
|
||||
|
||||
+4
-4
@@ -17,16 +17,16 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/net/bridge/br_fdb.c
|
||||
+++ b/net/bridge/br_fdb.c
|
||||
@@ -581,7 +581,7 @@ void br_fdb_update(struct net_bridge *br
|
||||
|
||||
@@ -589,7 +589,7 @@
|
||||
/* fastpath: update of existing entry */
|
||||
if (unlikely(source != fdb->dst && !fdb->is_sticky)) {
|
||||
if (unlikely(source != fdb->dst &&
|
||||
!test_bit(BR_FDB_STICKY, &fdb->flags))) {
|
||||
- br_switchdev_fdb_notify(fdb, RTM_DELNEIGH);
|
||||
+ br_switchdev_fdb_notify(br, fdb, RTM_DELNEIGH);
|
||||
fdb->dst = source;
|
||||
fdb_modified = true;
|
||||
/* Take over HW learned entry */
|
||||
@@ -697,7 +697,7 @@ static void fdb_notify(struct net_bridge
|
||||
@@ -705,7 +705,7 @@
|
||||
int err = -ENOBUFS;
|
||||
|
||||
if (swdev_notify)
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -8012,7 +8012,7 @@ static int nft_register_flowtable_net_ho
|
||||
@@ -8017,7 +8017,7 @@ static int nft_register_flowtable_net_ho
|
||||
err = flowtable->data.type->setup(&flowtable->data,
|
||||
hook->ops.dev,
|
||||
FLOW_BLOCK_BIND);
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/netfilter/nf_tables_api.c
|
||||
+++ b/net/netfilter/nf_tables_api.c
|
||||
@@ -8322,7 +8322,7 @@ static int nft_register_flowtable_net_ho
|
||||
@@ -8327,7 +8327,7 @@ static int nft_register_flowtable_net_ho
|
||||
err = flowtable->data.type->setup(&flowtable->data,
|
||||
hook->ops.dev,
|
||||
FLOW_BLOCK_BIND);
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
--- a/drivers/nvmem/u-boot-env.c
|
||||
+++ b/drivers/nvmem/u-boot-env.c
|
||||
@@ -181,7 +181,7 @@ static int u_boot_env_parse(struct u_boo
|
||||
@@ -188,7 +188,7 @@ static int u_boot_env_parse(struct u_boo
|
||||
crc32_data_len = dev_size - crc32_data_offset;
|
||||
data_len = dev_size - data_offset;
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ata_port_free);
|
||||
@@ -5927,7 +5950,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -5929,7 +5952,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
{ .compatible = "qcom,msm8960", },
|
||||
--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
|
||||
+++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
|
||||
@@ -148,6 +148,11 @@ static int qcom_cpufreq_kryo_name_versio
|
||||
@@ -152,6 +152,11 @@ static int qcom_cpufreq_kryo_name_versio
|
||||
switch (msm_id) {
|
||||
case QCOM_ID_MSM8996:
|
||||
case QCOM_ID_APQ8096:
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ Link: https://lore.kernel.org/r/20220818220628.339366-9-robimarko@gmail.com
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -677,6 +677,14 @@
|
||||
@@ -679,6 +679,14 @@
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20220818220245.338396-5-robimarko@gmail.com
|
||||
cryptobam: dma-controller@704000 {
|
||||
compatible = "qcom,bam-v1.7.0";
|
||||
reg = <0x00704000 0x20000>;
|
||||
@@ -876,4 +886,90 @@
|
||||
@@ -878,4 +888,90 @@
|
||||
<GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20220818220849.339732-4-robimarko@gmail.com
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -682,6 +682,8 @@
|
||||
@@ -684,6 +684,8 @@
|
||||
apcs_glb: mailbox@b111000 {
|
||||
compatible = "qcom,ipq8074-apcs-apps-global";
|
||||
reg = <0x0b111000 0x1000>;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -768,6 +768,7 @@
|
||||
@@ -770,6 +770,7 @@
|
||||
linux,pci-domain = <1>;
|
||||
bus-range = <0x00 0xff>;
|
||||
num-lanes = <1>;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ Link: https://lore.kernel.org/r/20230322174148.810938-4-krzysztof.kozlowski@lina
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -682,7 +682,8 @@
|
||||
@@ -684,7 +684,8 @@
|
||||
};
|
||||
|
||||
apcs_glb: mailbox@b111000 {
|
||||
|
||||
+12
-12
@@ -17,7 +17,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -899,6 +899,14 @@
|
||||
@@ -901,6 +901,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 4>;
|
||||
@@ -32,7 +32,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
nss0-thermal {
|
||||
@@ -906,6 +914,14 @@
|
||||
@@ -908,6 +916,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 5>;
|
||||
@@ -47,7 +47,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
nss1-thermal {
|
||||
@@ -913,6 +929,14 @@
|
||||
@@ -915,6 +931,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 6>;
|
||||
@@ -62,7 +62,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
wcss-phya0-thermal {
|
||||
@@ -920,6 +944,14 @@
|
||||
@@ -922,6 +946,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 7>;
|
||||
@@ -77,7 +77,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
wcss-phya1-thermal {
|
||||
@@ -927,6 +959,14 @@
|
||||
@@ -929,6 +961,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 8>;
|
||||
@@ -92,7 +92,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
cpu0_thermal: cpu0-thermal {
|
||||
@@ -934,6 +974,14 @@
|
||||
@@ -936,6 +976,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 9>;
|
||||
@@ -107,7 +107,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
cpu1_thermal: cpu1-thermal {
|
||||
@@ -941,6 +989,14 @@
|
||||
@@ -943,6 +991,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 10>;
|
||||
@@ -122,7 +122,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
cpu2_thermal: cpu2-thermal {
|
||||
@@ -948,6 +1004,14 @@
|
||||
@@ -950,6 +1006,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 11>;
|
||||
@@ -137,7 +137,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
cpu3_thermal: cpu3-thermal {
|
||||
@@ -955,6 +1019,14 @@
|
||||
@@ -957,6 +1021,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 12>;
|
||||
@@ -152,7 +152,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
cluster_thermal: cluster-thermal {
|
||||
@@ -962,6 +1034,14 @@
|
||||
@@ -964,6 +1036,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 13>;
|
||||
@@ -167,7 +167,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
wcss-phyb0-thermal {
|
||||
@@ -969,6 +1049,14 @@
|
||||
@@ -971,6 +1051,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 14>;
|
||||
@@ -182,7 +182,7 @@ Link: https://lore.kernel.org/r/20230607184448.2512179-1-robimarko@gmail.com
|
||||
};
|
||||
|
||||
wcss-phyb1-thermal {
|
||||
@@ -976,6 +1064,14 @@
|
||||
@@ -978,6 +1066,14 @@
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 15>;
|
||||
|
||||
+3
-3
@@ -44,7 +44,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
struct qcom_cpufreq_drv;
|
||||
|
||||
struct qcom_cpufreq_match_data {
|
||||
@@ -203,6 +205,57 @@ len_error:
|
||||
@@ -207,6 +209,57 @@ len_error:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
static const struct qcom_cpufreq_match_data match_data_kryo = {
|
||||
.get_version = qcom_cpufreq_kryo_name_version,
|
||||
};
|
||||
@@ -217,6 +270,10 @@ static const struct qcom_cpufreq_match_d
|
||||
@@ -221,6 +274,10 @@ static const struct qcom_cpufreq_match_d
|
||||
.genpd_names = qcs404_genpd_names,
|
||||
};
|
||||
|
||||
@@ -113,7 +113,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
static int qcom_cpufreq_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct qcom_cpufreq_drv *drv;
|
||||
@@ -361,6 +418,7 @@ static const struct of_device_id qcom_cp
|
||||
@@ -353,6 +410,7 @@ static const struct of_device_id qcom_cp
|
||||
{ .compatible = "qcom,apq8096", .data = &match_data_kryo },
|
||||
{ .compatible = "qcom,msm8996", .data = &match_data_kryo },
|
||||
{ .compatible = "qcom,qcs404", .data = &match_data_qcs404 },
|
||||
|
||||
+3
-3
@@ -47,7 +47,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
struct qcom_cpufreq_drv;
|
||||
|
||||
struct qcom_cpufreq_match_data {
|
||||
@@ -256,6 +261,44 @@ static int qcom_cpufreq_ipq6018_name_ver
|
||||
@@ -260,6 +265,44 @@ static int qcom_cpufreq_ipq6018_name_ver
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
static const struct qcom_cpufreq_match_data match_data_kryo = {
|
||||
.get_version = qcom_cpufreq_kryo_name_version,
|
||||
};
|
||||
@@ -274,6 +317,10 @@ static const struct qcom_cpufreq_match_d
|
||||
@@ -278,6 +321,10 @@ static const struct qcom_cpufreq_match_d
|
||||
.get_version = qcom_cpufreq_ipq6018_name_version,
|
||||
};
|
||||
|
||||
@@ -103,7 +103,7 @@ Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
||||
static int qcom_cpufreq_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct qcom_cpufreq_drv *drv;
|
||||
@@ -420,6 +467,7 @@ static const struct of_device_id qcom_cp
|
||||
@@ -412,6 +459,7 @@ static const struct of_device_id qcom_cp
|
||||
{ .compatible = "qcom,qcs404", .data = &match_data_qcs404 },
|
||||
{ .compatible = "qcom,ipq6018", .data = &match_data_ipq6018 },
|
||||
{ .compatible = "qcom,ipq8064", .data = &match_data_krait },
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -685,8 +685,8 @@
|
||||
@@ -687,8 +687,8 @@
|
||||
compatible = "qcom,ipq8074-apcs-apps-global",
|
||||
"qcom,ipq6018-apcs-apps-global";
|
||||
reg = <0x0b111000 0x1000>;
|
||||
|
||||
+3
-3
@@ -12,7 +12,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -706,7 +706,7 @@
|
||||
@@ -708,7 +708,7 @@
|
||||
reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
|
||||
ranges = <0 0xb00a000 0xffd>;
|
||||
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
compatible = "arm,gic-v2m-frame";
|
||||
msi-controller;
|
||||
reg = <0x0 0xffd>;
|
||||
@@ -819,8 +819,7 @@
|
||||
@@ -821,8 +821,7 @@
|
||||
ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */
|
||||
<0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
|
||||
|
||||
@@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0 0 0 0x7>;
|
||||
interrupt-map = <0 0 0 1 &intc 0 142
|
||||
@@ -881,8 +880,7 @@
|
||||
@@ -883,8 +882,7 @@
|
||||
ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */
|
||||
<0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */
|
||||
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
spmi_bus: spmi@200f000 {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
reg = <0x0200f000 0x001000>,
|
||||
@@ -921,6 +952,56 @@
|
||||
@@ -923,6 +954,56 @@
|
||||
"axi_s_sticky";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
|
||||
@@ -1002,6 +1002,117 @@
|
||||
@@ -1004,6 +1004,117 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
#endif
|
||||
--- a/include/net/ip6_route.h
|
||||
+++ b/include/net/ip6_route.h
|
||||
@@ -211,6 +211,11 @@ void rt6_multipath_rebalance(struct fib6
|
||||
@@ -219,6 +219,11 @@ void rt6_multipath_rebalance(struct fib6
|
||||
void rt6_uncached_list_add(struct rt6_info *rt);
|
||||
void rt6_uncached_list_del(struct rt6_info *rt);
|
||||
|
||||
@@ -326,7 +326,7 @@
|
||||
}
|
||||
|
||||
if (unlikely(test_bit(BR_FDB_ADDED_BY_USER, &flags)))
|
||||
@@ -1471,3 +1533,62 @@ void br_fdb_clear_offload(const struct n
|
||||
@@ -1469,3 +1531,62 @@ void br_fdb_clear_offload(const struct n
|
||||
spin_unlock_bh(&p->br->hash_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(br_fdb_clear_offload);
|
||||
@@ -609,7 +609,7 @@
|
||||
return 0;
|
||||
|
||||
out_remove_new_fa:
|
||||
@@ -1775,6 +1781,9 @@ int fib_table_delete(struct net *net, st
|
||||
@@ -1776,6 +1782,9 @@ int fib_table_delete(struct net *net, st
|
||||
if (fa_to_delete->fa_state & FA_S_ACCESSED)
|
||||
rt_cache_flush(cfg->fc_nlinfo.nl_net);
|
||||
|
||||
@@ -619,7 +619,7 @@
|
||||
fib_release_info(fa_to_delete->fa_info);
|
||||
alias_free_mem_rcu(fa_to_delete);
|
||||
return 0;
|
||||
@@ -2407,6 +2416,20 @@ void __init fib_trie_init(void)
|
||||
@@ -2408,6 +2417,20 @@ void __init fib_trie_init(void)
|
||||
0, SLAB_PANIC | SLAB_ACCOUNT, NULL);
|
||||
}
|
||||
|
||||
@@ -642,7 +642,7 @@
|
||||
struct fib_table *tb;
|
||||
--- a/net/ipv6/ndisc.c
|
||||
+++ b/net/ipv6/ndisc.c
|
||||
@@ -666,6 +666,7 @@ void ndisc_send_ns(struct net_device *de
|
||||
@@ -668,6 +668,7 @@ void ndisc_send_ns(struct net_device *de
|
||||
if (skb)
|
||||
ndisc_send_skb(skb, daddr, saddr);
|
||||
}
|
||||
@@ -724,7 +724,7 @@
|
||||
|
||||
static void
|
||||
ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
|
||||
@@ -2061,6 +2062,36 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str
|
||||
@@ -2062,6 +2063,36 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+6
-6
@@ -8,7 +8,7 @@
|
||||
|
||||
#include <linux/nsproxy.h>
|
||||
#include <net/net_namespace.h>
|
||||
@@ -254,6 +255,25 @@ struct ppp_net {
|
||||
@@ -255,6 +256,25 @@ struct ppp_net {
|
||||
#define seq_before(a, b) ((s32)((a) - (b)) < 0)
|
||||
#define seq_after(a, b) ((s32)((a) - (b)) > 0)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
/* Prototypes. */
|
||||
static int ppp_unattached_ioctl(struct net *net, struct ppp_file *pf,
|
||||
struct file *file, unsigned int cmd, unsigned long arg);
|
||||
@@ -3453,7 +3473,10 @@ ppp_connect_channel(struct channel *pch,
|
||||
@@ -3468,7 +3488,10 @@ ppp_connect_channel(struct channel *pch,
|
||||
struct ppp_net *pn;
|
||||
int ret = -ENXIO;
|
||||
int hdrlen;
|
||||
@@ -45,7 +45,7 @@
|
||||
pn = ppp_pernet(pch->chan_net);
|
||||
|
||||
mutex_lock(&pn->all_ppp_mutex);
|
||||
@@ -3485,13 +3508,40 @@ ppp_connect_channel(struct channel *pch,
|
||||
@@ -3500,13 +3523,40 @@ ppp_connect_channel(struct channel *pch,
|
||||
++ppp->n_channels;
|
||||
pch->ppp = ppp;
|
||||
refcount_inc(&ppp->file.refcnt);
|
||||
@@ -87,7 +87,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3509,6 +3559,13 @@ ppp_disconnect_channel(struct channel *p
|
||||
@@ -3524,6 +3574,13 @@ ppp_disconnect_channel(struct channel *p
|
||||
pch->ppp = NULL;
|
||||
write_unlock_bh(&pch->upl);
|
||||
if (ppp) {
|
||||
@@ -101,7 +101,7 @@
|
||||
/* remove it from the ppp unit's list */
|
||||
ppp_lock(ppp);
|
||||
list_del(&pch->clist);
|
||||
@@ -3588,6 +3645,222 @@ static void *unit_find(struct idr *p, in
|
||||
@@ -3603,6 +3660,222 @@ static void *unit_find(struct idr *p, in
|
||||
return idr_find(p, n);
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@
|
||||
/* Module/initialization stuff */
|
||||
|
||||
module_init(ppp_init);
|
||||
@@ -3604,6 +3877,7 @@ EXPORT_SYMBOL(ppp_input_error);
|
||||
@@ -3619,6 +3892,7 @@ EXPORT_SYMBOL(ppp_input_error);
|
||||
EXPORT_SYMBOL(ppp_output_wakeup);
|
||||
EXPORT_SYMBOL(ppp_register_compressor);
|
||||
EXPORT_SYMBOL(ppp_unregister_compressor);
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@
|
||||
static struct flow_dissector flow_keys_bonding __read_mostly;
|
||||
|
||||
/*-------------------------- Forward declarations ---------------------------*/
|
||||
@@ -4383,6 +4385,24 @@ static int bond_get_lowest_level_rcu(str
|
||||
@@ -4411,6 +4413,24 @@ static int bond_get_lowest_level_rcu(str
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
static void bond_get_stats(struct net_device *bond_dev,
|
||||
struct rtnl_link_stats64 *stats)
|
||||
{
|
||||
@@ -5795,6 +5815,11 @@ static void bond_destructor(struct net_d
|
||||
@@ -5823,6 +5843,11 @@ static void bond_destructor(struct net_d
|
||||
|
||||
if (bond->rr_tx_counter)
|
||||
free_percpu(bond->rr_tx_counter);
|
||||
@@ -46,7 +46,7 @@
|
||||
}
|
||||
|
||||
void bond_setup(struct net_device *bond_dev)
|
||||
@@ -6358,6 +6383,14 @@ int bond_create(struct net *net, const c
|
||||
@@ -6386,6 +6411,14 @@ int bond_create(struct net *net, const c
|
||||
|
||||
bond_work_init_all(bond);
|
||||
|
||||
|
||||
+12
-12
@@ -213,7 +213,7 @@
|
||||
{
|
||||
--- a/drivers/net/bonding/bond_main.c
|
||||
+++ b/drivers/net/bonding/bond_main.c
|
||||
@@ -1186,6 +1186,23 @@ void bond_change_active_slave(struct bon
|
||||
@@ -1214,6 +1214,23 @@ void bond_change_active_slave(struct bon
|
||||
if (BOND_MODE(bond) == BOND_MODE_8023AD)
|
||||
bond_3ad_handle_link_change(new_active, BOND_LINK_UP);
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
if (bond_is_lb(bond))
|
||||
bond_alb_handle_link_change(bond, new_active, BOND_LINK_UP);
|
||||
} else {
|
||||
@@ -1809,6 +1826,7 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -1837,6 +1854,7 @@ int bond_enslave(struct net_device *bond
|
||||
const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
|
||||
struct slave *new_slave = NULL, *prev_slave;
|
||||
struct sockaddr_storage ss;
|
||||
@@ -245,7 +245,7 @@
|
||||
int link_reporting;
|
||||
int res = 0, i;
|
||||
|
||||
@@ -2252,6 +2270,15 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -2280,6 +2298,15 @@ int bond_enslave(struct net_device *bond
|
||||
bond_is_active_slave(new_slave) ? "an active" : "a backup",
|
||||
new_slave->link != BOND_LINK_DOWN ? "an up" : "a down");
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
/* enslave is successful */
|
||||
bond_queue_slave_event(new_slave);
|
||||
return 0;
|
||||
@@ -2317,6 +2344,15 @@ err_undo_flags:
|
||||
@@ -2345,6 +2372,15 @@ err_undo_flags:
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -2339,6 +2375,7 @@ static int __bond_release_one(struct net
|
||||
@@ -2367,6 +2403,7 @@ static int __bond_release_one(struct net
|
||||
struct slave *slave, *oldcurrent;
|
||||
struct sockaddr_storage ss;
|
||||
int old_flags = bond_dev->flags;
|
||||
@@ -285,7 +285,7 @@
|
||||
netdev_features_t old_features = bond_dev->features;
|
||||
|
||||
/* slave is not a slave or master is not master of this slave */
|
||||
@@ -2360,6 +2397,15 @@ static int __bond_release_one(struct net
|
||||
@@ -2388,6 +2425,15 @@ static int __bond_release_one(struct net
|
||||
|
||||
bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
bond_sysfs_slave_del(slave);
|
||||
|
||||
/* recompute stats just before removing the slave */
|
||||
@@ -2679,6 +2725,8 @@ static void bond_miimon_commit(struct bo
|
||||
@@ -2707,6 +2753,8 @@ static void bond_miimon_commit(struct bo
|
||||
struct slave *slave, *primary, *active;
|
||||
bool do_failover = false;
|
||||
struct list_head *iter;
|
||||
@@ -310,7 +310,7 @@
|
||||
|
||||
ASSERT_RTNL();
|
||||
|
||||
@@ -2718,6 +2766,12 @@ static void bond_miimon_commit(struct bo
|
||||
@@ -2746,6 +2794,12 @@ static void bond_miimon_commit(struct bo
|
||||
bond_set_active_slave(slave);
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@
|
||||
slave_info(bond->dev, slave->dev, "link status definitely up, %u Mbps %s duplex\n",
|
||||
slave->speed == SPEED_UNKNOWN ? 0 : slave->speed,
|
||||
slave->duplex ? "full" : "half");
|
||||
@@ -2766,6 +2820,16 @@ static void bond_miimon_commit(struct bo
|
||||
@@ -2794,6 +2848,16 @@ static void bond_miimon_commit(struct bo
|
||||
unblock_netpoll_tx();
|
||||
}
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
bond_set_carrier(bond);
|
||||
}
|
||||
|
||||
@@ -4013,9 +4077,220 @@ static inline u32 bond_eth_hash(struct s
|
||||
@@ -4041,9 +4105,220 @@ static inline u32 bond_eth_hash(struct s
|
||||
return 0;
|
||||
|
||||
ep = (struct ethhdr *)(data + mhoff);
|
||||
@@ -562,7 +562,7 @@
|
||||
static bool bond_flow_ip(struct sk_buff *skb, struct flow_keys *fk, const void *data,
|
||||
int hlen, __be16 l2_proto, int *nhoff, int *ip_proto, bool l34)
|
||||
{
|
||||
@@ -5211,15 +5486,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str
|
||||
@@ -5239,15 +5514,23 @@ static netdev_tx_t bond_3ad_xor_xmit(str
|
||||
struct net_device *dev)
|
||||
{
|
||||
struct bonding *bond = netdev_priv(dev);
|
||||
@@ -593,7 +593,7 @@
|
||||
}
|
||||
|
||||
/* in broadcast mode, we send everything to all usable interfaces. */
|
||||
@@ -5469,8 +5752,9 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
@@ -5497,8 +5780,9 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
return bond_xmit_roundrobin(skb, dev);
|
||||
case BOND_MODE_ACTIVEBACKUP:
|
||||
return bond_xmit_activebackup(skb, dev);
|
||||
|
||||
+17
-17
@@ -17,7 +17,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
|
||||
--- a/drivers/net/bonding/bond_main.c
|
||||
+++ b/drivers/net/bonding/bond_main.c
|
||||
@@ -1439,6 +1439,10 @@ static netdev_features_t bond_fix_featur
|
||||
@@ -1467,6 +1467,10 @@ static netdev_features_t bond_fix_featur
|
||||
return features;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
#define BOND_VLAN_FEATURES (NETIF_F_HW_CSUM | NETIF_F_SG | \
|
||||
NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | \
|
||||
NETIF_F_HIGHDMA | NETIF_F_LRO)
|
||||
@@ -1469,13 +1473,25 @@ static void bond_compute_features(struct
|
||||
@@ -1497,13 +1501,25 @@ static void bond_compute_features(struct
|
||||
|
||||
if (!bond_has_slaves(bond))
|
||||
goto done;
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
enc_features = netdev_increment_features(enc_features,
|
||||
slave->dev->hw_enc_features,
|
||||
BOND_ENC_FEATURES);
|
||||
@@ -1620,6 +1636,16 @@ static rx_handler_result_t bond_handle_f
|
||||
@@ -1648,6 +1664,16 @@ static rx_handler_result_t bond_handle_f
|
||||
bond->dev->addr_len);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1837,6 +1863,8 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -1865,6 +1891,8 @@ int bond_enslave(struct net_device *bond
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
if (!bond->params.use_carrier &&
|
||||
slave_dev->ethtool_ops->get_link == NULL &&
|
||||
slave_ops->ndo_eth_ioctl == NULL) {
|
||||
@@ -1950,13 +1978,17 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -1978,13 +2006,17 @@ int bond_enslave(struct net_device *bond
|
||||
call_netdevice_notifiers(NETDEV_JOIN, slave_dev);
|
||||
|
||||
/* If this is the first slave, then we need to set the master's hardware
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
}
|
||||
|
||||
new_slave = bond_alloc_slave(bond, slave_dev);
|
||||
@@ -1985,18 +2017,21 @@ int bond_enslave(struct net_device *bond
|
||||
@@ -2013,18 +2045,21 @@ int bond_enslave(struct net_device *bond
|
||||
bond_hw_addr_copy(new_slave->perm_hwaddr, slave_dev->dev_addr,
|
||||
slave_dev->addr_len);
|
||||
|
||||
@@ -141,7 +141,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2355,6 +2390,7 @@ err_undo_flags:
|
||||
@@ -2383,6 +2418,7 @@ err_undo_flags:
|
||||
|
||||
return res;
|
||||
}
|
||||
@@ -149,7 +149,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
|
||||
/* Try to release the slave device <slave> from the bond device <master>
|
||||
* It is legal to access curr_active_slave without a lock because all the function
|
||||
@@ -2476,13 +2512,23 @@ static int __bond_release_one(struct net
|
||||
@@ -2504,13 +2540,23 @@ static int __bond_release_one(struct net
|
||||
}
|
||||
|
||||
bond_set_carrier(bond);
|
||||
@@ -175,7 +175,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
if (!bond_has_slaves(bond)) {
|
||||
call_netdevice_notifiers(NETDEV_CHANGEADDR, bond->dev);
|
||||
call_netdevice_notifiers(NETDEV_RELEASE, bond->dev);
|
||||
@@ -2549,6 +2595,7 @@ int bond_release(struct net_device *bond
|
||||
@@ -2577,6 +2623,7 @@ int bond_release(struct net_device *bond
|
||||
{
|
||||
return __bond_release_one(bond_dev, slave_dev, false, false);
|
||||
}
|
||||
@@ -183,7 +183,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
|
||||
/* First release a slave and then destroy the bond if no more slaves are left.
|
||||
* Must be under rtnl_lock when this function is called.
|
||||
@@ -2570,6 +2617,29 @@ static int bond_release_and_destroy(stru
|
||||
@@ -2598,6 +2645,29 @@ static int bond_release_and_destroy(stru
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
static void bond_info_query(struct net_device *bond_dev, struct ifbond *info)
|
||||
{
|
||||
struct bonding *bond = netdev_priv(bond_dev);
|
||||
@@ -4221,6 +4291,24 @@ static struct net_device *bond_xor_get_t
|
||||
@@ -4249,6 +4319,24 @@ static struct net_device *bond_xor_get_t
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -238,7 +238,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
/* bond_get_tx_dev - Calculate egress interface for a given packet.
|
||||
*
|
||||
* Supports 802.3AD and balance-xor modes
|
||||
@@ -4261,6 +4349,9 @@ struct net_device *bond_get_tx_dev(struc
|
||||
@@ -4289,6 +4377,9 @@ struct net_device *bond_get_tx_dev(struc
|
||||
return bond_3ad_get_tx_dev(skb, src_mac, dst_mac,
|
||||
src, dst, protocol,
|
||||
bond_dev, layer4hdr);
|
||||
@@ -248,7 +248,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@@ -5057,20 +5148,26 @@ static int bond_set_mac_address(struct n
|
||||
@@ -5085,20 +5176,26 @@ static int bond_set_mac_address(struct n
|
||||
if (!is_valid_ether_addr(ss->__data))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
@@ -289,7 +289,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5734,6 +5831,27 @@ static netdev_tx_t bond_tls_device_xmit(
|
||||
@@ -5762,6 +5859,27 @@ static netdev_tx_t bond_tls_device_xmit(
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -317,7 +317,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
static netdev_tx_t __bond_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
struct bonding *bond = netdev_priv(dev);
|
||||
@@ -5762,6 +5880,8 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
@@ -5790,6 +5908,8 @@ static netdev_tx_t __bond_start_xmit(str
|
||||
return bond_alb_xmit(skb, dev);
|
||||
case BOND_MODE_TLB:
|
||||
return bond_tlb_xmit(skb, dev);
|
||||
@@ -326,7 +326,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
default:
|
||||
/* Should never happen, mode already checked */
|
||||
netdev_err(dev, "Unknown bonding mode %d\n", BOND_MODE(bond));
|
||||
@@ -6104,6 +6224,15 @@ static void bond_destructor(struct net_d
|
||||
@@ -6132,6 +6252,15 @@ static void bond_destructor(struct net_d
|
||||
if (bond->id != (~0U))
|
||||
clear_bit(bond->id, &bond_id_mask);
|
||||
/* QCA NSS ECM bonding support */
|
||||
@@ -342,7 +342,7 @@ Signed-off-by: Shivani Soni <quic_soni@quicinc.com>
|
||||
}
|
||||
|
||||
void bond_setup(struct net_device *bond_dev)
|
||||
@@ -6680,6 +6809,76 @@ out:
|
||||
@@ -6708,6 +6837,76 @@ out:
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -373,7 +373,7 @@
|
||||
subsys_initcall(pktsched_init);
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -1073,6 +1073,7 @@ static void __qdisc_destroy(struct Qdisc
|
||||
@@ -1074,6 +1074,7 @@ static void __qdisc_destroy(struct Qdisc
|
||||
|
||||
call_rcu(&qdisc->rcu, qdisc_free_cb);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
--- a/net/l2tp/l2tp_core.c
|
||||
+++ b/net/l2tp/l2tp_core.c
|
||||
@@ -398,6 +398,31 @@ err_tlock:
|
||||
@@ -403,6 +403,31 @@ err_tlock:
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(l2tp_session_register);
|
||||
|
||||
|
||||
+3
-3
@@ -51,7 +51,7 @@
|
||||
#endif /* !(__LINUX_IF_PPPOX_H) */
|
||||
--- a/drivers/net/ppp/ppp_generic.c
|
||||
+++ b/drivers/net/ppp/ppp_generic.c
|
||||
@@ -2973,6 +2973,20 @@ char *ppp_dev_name(struct ppp_channel *c
|
||||
@@ -2988,6 +2988,20 @@ char *ppp_dev_name(struct ppp_channel *c
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
/*
|
||||
* Disconnect a channel from the generic layer.
|
||||
@@ -3681,6 +3695,28 @@ void ppp_update_stats(struct net_device
|
||||
@@ -3696,6 +3710,28 @@ void ppp_update_stats(struct net_device
|
||||
ppp_recv_unlock(ppp);
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
/* Returns >0 if the device is a multilink PPP netdevice, 0 if not or < 0 if
|
||||
* the device is not PPP.
|
||||
*/
|
||||
@@ -3872,6 +3908,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
|
||||
@@ -3887,6 +3923,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
|
||||
EXPORT_SYMBOL(ppp_channel_index);
|
||||
EXPORT_SYMBOL(ppp_unit_number);
|
||||
EXPORT_SYMBOL(ppp_dev_name);
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@
|
||||
#endif /* __NET_IP_TUNNELS_H */
|
||||
--- a/net/ipv6/ip6_tunnel.c
|
||||
+++ b/net/ipv6/ip6_tunnel.c
|
||||
@@ -2413,6 +2413,26 @@ nla_put_failure:
|
||||
@@ -2415,6 +2415,26 @@ nla_put_failure:
|
||||
return -EMSGSIZE;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -261,7 +261,7 @@
|
||||
|
||||
--- a/drivers/net/ppp/ppp_generic.c
|
||||
+++ b/drivers/net/ppp/ppp_generic.c
|
||||
@@ -3743,6 +3743,32 @@ int ppp_is_multilink(struct net_device *
|
||||
@@ -3758,6 +3758,32 @@ int ppp_is_multilink(struct net_device *
|
||||
}
|
||||
EXPORT_SYMBOL(ppp_is_multilink);
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
/* ppp_channel_get_protocol()
|
||||
* Call this to obtain the underlying protocol of the PPP channel,
|
||||
* e.g. PX_PROTO_OE
|
||||
@@ -3881,6 +3907,59 @@ int ppp_hold_channels(struct net_device
|
||||
@@ -3896,6 +3922,59 @@ int ppp_hold_channels(struct net_device
|
||||
}
|
||||
EXPORT_SYMBOL(ppp_hold_channels);
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
--- a/net/ipv6/ip6_tunnel.c
|
||||
+++ b/net/ipv6/ip6_tunnel.c
|
||||
@@ -2419,7 +2419,7 @@ nla_put_failure:
|
||||
@@ -2421,7 +2421,7 @@ nla_put_failure:
|
||||
*/
|
||||
void ip6_update_offload_stats(struct net_device *dev, void *ptr)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
* flag unset if they can't handle memory allocation failures.
|
||||
--- a/net/ipv4/esp4.c
|
||||
+++ b/net/ipv4/esp4.c
|
||||
@@ -658,6 +658,7 @@ static int esp_output(struct xfrm_state
|
||||
@@ -657,6 +657,7 @@ static int esp_output(struct xfrm_state
|
||||
struct ip_esp_hdr *esph;
|
||||
struct crypto_aead *aead;
|
||||
struct esp_info esp;
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
esp.inplace = true;
|
||||
|
||||
@@ -669,6 +670,11 @@ static int esp_output(struct xfrm_state
|
||||
@@ -668,6 +669,11 @@ static int esp_output(struct xfrm_state
|
||||
aead = x->data;
|
||||
alen = crypto_aead_authsize(aead);
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
esp.tfclen = 0;
|
||||
if (x->tfcpad) {
|
||||
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
|
||||
@@ -890,6 +896,7 @@ static int esp_input(struct xfrm_state *
|
||||
@@ -889,6 +895,7 @@ static int esp_input(struct xfrm_state *
|
||||
u8 *iv;
|
||||
struct scatterlist *sg;
|
||||
int err = -EINVAL;
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen))
|
||||
goto out;
|
||||
@@ -897,6 +904,12 @@ static int esp_input(struct xfrm_state *
|
||||
@@ -896,6 +903,12 @@ static int esp_input(struct xfrm_state *
|
||||
if (elen <= 0)
|
||||
goto out;
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
--- a/net/ipv6/esp6.c
|
||||
+++ b/net/ipv6/esp6.c
|
||||
@@ -696,6 +696,7 @@ static int esp6_output(struct xfrm_state
|
||||
@@ -695,6 +695,7 @@ static int esp6_output(struct xfrm_state
|
||||
struct ip_esp_hdr *esph;
|
||||
struct crypto_aead *aead;
|
||||
struct esp_info esp;
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
esp.inplace = true;
|
||||
|
||||
@@ -707,6 +708,11 @@ static int esp6_output(struct xfrm_state
|
||||
@@ -706,6 +707,11 @@ static int esp6_output(struct xfrm_state
|
||||
aead = x->data;
|
||||
alen = crypto_aead_authsize(aead);
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
esp.tfclen = 0;
|
||||
if (x->tfcpad) {
|
||||
struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb);
|
||||
@@ -934,6 +940,7 @@ static int esp6_input(struct xfrm_state
|
||||
@@ -933,6 +939,7 @@ static int esp6_input(struct xfrm_state
|
||||
__be32 *seqhi;
|
||||
u8 *iv;
|
||||
struct scatterlist *sg;
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) {
|
||||
ret = -EINVAL;
|
||||
@@ -945,6 +952,12 @@ static int esp6_input(struct xfrm_state
|
||||
@@ -944,6 +951,12 @@ static int esp6_input(struct xfrm_state
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -68,7 +68,7 @@ Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
|
||||
|
||||
--- a/net/ipv6/ip6_output.c
|
||||
+++ b/net/ipv6/ip6_output.c
|
||||
@@ -498,6 +498,9 @@ int ip6_forward(struct sk_buff *skb)
|
||||
@@ -506,6 +506,9 @@ int ip6_forward(struct sk_buff *skb)
|
||||
u32 mtu;
|
||||
|
||||
idev = __in6_dev_get_safely(dev_get_by_index_rcu(net, IP6CB(skb)->iif));
|
||||
|
||||
-76
@@ -1,76 +0,0 @@
|
||||
From b7f824141f4163c64a940f3a69bf6d8b76f77c7f Mon Sep 17 00:00:00 2001
|
||||
From: Niklas Cassel <cassel@kernel.org>
|
||||
Date: Wed, 17 Apr 2024 18:42:26 +0200
|
||||
Subject: [PATCH] PCI: dw-rockchip: Fix initial PERST# GPIO value
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
PERST# is active low according to the PCIe specification.
|
||||
|
||||
However, the existing pcie-dw-rockchip.c driver does:
|
||||
|
||||
gpiod_set_value(..., 0); msleep(100); gpiod_set_value(..., 1);
|
||||
|
||||
when asserting + deasserting PERST#.
|
||||
|
||||
This is of course wrong, but because all the device trees for this
|
||||
compatible string have also incorrectly marked this GPIO as ACTIVE_HIGH:
|
||||
|
||||
$ git grep -B 10 reset-gpios arch/arm64/boot/dts/rockchip/rk3568*
|
||||
$ git grep -B 10 reset-gpios arch/arm64/boot/dts/rockchip/rk3588*
|
||||
|
||||
The actual toggling of PERST# is correct, and we cannot change it anyway,
|
||||
since that would break device tree compatibility.
|
||||
|
||||
However, this driver does request the GPIO to be initialized as
|
||||
GPIOD_OUT_HIGH, which does cause a silly sequence where PERST# gets
|
||||
toggled back and forth for no good reason.
|
||||
|
||||
Fix this by requesting the GPIO to be initialized as GPIOD_OUT_LOW (which
|
||||
for this driver means PERST# asserted).
|
||||
|
||||
This will avoid an unnecessary signal change where PERST# gets deasserted
|
||||
(by devm_gpiod_get_optional()) and then gets asserted (by
|
||||
rockchip_pcie_start_link()) just a few instructions later.
|
||||
|
||||
Before patch, debug prints on EP side, when booting RC:
|
||||
|
||||
[ 845.606810] pci: PERST# asserted by host!
|
||||
[ 852.483985] pci: PERST# de-asserted by host!
|
||||
[ 852.503041] pci: PERST# asserted by host!
|
||||
[ 852.610318] pci: PERST# de-asserted by host!
|
||||
|
||||
After patch, debug prints on EP side, when booting RC:
|
||||
|
||||
[ 125.107921] pci: PERST# asserted by host!
|
||||
[ 132.111429] pci: PERST# de-asserted by host!
|
||||
|
||||
This extra, very short, PERST# assertion + deassertion has been reported to
|
||||
cause issues with certain WLAN controllers, e.g. RTL8822CE.
|
||||
|
||||
Fixes: 0e898eb8df4e ("PCI: rockchip-dwc: Add Rockchip RK356X host controller driver")
|
||||
Link: https://lore.kernel.org/linux-pci/20240417164227.398901-1-cassel@kernel.org
|
||||
Tested-by: Heiko Stuebner <heiko@sntech.de>
|
||||
Tested-by: Jianfeng Liu <liujianfeng1994@gmail.com>
|
||||
Signed-off-by: Niklas Cassel <cassel@kernel.org>
|
||||
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
|
||||
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
|
||||
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
Cc: stable@vger.kernel.org # v5.15+
|
||||
---
|
||||
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
@@ -240,7 +240,7 @@ static int rockchip_pcie_resource_get(st
|
||||
return PTR_ERR(rockchip->apb_base);
|
||||
|
||||
rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
|
||||
- GPIOD_OUT_HIGH);
|
||||
+ GPIOD_OUT_LOW);
|
||||
if (IS_ERR(rockchip->rst_gpio))
|
||||
return PTR_ERR(rockchip->rst_gpio);
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
|
||||
TxDescStartAddrLow = 0x20,
|
||||
TxDescStartAddrHigh = 0x24,
|
||||
TxHDescStartAddrLow = 0x28,
|
||||
@@ -5264,6 +5266,22 @@ static bool rtl_aspm_is_safe(struct rtl8
|
||||
@@ -5260,6 +5262,22 @@ static bool rtl_aspm_is_safe(struct rtl8
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
|
||||
static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
struct rtl8169_private *tp;
|
||||
@@ -5435,6 +5453,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
@@ -5431,6 +5449,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
if (!tp->counters)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
|
||||
#define RTL8211F_PHYCR1 0x18
|
||||
#define RTL8211F_PHYCR2 0x19
|
||||
#define RTL8211F_INSR 0x1d
|
||||
@@ -350,6 +352,7 @@ static int rtl8211f_config_init(struct p
|
||||
@@ -354,6 +356,7 @@ static int rtl8211f_config_init(struct p
|
||||
struct rtl821x_priv *priv = phydev->priv;
|
||||
struct device *dev = &phydev->mdio.dev;
|
||||
u16 val_txdly, val_rxdly;
|
||||
@@ -26,7 +26,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
|
||||
int ret;
|
||||
|
||||
ret = phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1,
|
||||
@@ -416,6 +419,15 @@ static int rtl8211f_config_init(struct p
|
||||
@@ -420,6 +423,15 @@ static int rtl8211f_config_init(struct p
|
||||
val_rxdly ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
|
||||
--- a/drivers/mmc/core/core.c
|
||||
+++ b/drivers/mmc/core/core.c
|
||||
@@ -1371,6 +1371,8 @@ void mmc_power_off(struct mmc_host *host
|
||||
@@ -1370,6 +1370,8 @@ void mmc_power_off(struct mmc_host *host
|
||||
|
||||
mmc_pwrseq_power_off(host);
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -1169,6 +1169,14 @@ config SOCIONEXT_SYNQUACER_PREITS
|
||||
@@ -1207,6 +1207,14 @@ config SOCIONEXT_SYNQUACER_PREITS
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
};
|
||||
|
||||
usb_host0_ehci: usb@fd800000 {
|
||||
@@ -978,7 +985,7 @@
|
||||
@@ -979,7 +986,7 @@
|
||||
num-ib-windows = <6>;
|
||||
num-ob-windows = <2>;
|
||||
max-link-speed = <2>;
|
||||
|
||||
+5
-5
@@ -138,7 +138,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
if (alloc_lpis) {
|
||||
lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis);
|
||||
if (lpi_map)
|
||||
@@ -4706,6 +4743,13 @@ static bool __maybe_unused its_enable_qu
|
||||
@@ -4704,6 +4741,13 @@ static bool __maybe_unused its_enable_qu
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
static const struct gic_quirk its_quirks[] = {
|
||||
#ifdef CONFIG_CAVIUM_ERRATUM_22375
|
||||
{
|
||||
@@ -4752,6 +4796,14 @@ static const struct gic_quirk its_quirks
|
||||
@@ -4750,6 +4794,14 @@ static const struct gic_quirk its_quirks
|
||||
.init = its_enable_quirk_hip07_161600802,
|
||||
},
|
||||
#endif
|
||||
@@ -167,7 +167,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
{
|
||||
}
|
||||
};
|
||||
@@ -5007,6 +5059,7 @@ static int __init its_probe_one(struct r
|
||||
@@ -5005,6 +5057,7 @@ static int __init its_probe_one(struct r
|
||||
struct page *page;
|
||||
u32 ctlr;
|
||||
int err;
|
||||
@@ -175,7 +175,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
|
||||
its_base = its_map_one(res, &err);
|
||||
if (!its_base)
|
||||
@@ -5060,7 +5113,9 @@ static int __init its_probe_one(struct r
|
||||
@@ -5058,7 +5111,9 @@ static int __init its_probe_one(struct r
|
||||
|
||||
its->numa_node = numa_node;
|
||||
|
||||
@@ -186,7 +186,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
|
||||
get_order(ITS_CMD_QUEUE_SZ));
|
||||
if (!page) {
|
||||
err = -ENOMEM;
|
||||
@@ -5091,6 +5146,9 @@ static int __init its_probe_one(struct r
|
||||
@@ -5089,6 +5144,9 @@ static int __init its_probe_one(struct r
|
||||
gits_write_cbaser(baser, its->base + GITS_CBASER);
|
||||
tmp = gits_read_cbaser(its->base + GITS_CBASER);
|
||||
|
||||
|
||||
+7
-7
@@ -12,7 +12,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
|
||||
--- a/drivers/pinctrl/pinctrl-rockchip.c
|
||||
+++ b/drivers/pinctrl/pinctrl-rockchip.c
|
||||
@@ -2019,6 +2019,150 @@ static int rk3568_calc_pull_reg_and_bit(
|
||||
@@ -2006,6 +2006,150 @@ static int rk3568_calc_pull_reg_and_bit(
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
#define RK3568_DRV_PMU_OFFSET 0x70
|
||||
#define RK3568_DRV_GRF_OFFSET 0x200
|
||||
#define RK3568_DRV_BITS_PER_PIN 8
|
||||
@@ -2342,6 +2486,10 @@ static int rockchip_set_drive_perpin(str
|
||||
@@ -2329,6 +2473,10 @@ static int rockchip_set_drive_perpin(str
|
||||
rmask_bits = RK3588_DRV_BITS_PER_PIN;
|
||||
ret = strength;
|
||||
goto config;
|
||||
@@ -174,7 +174,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
} else if (ctrl->type == RK3568) {
|
||||
rmask_bits = RK3568_DRV_BITS_PER_PIN;
|
||||
ret = (1 << (strength + 1)) - 1;
|
||||
@@ -2482,6 +2630,7 @@ static int rockchip_get_pull(struct rock
|
||||
@@ -2469,6 +2617,7 @@ static int rockchip_get_pull(struct rock
|
||||
case RK3328:
|
||||
case RK3368:
|
||||
case RK3399:
|
||||
@@ -182,7 +182,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
case RK3568:
|
||||
case RK3588:
|
||||
pull_type = bank->pull_type[pin_num / 8];
|
||||
@@ -2541,6 +2690,7 @@ static int rockchip_set_pull(struct rock
|
||||
@@ -2528,6 +2677,7 @@ static int rockchip_set_pull(struct rock
|
||||
case RK3328:
|
||||
case RK3368:
|
||||
case RK3399:
|
||||
@@ -190,7 +190,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
case RK3568:
|
||||
case RK3588:
|
||||
pull_type = bank->pull_type[pin_num / 8];
|
||||
@@ -2806,6 +2956,7 @@ static bool rockchip_pinconf_pull_valid(
|
||||
@@ -2793,6 +2943,7 @@ static bool rockchip_pinconf_pull_valid(
|
||||
case RK3328:
|
||||
case RK3368:
|
||||
case RK3399:
|
||||
@@ -198,7 +198,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
case RK3568:
|
||||
case RK3588:
|
||||
return (pull != PIN_CONFIG_BIAS_PULL_PIN_DEFAULT);
|
||||
@@ -3931,6 +4082,49 @@ static struct rockchip_pin_ctrl rk3399_p
|
||||
@@ -3918,6 +4069,49 @@ static struct rockchip_pin_ctrl rk3399_p
|
||||
.drv_calc_reg = rk3399_calc_drv_reg_and_bit,
|
||||
};
|
||||
|
||||
@@ -248,7 +248,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
static struct rockchip_pin_bank rk3568_pin_banks[] = {
|
||||
PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
||||
IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
||||
@@ -4024,6 +4218,8 @@ static const struct of_device_id rockchi
|
||||
@@ -4011,6 +4205,8 @@ static const struct of_device_id rockchi
|
||||
.data = &rk3368_pin_ctrl },
|
||||
{ .compatible = "rockchip,rk3399-pinctrl",
|
||||
.data = &rk3399_pin_ctrl },
|
||||
|
||||
+1
-1
@@ -179,7 +179,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
GATE(0, "clk_ddrupctl", "clk_ddr", CLK_IGNORE_UNUSED,
|
||||
--- a/drivers/clk/rockchip/clk.h
|
||||
+++ b/drivers/clk/rockchip/clk.h
|
||||
@@ -418,7 +418,8 @@ struct clk *rockchip_clk_register_mmc(co
|
||||
@@ -447,7 +447,8 @@ struct clk *rockchip_clk_register_mmc(co
|
||||
* DDRCLK flags, including method of setting the rate
|
||||
* ROCKCHIP_DDRCLK_SIP: use SIP call to bl31 to change ddrclk rate.
|
||||
*/
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/in.h>
|
||||
#include <linux/io.h>
|
||||
@@ -177,6 +178,7 @@ enum rtl_registers {
|
||||
@@ -173,6 +174,7 @@ enum rtl_registers {
|
||||
MAR0 = 8, /* Multicast filter. */
|
||||
CounterAddrLow = 0x10,
|
||||
CounterAddrHigh = 0x14,
|
||||
@@ -25,7 +25,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
|
||||
TxDescStartAddrLow = 0x20,
|
||||
TxDescStartAddrHigh = 0x24,
|
||||
TxHDescStartAddrLow = 0x28,
|
||||
@@ -5403,6 +5405,22 @@ static bool rtl_aspm_is_safe(struct rtl8
|
||||
@@ -5325,6 +5327,22 @@ static bool rtl_aspm_is_safe(struct rtl8
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ Subject: [PATCH] r8169: add LED configuration from OF
|
||||
static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
struct rtl8169_private *tp;
|
||||
@@ -5575,6 +5593,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
@@ -5493,6 +5511,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
if (!tp->counters)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
+2
-2
@@ -18,7 +18,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
|
||||
#define RTL8211F_PHYCR1 0x18
|
||||
#define RTL8211F_PHYCR2 0x19
|
||||
#define RTL8211F_INSR 0x1d
|
||||
@@ -361,6 +363,7 @@ static int rtl8211f_config_init(struct p
|
||||
@@ -380,6 +382,7 @@ static int rtl8211f_config_init(struct p
|
||||
struct rtl821x_priv *priv = phydev->priv;
|
||||
struct device *dev = &phydev->mdio.dev;
|
||||
u16 val_txdly, val_rxdly;
|
||||
@@ -26,7 +26,7 @@ Subject: [PATCH] net: phy: realtek: add LED configuration from OF for 8211f
|
||||
int ret;
|
||||
|
||||
ret = phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1,
|
||||
@@ -427,6 +430,15 @@ static int rtl8211f_config_init(struct p
|
||||
@@ -446,6 +449,15 @@ static int rtl8211f_config_init(struct p
|
||||
val_rxdly ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
@@ -397,6 +397,7 @@
|
||||
@@ -406,6 +406,7 @@
|
||||
rtl8153: device@2 {
|
||||
compatible = "usbbda,8153";
|
||||
reg = <2>;
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/irqchip/irq-gic-v3-its.c
|
||||
+++ b/drivers/irqchip/irq-gic-v3-its.c
|
||||
@@ -4732,11 +4732,13 @@ static bool __maybe_unused its_enable_qu
|
||||
@@ -4730,11 +4730,13 @@ static bool __maybe_unused its_enable_qu
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
!of_machine_is_compatible("rockchip,rk3588s"))
|
||||
return false;
|
||||
|
||||
@@ -4802,10 +4804,10 @@ static const struct gic_quirk its_quirks
|
||||
@@ -4800,10 +4802,10 @@ static const struct gic_quirk its_quirks
|
||||
#endif
|
||||
#ifdef CONFIG_ROCKCHIP_ERRATUM_3588001
|
||||
{
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ Subject: [PATCH] rockchip: rk3328: add i2c0 controller for nanopi r2s
|
||||
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
@@ -166,6 +166,10 @@
|
||||
@@ -175,6 +175,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
+7
-7
@@ -12,7 +12,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
|
||||
--- a/drivers/pinctrl/pinctrl-rockchip.c
|
||||
+++ b/drivers/pinctrl/pinctrl-rockchip.c
|
||||
@@ -2018,6 +2018,150 @@ static int rk3568_calc_pull_reg_and_bit(
|
||||
@@ -2005,6 +2005,150 @@ static int rk3568_calc_pull_reg_and_bit(
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
#define RK3568_DRV_PMU_OFFSET 0x70
|
||||
#define RK3568_DRV_GRF_OFFSET 0x200
|
||||
#define RK3568_DRV_BITS_PER_PIN 8
|
||||
@@ -2341,6 +2485,10 @@ static int rockchip_set_drive_perpin(str
|
||||
@@ -2328,6 +2472,10 @@ static int rockchip_set_drive_perpin(str
|
||||
rmask_bits = RK3588_DRV_BITS_PER_PIN;
|
||||
ret = strength;
|
||||
goto config;
|
||||
@@ -174,7 +174,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
} else if (ctrl->type == RK3568) {
|
||||
rmask_bits = RK3568_DRV_BITS_PER_PIN;
|
||||
ret = (1 << (strength + 1)) - 1;
|
||||
@@ -2481,6 +2629,7 @@ static int rockchip_get_pull(struct rock
|
||||
@@ -2468,6 +2616,7 @@ static int rockchip_get_pull(struct rock
|
||||
case RK3328:
|
||||
case RK3368:
|
||||
case RK3399:
|
||||
@@ -182,7 +182,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
case RK3568:
|
||||
case RK3588:
|
||||
pull_type = bank->pull_type[pin_num / 8];
|
||||
@@ -2540,6 +2689,7 @@ static int rockchip_set_pull(struct rock
|
||||
@@ -2527,6 +2676,7 @@ static int rockchip_set_pull(struct rock
|
||||
case RK3328:
|
||||
case RK3368:
|
||||
case RK3399:
|
||||
@@ -190,7 +190,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
case RK3568:
|
||||
case RK3588:
|
||||
pull_type = bank->pull_type[pin_num / 8];
|
||||
@@ -2805,6 +2955,7 @@ static bool rockchip_pinconf_pull_valid(
|
||||
@@ -2792,6 +2942,7 @@ static bool rockchip_pinconf_pull_valid(
|
||||
case RK3328:
|
||||
case RK3368:
|
||||
case RK3399:
|
||||
@@ -198,7 +198,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
case RK3568:
|
||||
case RK3588:
|
||||
return (pull != PIN_CONFIG_BIAS_PULL_PIN_DEFAULT);
|
||||
@@ -3930,6 +4081,49 @@ static struct rockchip_pin_ctrl rk3399_p
|
||||
@@ -3917,6 +4068,49 @@ static struct rockchip_pin_ctrl rk3399_p
|
||||
.drv_calc_reg = rk3399_calc_drv_reg_and_bit,
|
||||
};
|
||||
|
||||
@@ -248,7 +248,7 @@ Change-Id: I2c1d32907168caf8a8afee6d1f742795b3d13536
|
||||
static struct rockchip_pin_bank rk3568_pin_banks[] = {
|
||||
PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
||||
IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
||||
@@ -4023,6 +4217,8 @@ static const struct of_device_id rockchi
|
||||
@@ -4010,6 +4204,8 @@ static const struct of_device_id rockchi
|
||||
.data = &rk3368_pin_ctrl },
|
||||
{ .compatible = "rockchip,rk3399-pinctrl",
|
||||
.data = &rk3399_pin_ctrl },
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ Change-Id: I09745b6a31484d6a27f04e608268d9738c1fe224
|
||||
obj-$(CONFIG_CLK_RK3588) += clk-rk3588.o rst-rk3588.o
|
||||
--- a/drivers/clk/rockchip/clk.c
|
||||
+++ b/drivers/clk/rockchip/clk.c
|
||||
@@ -509,6 +509,14 @@ void rockchip_clk_register_branches(stru
|
||||
@@ -526,6 +526,14 @@ void rockchip_clk_register_branches(stru
|
||||
ctx->reg_base + list->gate_offset,
|
||||
list->gate_shift, list->gate_flags, &ctx->lock);
|
||||
break;
|
||||
|
||||
+1
-1
@@ -179,7 +179,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
GATE(0, "clk_ddrupctl", "clk_ddr", CLK_IGNORE_UNUSED,
|
||||
--- a/drivers/clk/rockchip/clk.h
|
||||
+++ b/drivers/clk/rockchip/clk.h
|
||||
@@ -486,7 +486,8 @@ struct clk *rockchip_clk_register_mmc(co
|
||||
@@ -515,7 +515,8 @@ struct clk *rockchip_clk_register_mmc(co
|
||||
* DDRCLK flags, including method of setting the rate
|
||||
* ROCKCHIP_DDRCLK_SIP: use SIP call to bl31 to change ddrclk rate.
|
||||
*/
|
||||
|
||||
+5
-5
@@ -16,7 +16,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
|
||||
@@ -7,6 +7,7 @@
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
@@ -24,7 +24,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
#include "rk3328.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -114,6 +115,72 @@
|
||||
@@ -123,6 +124,72 @@
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vdd_5v>;
|
||||
};
|
||||
@@ -97,7 +97,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
@@ -132,6 +199,10 @@
|
||||
@@ -141,6 +208,10 @@
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
|
||||
@@ -108,7 +108,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
&display_subsystem {
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -199,6 +270,7 @@
|
||||
@@ -208,6 +279,7 @@
|
||||
regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
@@ -116,7 +116,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
@@ -213,6 +285,7 @@
|
||||
@@ -222,6 +294,7 @@
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@
|
||||
#include "rk3328.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -86,6 +87,71 @@ vdd_5v_lan: vdd-5v-lan-regulator {
|
||||
@@ -89,6 +90,71 @@
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
@@ -82,7 +82,7 @@
|
||||
&cpu0 {
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
|
||||
@@ -14,6 +14,13 @@ / {
|
||||
@@ -14,6 +14,13 @@
|
||||
compatible = "xunlong,orangepi-r1-plus-lts", "rockchip,rk3328";
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi
|
||||
@@ -90,10 +90,9 @@ opp-1416000000 {
|
||||
@@ -90,10 +90,9 @@
|
||||
|
||||
opp-1512000000 {
|
||||
opp-hz = /bits/ 64 <1512000000>;
|
||||
|
||||
+4
-4
@@ -81,7 +81,7 @@ and performance for all other cases.
|
||||
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -5424,6 +5424,7 @@ static bool tcp_prune_ofo_queue(struct s
|
||||
@@ -5443,6 +5443,7 @@ static bool tcp_prune_ofo_queue(struct s
|
||||
static int tcp_prune_queue(struct sock *sk)
|
||||
{
|
||||
struct tcp_sock *tp = tcp_sk(sk);
|
||||
@@ -89,7 +89,7 @@ and performance for all other cases.
|
||||
|
||||
NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED);
|
||||
|
||||
@@ -5435,6 +5436,39 @@ static int tcp_prune_queue(struct sock *
|
||||
@@ -5454,6 +5455,39 @@ static int tcp_prune_queue(struct sock *
|
||||
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
|
||||
return 0;
|
||||
|
||||
@@ -129,7 +129,7 @@ and performance for all other cases.
|
||||
tcp_collapse_ofo_queue(sk);
|
||||
if (!skb_queue_empty(&sk->sk_receive_queue))
|
||||
tcp_collapse(sk, &sk->sk_receive_queue, NULL,
|
||||
@@ -5453,6 +5487,8 @@ static int tcp_prune_queue(struct sock *
|
||||
@@ -5472,6 +5506,8 @@ static int tcp_prune_queue(struct sock *
|
||||
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf)
|
||||
return 0;
|
||||
|
||||
@@ -140,7 +140,7 @@ and performance for all other cases.
|
||||
* and hopefully then we'll have sufficient space.
|
||||
--- a/net/ipv4/tcp_ipv4.c
|
||||
+++ b/net/ipv4/tcp_ipv4.c
|
||||
@@ -3240,6 +3240,8 @@ static int __net_init tcp_sk_init(struct
|
||||
@@ -3237,6 +3237,8 @@ static int __net_init tcp_sk_init(struct
|
||||
|
||||
net->ipv4.sysctl_tcp_shrink_window = 0;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user