...
 
Commits (6)
    https://gitcode.net/mirror/openwrt/openwrt/-/commit/866badc361f8feb7acc79f7645af00ad3b385c8d kernel: bump 5.10 to 5.10.191 2023-08-19T12:00:01+02:00 Hauke Mehrtens hauke@hauke-m.de All patches automatically rebased. Signed-off-by: <span data-trailer="Signed-off-by:"><a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de"></a><a href="javascript:void(0)" class="avatar s16 avatar-inline identicon bg2" style="text-decoration: none">N</a><a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de">Hauke Mehrtens</a> &lt;<a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de">hauke@hauke-m.de</a>&gt;</span> https://gitcode.net/mirror/openwrt/openwrt/-/commit/76b1e564d202c09d0035315eb6e958a9b0dd4491 mt76: update to the latest version from the 22.03 branch 2023-08-26T15:59:52+02:00 Felix Fietkau nbd@nbd.name 94eb0bc1374d wifi: mt76: testmode: use random payload for tx packets f8ece810002b wifi: mt76: add rx_check callback for usb devices 67fbdb7bed90 wifi: mt76: mt7921e: fix race issue between reset and suspend/resume a9b09dd2715f wifi: mt76: mt7921s: fix race issue between reset and suspend/resume ee3eb0d6d52e wifi: mt76: mt7921u: fix race issue between reset and suspend/resume 9706ccef5447 wifi: mt76: mt7921u: remove unnecessary MT76_STATE_SUSPEND 74a29eb4f714 wifi: mt76: mt7921: move mt7921_rx_check and mt7921_queue_rx_skb in mac.c f49e06c4cfce wifi: mt76: sdio: fix the deadlock caused by sdio-&gt;stat_work 322656141fa4 wifi: mt76: sdio: poll sta stat when device transmits data dee0a3cbfb03 wifi: mt76: mt7915: fix an uninitialized variable bug 9dd7be2c5164 wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() 0ad02c9a4512 wifi: mt76: sdio: add rx_check callback for sdio devices fe85e5ccbaca wifi: mt76: sdio: fix transmitting packet hangs 206c7ebd7464 wifi: mt76: mt7615: add mt7615_mutex_acquire/release in mt7615_sta_set_decap_offload bf79f5d73e4f wifi: mt76: mt7915: fix possible unaligned access in mt7915_mac_add_twt_setup c4132ab0bea2 wifi: mt76: connac: fix possible unaligned access in mt76_connac_mcu_add_nested_tlv 52eec74986cf wifi: mt76: mt7663s: add rx_check callback 019ef069e754 wifi: mt76: mt76_usb.mt76u_mcu.burst is always false remove related code 0a392ca03db8 wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap fbb3554b6236 wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload b55a4eb2ee21 wifi: mt76: mt7921: fix the firmware version report 2d72c9a74011 wifi: mt76: move move mt76_sta_stats to mt76_wcid 873365b06c5c wifi: mt76: add PPDU based TxS support for WED device 0c64a80a61c2 wifi: mt76: connac: fix in comment d11f971a452e wifi: mt76: mt7921: get rid of the false positive reset 2ac22300c7ac wifi: mt76: mt7915: fix mcs value in ht mode 5e45533e4ba2 wifi: mt76: fix uninitialized pointer in mt7921_mac_fill_rx e06376af21dd wifi: mt76: mt7915: do not check state before configuring implicit beamform 0c0bda4aea05 wifi: mt76: mt7921: reset msta-&gt;airtime_ac while clearing up hw value cddc4b43ea93 wifi: mt76: mt7921e: fix rmmod crash in driver reload test ebbd68842ee0 wifi: mt76: mt7921: introduce Country Location Control support 763a1d90133b wifi: mt76: mt7921e: fix random fw download fail e4fa68a9b3b3 linux-firmware: update firmware for MT7921 WiFi device 60fcf08fe659 linux-firmware: update firmware for MT7921 WiFi device 9d601f4eee8f linux-firmware: update firmware for MT7922 WiFi device e49b6063fb4b wifi: mt76: move mt76_rate_power from core to mt76x02 driver code 3f27f6adb1ab wifi: mt76: mt76x02: simplify struct mt76x02_rate_power c07f3d2d5ede wifi: mt76: mt7921: fix antenna signal are way off in monitor mode 9059a5de3bd0 wifi: mt76: Remove unused inline function mt76_wcid_mask_test() d75f15ddeb90 wifi: mt76: mt7915: fix bounds checking for tx-free-done command 06df7e689294 wifi: mt76: mt7915: reserve 8 bits for the index of rf registers ad3d0f8db00b wifi: mt76: mt7915: rework eeprom tx paths and streams init 66065073177b wifi: mt76: mt7915: deal with special variant of mt7916 b0114a0abb57 wifi: mt76: mt7915: rework testmode tx antenna setting 6dee964e1f36 wifi: mt76: connac: introduce mt76_connac_spe_idx() 48c116d92939 wifi: mt76: mt7915: add spatial extension index support db6db4ded0fd wifi: mt76: mt7915: set correct antenna for radar detection on MT7915D 2b8f56a72d76 wifi: mt76: mt7915: fix mt7915_mac_set_timing() d554a02554db wifi: mt76: mt7915: move wed init routines in mmio.c 676b10bb203f mt76: mt76x02: fix vht rate power array overrun 7df5b4514721 Revert "mt76: use IEEE80211_OFFLOAD_ENCAP_ENABLED instead of MT_DRV_AMSDU_OFFLOAD" 1b80532eb55f wifi: mt76: mt7921: set MT_DRV_AMSDU_OFFLOAD for USB/SDIO 843955920e19 wifi: mt76: fix receiving LLC packets on mt7615/mt7915 148b7fa2329d wifi: mt76: fix rx checksum offload on mt7615/mt7915/mt7921 9dda9f709c7b wifi: mt76: mt7603: fix beacon interval after disabling a single vif 2cbd5df8cfd8 wifi: mt76: mt7603: fix tx filter/flush function 780ea78ba0ca wifi: mt76: mt7603: rework/fix rx pse hang check 283c46fd1d4f wifi: mt76: mt7603: improve watchdog reset reliablity aa309b5c2a0a wifi: mt76: mt7603: improve stuck beacon handling eb57b7e35f9b wifi: mt76: mt7603: add missing register initialization for MT7628 11f2efecb141 wifi: mt76: mt7603: disable A-MSDU tx support on MT7628 b144bd200519 ieee80211: add EHT 1K aggregation definitions f27ff9a8fb63 mt76: adjust for ieee80211_is_bufferable_mmpdu API change de38fe7d4cb3 wifi: mt76: ignore key disable commands Signed-off-by: <span data-trailer="Signed-off-by:"><a href="mailto:nbd@nbd.name" title="nbd@nbd.name"></a><a href="javascript:void(0)" class="avatar s16 avatar-inline identicon bg6" style="text-decoration: none">N</a><a href="mailto:nbd@nbd.name" title="nbd@nbd.name">Felix Fietkau</a> &lt;<a href="mailto:nbd@nbd.name" title="nbd@nbd.name">nbd@nbd.name</a>&gt;</span> https://gitcode.net/mirror/openwrt/openwrt/-/commit/687004139b1e5c85ce01cd6d535fe6c09bb510bb uboot-bcm4908: update to the latest generic 2023-08-28T16:36:00+02:00 Rafał Miłecki rafal@milecki.pl 4435700d18 Remove redundant YYLOC global declaration Signed-off-by: <span data-trailer="Signed-off-by:"><a href="mailto:rafal@milecki.pl" title="rafal@milecki.pl"></a><a href="javascript:void(0)" class="avatar s16 avatar-inline identicon bg3" style="text-decoration: none">N</a><a href="mailto:rafal@milecki.pl" title="rafal@milecki.pl">Rafał Miłecki</a> &lt;<a href="mailto:rafal@milecki.pl" title="rafal@milecki.pl">rafal@milecki.pl</a>&gt;</span> (cherry picked from commit <a href="/mirror/openwrt/openwrt/-/commit/57a8ea6d749e5fe0e00673cc77b5f2c17b792650" data-original="57a8ea6d749e5fe0e00673cc77b5f2c17b792650" data-link="false" data-link-reference="false" data-project="28802" data-commit="57a8ea6d749e5fe0e00673cc77b5f2c17b792650" data-reference-type="commit" data-container="body" data-placement="top" title="uboot-bcm4908: update to the latest generic" class="gfm gfm-commit has-tooltip">57a8ea6d</a>) https://gitcode.net/mirror/openwrt/openwrt/-/commit/aeb1221784c70eccf2d65086b132fb365e4e81a1 urngd: update to the latest master 2023-08-28T16:36:08+02:00 Rafał Miłecki rafal@milecki.pl 7aefb47 jitterentropy-rngd: update to the v1.2.0 What's interesting about jitterentropy-rngd v1.2.0 release is that it bumps its copy of jitterentropy-library from v2.2.0 to the v3.0.0. That bump includes a relevant commit 3130cd9 ("replace LSFR with SHA-3 256"). When initializing entropy jent calculates time delta. Time values are obtained using clock_gettime() + CLOCK_REALTIME. There is no guarantee from CLOCK_REALTIME of unique values and slow devices often return duplicated ones. A switch from jent_lfsr_time() to jent_hash_time() resulted in many less cases of zero delta and avoids ECOARSETIME. Long story short: on some system this fixes: [ 6.722725] urngd: jent-rng init failed, err: 2 This is important change for BCM53573 which doesn't include hwrng and seems to have arch_timer running at 36,8 Hz. Signed-off-by: <span data-trailer="Signed-off-by:"><a href="mailto:rafal@milecki.pl" title="rafal@milecki.pl"></a><a href="javascript:void(0)" class="avatar s16 avatar-inline identicon bg1" style="text-decoration: none">N</a><a href="mailto:rafal@milecki.pl" title="rafal@milecki.pl">Rafał Miłecki</a> &lt;<a href="mailto:rafal@milecki.pl" title="rafal@milecki.pl">rafal@milecki.pl</a>&gt;</span> (cherry picked from commit <a href="/mirror/openwrt/openwrt/-/commit/c74b5e09e692839b39c8325b5f8dc5f2a3b3896c" data-original="c74b5e09e692839b39c8325b5f8dc5f2a3b3896c" data-link="false" data-link-reference="false" data-project="28802" data-commit="c74b5e09e692839b39c8325b5f8dc5f2a3b3896c" data-reference-type="commit" data-container="body" data-placement="top" title="urngd: update to the latest master" class="gfm gfm-commit has-tooltip">c74b5e09</a>) https://gitcode.net/mirror/openwrt/openwrt/-/commit/49639b2d6176575a59086d9cae0eb4acbf532212 kernel: bump 5.10 to 5.10.192 2023-08-29T23:48:04+02:00 Hauke Mehrtens hauke@hauke-m.de Removed because already in upstream: rockchip/patches-5.10/104-rockchip-use-USB-host-by-default-on-rk3399-rock-pi-4.patch All other patches automatically rebased. Signed-off-by: <span data-trailer="Signed-off-by:"><a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de"></a><a href="javascript:void(0)" class="avatar s16 avatar-inline identicon bg3" style="text-decoration: none">N</a><a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de">Hauke Mehrtens</a> &lt;<a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de">hauke@hauke-m.de</a>&gt;</span> https://gitcode.net/mirror/openwrt/openwrt/-/commit/188c49b32112aae146a3ac3f870ad486cf1db11f kernel: bump 5.10 to 5.10.194 2023-09-03T13:48:31+02:00 Hauke Mehrtens hauke@hauke-m.de All patches automatically rebased. Signed-off-by: <span data-trailer="Signed-off-by:"><a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de"></a><a href="javascript:void(0)" class="avatar s16 avatar-inline identicon bg6" style="text-decoration: none">N</a><a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de">Hauke Mehrtens</a> &lt;<a href="mailto:hauke@hauke-m.de" title="hauke@hauke-m.de">hauke@hauke-m.de</a>&gt;</span>
LINUX_VERSION-5.10 = .190
LINUX_KERNEL_HASH-5.10.190 = 29723df01d40ff07ff6d254eaaf90c7b3ec3c70f4ebe089b80f785f46efaf597
LINUX_VERSION-5.10 = .194
LINUX_KERNEL_HASH-5.10.194 = 240d5e47bb378c6813ecd07704fb887651ea7617159d2771071fd70bf33cd995
......@@ -7,9 +7,9 @@ PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://git.openwrt.org/project/bcm63xx/u-boot.git
PKG_SOURCE_DATE:=2022-03-15
PKG_SOURCE_VERSION:=0625aad74d1f5b6f9c068955ad3fd7f6df635e50
PKG_MIRROR_HASH:=0602e0e4f101ead206940eccca832b75191905c1e81290340a89b07dbee7a6ce
PKG_SOURCE_DATE:=2022-12-08
PKG_SOURCE_VERSION:=4435700d18a791dca0d8d767e5414dfac9df4451
PKG_MIRROR_HASH:=6062ce611d7222eb3b9768bb4944ff1c7bcf26b997280adf5ea8d7afe83f28a8
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
......
......@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/openwrt/mt76
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2022-09-06
PKG_SOURCE_VERSION:=d70546462b7b51ebc2bcdd5c534fdf3465be62a4
PKG_MIRROR_HASH:=3d6b68d70a78c0072ed10ab2548344b6b3a70ad99e4edc258fafa16886f4abf9
PKG_SOURCE_DATE:=2023-08-26
PKG_SOURCE_VERSION:=de38fe7d4cb365312aa570cf37a4c0eff6e15650
PKG_MIRROR_HASH:=d8b86332060668b36698e3b3703b8735003c09d7dc612327afa9272eead5238d
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_USE_NINJA:=0
......
--- a/mt7915/init.c
+++ b/mt7915/init.c
@@ -327,8 +327,8 @@ mt7915_init_wiphy(struct ieee80211_hw *h
struct mt7915_dev *dev = phy->dev;
hw->queues = 4;
- hw->max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF;
- hw->max_tx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF;
+ hw->max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_HE;
+ hw->max_tx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_HE;
hw->netdev_features = NETIF_F_RXCSUM;
hw->radiotap_timestamp.units_pos =
--- a/tx.c
+++ b/tx.c
@@ -325,7 +325,7 @@ mt76_tx(struct mt76_phy *phy, struct iee
if ((dev->drv->drv_flags & MT_DRV_HW_MGMT_TXQ) &&
!(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) &&
!ieee80211_is_data(hdr->frame_control) &&
- !ieee80211_is_bufferable_mmpdu(hdr->frame_control)) {
+ !ieee80211_is_bufferable_mmpdu(skb)) {
qid = MT_TXQ_PSD;
}
From: Felix Fietkau <nbd@nbd.name>
Date: Wed, 22 Mar 2023 10:17:49 +0100
Subject: [PATCH] wifi: mt76: ignore key disable commands
This helps avoid cleartext leakage of already queued or powersave buffered
packets, when a reassoc triggers the key deletion.
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/mt7603/main.c
+++ b/mt7603/main.c
@@ -512,15 +512,15 @@ mt7603_set_key(struct ieee80211_hw *hw,
!(key->flags & IEEE80211_KEY_FLAG_PAIRWISE))
return -EOPNOTSUPP;
- if (cmd == SET_KEY) {
- key->hw_key_idx = wcid->idx;
- wcid->hw_key_idx = idx;
- } else {
+ if (cmd != SET_KEY) {
if (idx == wcid->hw_key_idx)
wcid->hw_key_idx = -1;
- key = NULL;
+ return 0;
}
+
+ key->hw_key_idx = wcid->idx;
+ wcid->hw_key_idx = idx;
mt76_wcid_key_setup(&dev->mt76, wcid, key);
return mt7603_wtbl_set_key(dev, wcid->idx, key);
--- a/mt7615/mac.c
+++ b/mt7615/mac.c
@@ -1178,8 +1178,7 @@ EXPORT_SYMBOL_GPL(mt7615_mac_set_rates);
static int
mt7615_mac_wtbl_update_key(struct mt7615_dev *dev, struct mt76_wcid *wcid,
struct ieee80211_key_conf *key,
- enum mt76_cipher_type cipher, u16 cipher_mask,
- enum set_key_cmd cmd)
+ enum mt76_cipher_type cipher, u16 cipher_mask)
{
u32 addr = mt7615_mac_wtbl_addr(dev, wcid->idx) + 30 * 4;
u8 data[32] = {};
@@ -1188,27 +1187,18 @@ mt7615_mac_wtbl_update_key(struct mt7615
return -EINVAL;
mt76_rr_copy(dev, addr, data, sizeof(data));
- if (cmd == SET_KEY) {
- if (cipher == MT_CIPHER_TKIP) {
- /* Rx/Tx MIC keys are swapped */
- memcpy(data, key->key, 16);
- memcpy(data + 16, key->key + 24, 8);
- memcpy(data + 24, key->key + 16, 8);
- } else {
- if (cipher_mask == BIT(cipher))
- memcpy(data, key->key, key->keylen);
- else if (cipher != MT_CIPHER_BIP_CMAC_128)
- memcpy(data, key->key, 16);
- if (cipher == MT_CIPHER_BIP_CMAC_128)
- memcpy(data + 16, key->key, 16);
- }
+ if (cipher == MT_CIPHER_TKIP) {
+ /* Rx/Tx MIC keys are swapped */
+ memcpy(data, key->key, 16);
+ memcpy(data + 16, key->key + 24, 8);
+ memcpy(data + 24, key->key + 16, 8);
} else {
+ if (cipher_mask == BIT(cipher))
+ memcpy(data, key->key, key->keylen);
+ else if (cipher != MT_CIPHER_BIP_CMAC_128)
+ memcpy(data, key->key, 16);
if (cipher == MT_CIPHER_BIP_CMAC_128)
- memset(data + 16, 0, 16);
- else if (cipher_mask)
- memset(data, 0, 16);
- if (!cipher_mask)
- memset(data, 0, sizeof(data));
+ memcpy(data + 16, key->key, 16);
}
mt76_wr_copy(dev, addr, data, sizeof(data));
@@ -1219,7 +1209,7 @@ mt7615_mac_wtbl_update_key(struct mt7615
static int
mt7615_mac_wtbl_update_pk(struct mt7615_dev *dev, struct mt76_wcid *wcid,
enum mt76_cipher_type cipher, u16 cipher_mask,
- int keyidx, enum set_key_cmd cmd)
+ int keyidx)
{
u32 addr = mt7615_mac_wtbl_addr(dev, wcid->idx), w0, w1;
@@ -1238,9 +1228,7 @@ mt7615_mac_wtbl_update_pk(struct mt7615_
else
w0 &= ~MT_WTBL_W0_RX_IK_VALID;
- if (cmd == SET_KEY &&
- (cipher != MT_CIPHER_BIP_CMAC_128 ||
- cipher_mask == BIT(cipher))) {
+ if (cipher != MT_CIPHER_BIP_CMAC_128 || cipher_mask == BIT(cipher)) {
w0 &= ~MT_WTBL_W0_KEY_IDX;
w0 |= FIELD_PREP(MT_WTBL_W0_KEY_IDX, keyidx);
}
@@ -1257,19 +1245,10 @@ mt7615_mac_wtbl_update_pk(struct mt7615_
static void
mt7615_mac_wtbl_update_cipher(struct mt7615_dev *dev, struct mt76_wcid *wcid,
- enum mt76_cipher_type cipher, u16 cipher_mask,
- enum set_key_cmd cmd)
+ enum mt76_cipher_type cipher, u16 cipher_mask)
{
u32 addr = mt7615_mac_wtbl_addr(dev, wcid->idx);
- if (!cipher_mask) {
- mt76_clear(dev, addr + 2 * 4, MT_WTBL_W2_KEY_TYPE);
- return;
- }
-
- if (cmd != SET_KEY)
- return;
-
if (cipher == MT_CIPHER_BIP_CMAC_128 &&
cipher_mask & ~BIT(MT_CIPHER_BIP_CMAC_128))
return;
@@ -1280,8 +1259,7 @@ mt7615_mac_wtbl_update_cipher(struct mt7
int __mt7615_mac_wtbl_set_key(struct mt7615_dev *dev,
struct mt76_wcid *wcid,
- struct ieee80211_key_conf *key,
- enum set_key_cmd cmd)
+ struct ieee80211_key_conf *key)
{
enum mt76_cipher_type cipher;
u16 cipher_mask = wcid->cipher;
@@ -1291,19 +1269,14 @@ int __mt7615_mac_wtbl_set_key(struct mt7
if (cipher == MT_CIPHER_NONE)
return -EOPNOTSUPP;
- if (cmd == SET_KEY)
- cipher_mask |= BIT(cipher);
- else
- cipher_mask &= ~BIT(cipher);
-
- mt7615_mac_wtbl_update_cipher(dev, wcid, cipher, cipher_mask, cmd);
- err = mt7615_mac_wtbl_update_key(dev, wcid, key, cipher, cipher_mask,
- cmd);
+ cipher_mask |= BIT(cipher);
+ mt7615_mac_wtbl_update_cipher(dev, wcid, cipher, cipher_mask);
+ err = mt7615_mac_wtbl_update_key(dev, wcid, key, cipher, cipher_mask);
if (err < 0)
return err;
err = mt7615_mac_wtbl_update_pk(dev, wcid, cipher, cipher_mask,
- key->keyidx, cmd);
+ key->keyidx);
if (err < 0)
return err;
@@ -1314,13 +1287,12 @@ int __mt7615_mac_wtbl_set_key(struct mt7
int mt7615_mac_wtbl_set_key(struct mt7615_dev *dev,
struct mt76_wcid *wcid,
- struct ieee80211_key_conf *key,
- enum set_key_cmd cmd)
+ struct ieee80211_key_conf *key)
{
int err;
spin_lock_bh(&dev->mt76.lock);
- err = __mt7615_mac_wtbl_set_key(dev, wcid, key, cmd);
+ err = __mt7615_mac_wtbl_set_key(dev, wcid, key);
spin_unlock_bh(&dev->mt76.lock);
return err;
--- a/mt7615/main.c
+++ b/mt7615/main.c
@@ -391,18 +391,17 @@ static int mt7615_set_key(struct ieee802
if (cmd == SET_KEY)
*wcid_keyidx = idx;
- else if (idx == *wcid_keyidx)
- *wcid_keyidx = -1;
- else
+ else {
+ if (idx == *wcid_keyidx)
+ *wcid_keyidx = -1;
goto out;
+ }
- mt76_wcid_key_setup(&dev->mt76, wcid,
- cmd == SET_KEY ? key : NULL);
-
+ mt76_wcid_key_setup(&dev->mt76, wcid, key);
if (mt76_is_mmio(&dev->mt76))
- err = mt7615_mac_wtbl_set_key(dev, wcid, key, cmd);
+ err = mt7615_mac_wtbl_set_key(dev, wcid, key);
else
- err = __mt7615_mac_wtbl_set_key(dev, wcid, key, cmd);
+ err = __mt7615_mac_wtbl_set_key(dev, wcid, key);
out:
mt7615_mutex_release(dev);
--- a/mt7615/mt7615.h
+++ b/mt7615/mt7615.h
@@ -482,11 +482,9 @@ int mt7615_mac_write_txwi(struct mt7615_
void mt7615_mac_set_timing(struct mt7615_phy *phy);
int __mt7615_mac_wtbl_set_key(struct mt7615_dev *dev,
struct mt76_wcid *wcid,
- struct ieee80211_key_conf *key,
- enum set_key_cmd cmd);
+ struct ieee80211_key_conf *key);
int mt7615_mac_wtbl_set_key(struct mt7615_dev *dev, struct mt76_wcid *wcid,
- struct ieee80211_key_conf *key,
- enum set_key_cmd cmd);
+ struct ieee80211_key_conf *key);
void mt7615_mac_reset_work(struct work_struct *work);
u32 mt7615_mac_get_sta_tid_sn(struct mt7615_dev *dev, int wcid, u8 tid);
--- a/mt76x02_util.c
+++ b/mt76x02_util.c
@@ -455,20 +455,20 @@ int mt76x02_set_key(struct ieee80211_hw
msta = sta ? (struct mt76x02_sta *)sta->drv_priv : NULL;
wcid = msta ? &msta->wcid : &mvif->group_wcid;
- if (cmd == SET_KEY) {
- key->hw_key_idx = wcid->idx;
- wcid->hw_key_idx = idx;
- if (key->flags & IEEE80211_KEY_FLAG_RX_MGMT) {
- key->flags |= IEEE80211_KEY_FLAG_SW_MGMT_TX;
- wcid->sw_iv = true;
- }
- } else {
+ if (cmd != SET_KEY) {
if (idx == wcid->hw_key_idx) {
wcid->hw_key_idx = -1;
wcid->sw_iv = false;
}
- key = NULL;
+ return 0;
+ }
+
+ key->hw_key_idx = wcid->idx;
+ wcid->hw_key_idx = idx;
+ if (key->flags & IEEE80211_KEY_FLAG_RX_MGMT) {
+ key->flags |= IEEE80211_KEY_FLAG_SW_MGMT_TX;
+ wcid->sw_iv = true;
}
mt76_wcid_key_setup(&dev->mt76, wcid, key);
--- a/mt7915/main.c
+++ b/mt7915/main.c
@@ -387,16 +387,15 @@ static int mt7915_set_key(struct ieee802
mt7915_mcu_add_bss_info(phy, vif, true);
}
- if (cmd == SET_KEY)
+ if (cmd == SET_KEY) {
*wcid_keyidx = idx;
- else if (idx == *wcid_keyidx)
- *wcid_keyidx = -1;
- else
+ } else {
+ if (idx == *wcid_keyidx)
+ *wcid_keyidx = -1;
goto out;
+ }
- mt76_wcid_key_setup(&dev->mt76, wcid,
- cmd == SET_KEY ? key : NULL);
-
+ mt76_wcid_key_setup(&dev->mt76, wcid, key);
err = mt76_connac_mcu_add_key(&dev->mt76, vif, &msta->bip,
key, MCU_EXT_CMD(STA_REC_UPDATE),
&msta->wcid, cmd);
--- a/mt7921/main.c
+++ b/mt7921/main.c
@@ -463,16 +463,15 @@ static int mt7921_set_key(struct ieee802
mt7921_mutex_acquire(dev);
- if (cmd == SET_KEY)
+ if (cmd == SET_KEY) {
*wcid_keyidx = idx;
- else if (idx == *wcid_keyidx)
- *wcid_keyidx = -1;
- else
+ } else {
+ if (idx == *wcid_keyidx)
+ *wcid_keyidx = -1;
goto out;
+ }
- mt76_wcid_key_setup(&dev->mt76, wcid,
- cmd == SET_KEY ? key : NULL);
-
+ mt76_wcid_key_setup(&dev->mt76, wcid, key);
err = mt76_connac_mcu_add_key(&dev->mt76, vif, &msta->bip,
key, MCU_UNI_CMD(STA_REC_UPDATE),
&msta->wcid, cmd);
......@@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/urngd.git
PKG_SOURCE_DATE:=2020-01-21
PKG_SOURCE_VERSION:=c7f7b6b65b82eda4675b42d8cd28d76ea7aebf1a
PKG_MIRROR_HASH:=2d31025b79fe130c579d6c3f4bf4dc12abc43a7319b20a5cdca24ae363ec70f3
PKG_SOURCE_DATE:=2023-07-25
PKG_SOURCE_VERSION:=7aefb47be57df0467d97d539f7fe9e23e607a3b4
PKG_MIRROR_HASH:=427d4228fd65cf4320b8c212e710b86bcbfcdd4239f4e67132b3b471f7437202
PKG_LICENSE:=GPL-2.0 BSD-3-Clause
PKG_LICENSE_FILES:=
......
......@@ -221,7 +221,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type);
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
@@ -2906,6 +2913,7 @@ static int mmc_blk_probe(struct mmc_card
@@ -2907,6 +2914,7 @@ static int mmc_blk_probe(struct mmc_card
{
struct mmc_blk_data *md, *part_md;
char cap_str[10];
......@@ -229,7 +229,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
/*
* Check that the card supports the command class(es) we need.
@@ -2913,7 +2921,16 @@ static int mmc_blk_probe(struct mmc_card
@@ -2914,7 +2922,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV;
......@@ -247,7 +247,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
@@ -2928,9 +2945,14 @@ static int mmc_blk_probe(struct mmc_card
@@ -2929,9 +2946,14 @@ static int mmc_blk_probe(struct mmc_card
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
cap_str, sizeof(cap_str));
......
......@@ -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
@@ -1281,6 +1284,9 @@
@@ -1282,6 +1285,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220
......@@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
@@ -197,6 +198,7 @@ static const struct hid_device_id hid_qu
@@ -198,6 +199,7 @@ static const struct hid_device_id hid_qu
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET },
......
......@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
return;
val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_SCR3);
@@ -784,13 +785,21 @@ static struct phy_driver broadcom_driver
@@ -795,13 +796,21 @@ static struct phy_driver broadcom_driver
.config_intr = bcm_phy_config_intr,
}, {
.phy_id = PHY_ID_BCM54210E,
......@@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
.phy_id = PHY_ID_BCM5461,
.phy_id_mask = 0xfffffff0,
.name = "Broadcom BCM5461",
@@ -946,7 +955,8 @@ module_phy_driver(broadcom_drivers);
@@ -959,7 +968,8 @@ module_phy_driver(broadcom_drivers);
static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
{ PHY_ID_BCM5411, 0xfffffff0 },
{ PHY_ID_BCM5421, 0xfffffff0 },
......
......@@ -272,7 +272,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
struct device_node;
struct of_phandle_args;
@@ -828,6 +829,9 @@ int clk_save_context(void);
@@ -836,6 +837,9 @@ int clk_save_context(void);
*/
void clk_restore_context(void);
......
......@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5799,6 +5799,9 @@ int __init cgroup_init_early(void)
@@ -5800,6 +5800,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
*
@@ -5837,6 +5840,12 @@ int __init cgroup_init(void)
@@ -5838,6 +5841,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
......@@ -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 =
@@ -6374,6 +6383,10 @@ static int __init cgroup_disable(char *s
@@ -6378,6 +6387,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);
@@ -6383,6 +6396,31 @@ static int __init cgroup_disable(char *s
@@ -6387,6 +6400,31 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);
......
......@@ -8,7 +8,7 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485
---
--- a/arch/mips/include/asm/cpu-features.h
+++ b/arch/mips/include/asm/cpu-features.h
@@ -242,6 +242,9 @@
@@ -259,6 +259,9 @@
#ifndef cpu_has_pindexed_dcache
#define cpu_has_pindexed_dcache (cpu_data[0].dcache.flags & MIPS_CACHE_PINDEX)
#endif
......
......@@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
@@ -237,47 +237,14 @@ static struct nft_expr_type nft_flow_off
@@ -239,47 +239,14 @@ static struct nft_expr_type nft_flow_off
.owner = THIS_MODULE,
};
......
......@@ -12,7 +12,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -1500,13 +1500,16 @@ struct nft_trans_chain {
@@ -1523,13 +1523,16 @@ struct nft_trans_chain {
struct nft_trans_table {
bool update;
......@@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_set *set;
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -1056,6 +1056,12 @@ static void nf_tables_table_disable(stru
@@ -1058,6 +1058,12 @@ static void nf_tables_table_disable(stru
nft_table_disable(net, table, 0);
}
......@@ -47,7 +47,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
static int nf_tables_updtable(struct nft_ctx *ctx)
{
struct nft_trans *trans;
@@ -1079,19 +1085,17 @@ static int nf_tables_updtable(struct nft
@@ -1081,19 +1087,17 @@ static int nf_tables_updtable(struct nft
if ((flags & NFT_TABLE_F_DORMANT) &&
!(ctx->table->flags & NFT_TABLE_F_DORMANT)) {
......@@ -70,7 +70,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
nft_trans_table_update(trans) = true;
nft_trans_commit_list_add_tail(ctx->net, trans);
return 0;
@@ -8191,11 +8195,10 @@ static int nf_tables_commit(struct net *
@@ -8229,11 +8233,10 @@ static int nf_tables_commit(struct net *
switch (trans->msg_type) {
case NFT_MSG_NEWTABLE:
if (nft_trans_table_update(trans)) {
......@@ -86,7 +86,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
} else {
nft_clear(net, trans->ctx.table);
}
@@ -8414,11 +8417,9 @@ static int __nf_tables_abort(struct net
@@ -8452,11 +8455,9 @@ static int __nf_tables_abort(struct net
switch (trans->msg_type) {
case NFT_MSG_NEWTABLE:
if (nft_trans_table_update(trans)) {
......
......@@ -205,7 +205,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static struct phy_driver at803x_driver[] = {
{
/* Qualcomm Atheros AR8035 */
@@ -1198,7 +1315,20 @@ static struct phy_driver at803x_driver[]
@@ -1196,7 +1313,20 @@ static struct phy_driver at803x_driver[]
.read_status = at803x_read_status,
.soft_reset = genphy_soft_reset,
.config_aneg = at803x_config_aneg,
......
......@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -1328,6 +1328,19 @@ static struct phy_driver at803x_driver[]
@@ -1326,6 +1326,19 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}, };
module_phy_driver(at803x_driver);
@@ -1338,6 +1351,8 @@ static struct mdio_device_id __maybe_unu
@@ -1336,6 +1349,8 @@ static struct mdio_device_id __maybe_unu
{ PHY_ID_MATCH_EXACT(ATH8032_PHY_ID) },
{ PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
{ PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
......
......@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define QCA8337_PHY_ID 0x004dd036
#define QCA8K_PHY_ID_MASK 0xffffffff
@@ -1329,10 +1330,23 @@ static struct phy_driver at803x_driver[]
@@ -1327,10 +1328,23 @@ static struct phy_driver at803x_driver[]
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
}, {
......@@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* PHY_GBIT_FEATURES */
.probe = at803x_probe,
.flags = PHY_IS_INTERNAL,
@@ -1352,7 +1366,8 @@ static struct mdio_device_id __maybe_unu
@@ -1350,7 +1364,8 @@ static struct mdio_device_id __maybe_unu
{ PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
{ PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
{ PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
......
......@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -1329,6 +1329,8 @@ static struct phy_driver at803x_driver[]
@@ -1327,6 +1327,8 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}, {
/* QCA8327-A from switch QCA8327-AL1A */
.phy_id = QCA8327_A_PHY_ID,
@@ -1342,6 +1344,8 @@ static struct phy_driver at803x_driver[]
@@ -1340,6 +1342,8 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}, {
/* QCA8327-B from switch QCA8327-BL1A */
.phy_id = QCA8327_B_PHY_ID,
@@ -1355,6 +1359,8 @@ static struct phy_driver at803x_driver[]
@@ -1353,6 +1357,8 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......
......@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -1318,47 +1318,47 @@ static struct phy_driver at803x_driver[]
@@ -1316,47 +1316,47 @@ static struct phy_driver at803x_driver[]
.config_aneg = at803x_config_aneg,
}, {
/* QCA8337 */
......
......@@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static struct phy_driver at803x_driver[] = {
{
/* Qualcomm Atheros AR8035 */
@@ -1329,8 +1386,8 @@ static struct phy_driver at803x_driver[]
@@ -1327,8 +1384,8 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......@@ -107,7 +107,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}, {
/* QCA8327-A from switch QCA8327-AL1A */
.phy_id = QCA8327_A_PHY_ID,
@@ -1344,8 +1401,8 @@ static struct phy_driver at803x_driver[]
@@ -1342,8 +1399,8 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......@@ -118,7 +118,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}, {
/* QCA8327-B from switch QCA8327-BL1A */
.phy_id = QCA8327_B_PHY_ID,
@@ -1359,8 +1416,8 @@ static struct phy_driver at803x_driver[]
@@ -1357,8 +1414,8 @@ static struct phy_driver at803x_driver[]
.get_sset_count = at803x_get_sset_count,
.get_strings = at803x_get_strings,
.get_stats = at803x_get_stats,
......
......@@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int qca83xx_resume(struct phy_device *phydev)
{
int ret, val;
@@ -1379,6 +1409,7 @@ static struct phy_driver at803x_driver[]
@@ -1377,6 +1407,7 @@ static struct phy_driver at803x_driver[]
.phy_id_mask = QCA8K_PHY_ID_MASK,
.name = "Qualcomm Atheros 8337 internal PHY",
/* PHY_GBIT_FEATURES */
......@@ -73,7 +73,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
.probe = at803x_probe,
.flags = PHY_IS_INTERNAL,
.config_init = qca83xx_config_init,
@@ -1394,6 +1425,7 @@ static struct phy_driver at803x_driver[]
@@ -1392,6 +1423,7 @@ static struct phy_driver at803x_driver[]
.phy_id_mask = QCA8K_PHY_ID_MASK,
.name = "Qualcomm Atheros 8327-A internal PHY",
/* PHY_GBIT_FEATURES */
......@@ -81,7 +81,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
.probe = at803x_probe,
.flags = PHY_IS_INTERNAL,
.config_init = qca83xx_config_init,
@@ -1409,6 +1441,7 @@ static struct phy_driver at803x_driver[]
@@ -1407,6 +1439,7 @@ static struct phy_driver at803x_driver[]
.phy_id_mask = QCA8K_PHY_ID_MASK,
.name = "Qualcomm Atheros 8327-B internal PHY",
/* PHY_GBIT_FEATURES */
......
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -2668,6 +2668,9 @@ static int mv88e6xxx_setup_port(struct m
@@ -2676,6 +2676,9 @@ static int mv88e6xxx_setup_port(struct m
if (dsa_is_cpu_port(ds, port))
reg = 0;
......
......@@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!pe)
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -3572,6 +3572,8 @@ static const struct seq_operations vmall
@@ -3576,6 +3576,8 @@ static const struct seq_operations vmall
static int __init proc_vmalloc_init(void)
{
......
......@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1823,6 +1823,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1827,6 +1827,7 @@ static int packet_rcv_spkt(struct sk_buf
{
struct sock *sk;
struct sockaddr_pkt *spkt;
......@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* When we registered the protocol we saved the socket in the data
@@ -1830,6 +1831,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1834,6 +1835,7 @@ static int packet_rcv_spkt(struct sk_buf
*/
sk = pt->af_packet_priv;
......@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Yank back the headers [hope the device set this
@@ -1842,7 +1844,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1846,7 +1848,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop.
*/
......@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2088,12 +2090,12 @@ static int packet_rcv(struct sk_buff *sk
@@ -2092,12 +2094,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res;
bool is_drop_n_account = false;
......@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -2219,12 +2221,12 @@ static int tpacket_rcv(struct sk_buff *s
@@ -2223,12 +2225,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
......@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -3342,6 +3344,7 @@ static int packet_create(struct net *net
@@ -3346,6 +3348,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
......@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3982,6 +3985,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3986,6 +3989,16 @@ packet_setsockopt(struct socket *sock, i
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
return 0;
}
......@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -4038,6 +4051,13 @@ static int packet_getsockopt(struct sock
@@ -4042,6 +4055,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
......
......@@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct rtnl_link {
rtnl_doit_func doit;
@@ -4690,7 +4690,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
@@ -4717,7 +4717,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
brport_nla_put_flag(skb, flags, mask,
IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
brport_nla_put_flag(skb, flags, mask,
......
......@@ -17,7 +17,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -2886,6 +2886,7 @@ static int mv88e6xxx_setup(struct dsa_sw
@@ -2894,6 +2894,7 @@ static int mv88e6xxx_setup(struct dsa_sw
chip->ds = ds;
ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);
......
......@@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5456,6 +5456,7 @@ static int mv88e6xxx_register_switch(str
@@ -5464,6 +5464,7 @@ static int mv88e6xxx_register_switch(str
ds->ops = &mv88e6xxx_switch_ops;
ds->ageing_time_min = chip->info->age_time_coeff;
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
......
From e12f67fe83446432ef16704c22ec23bd1dbcd094 Mon Sep 17 00:00:00 2001
From: Vicente Bergas <vicencb@gmail.com>
Date: Tue, 1 Dec 2020 16:41:32 +0100
Subject: arm64: dts: rockchip: use USB host by default on rk3399-rock-pi-4
Based on the board schematics at
https://dl.radxa.com/rockpi4/docs/hw/rockpi4/rockpi_4c_v12_sch_20200620.pdf
on page 19 there is an USB Type-A receptacle being used as an USB-OTG port.
But the Type-A connector is not valid for OTG operation, for this reason
there is a switch to select host or device role.
This is non-compliant and error prone because switching is manual.
So, use host mode as it corresponds for a Type-A receptacle.
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Link: https://lore.kernel.org/r/20201201154132.1286-4-vicencb@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
@@ -679,7 +679,7 @@
&usbdrd_dwc3_0 {
status = "okay";
- dr_mode = "otg";
+ dr_mode = "host";
};
&usbdrd3_1 {