From: Sasha Levin <sashal@kernel•org>
To: linux-kernel@vger•kernel.org, stable@vger•kernel.org
Cc: Ben Greear <greearb@candelatech•com>,
Felix Fietkau <nbd@nbd•name>, Sasha Levin <sashal@kernel•org>,
lorenzo.bianconi83@gmail•com, ryder.lee@mediatek•com,
kvalo@kernel•org, davem@davemloft•net, kuba@kernel•org,
pabeni@redhat•com, matthias.bgg@gmail•com,
sean.wang@mediatek•com, johannes.berg@intel•com,
deren.wu@mediatek•com, YN.Chen@mediatek•com,
linux-wireless@vger•kernel.org, netdev@vger•kernel.org,
linux-arm-kernel@lists•infradead.org,
linux-mediatek@lists•infradead.org
Subject: [PATCH AUTOSEL 5.16 029/109] mt76: mt7921: fix crash when startup fails.
Date: Fri, 1 Apr 2022 10:31:36 -0400 [thread overview]
Message-ID: <20220401143256.1950537-29-sashal@kernel.org> (raw)
In-Reply-To: <20220401143256.1950537-1-sashal@kernel.org>
From: Ben Greear <greearb@candelatech•com>
[ Upstream commit 827e7799c61b978fbc2cc9dac66cb62401b2b3f0 ]
If the nic fails to start, it is possible that the
reset_work has already been scheduled. Ensure the
work item is canceled so we do not have use-after-free
crash in case cleanup is called before the work item
is executed.
This fixes crash on my x86_64 apu2 when mt7921k radio
fails to work. Radio still fails, but OS does not
crash.
Signed-off-by: Ben Greear <greearb@candelatech•com>
Signed-off-by: Felix Fietkau <nbd@nbd•name>
Signed-off-by: Sasha Levin <sashal@kernel•org>
---
drivers/net/wireless/mediatek/mt76/mt7921/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/main.c b/drivers/net/wireless/mediatek/mt76/mt7921/main.c
index 8c55562c1a8d..b3bd090a13f4 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/main.c
@@ -260,6 +260,7 @@ static void mt7921_stop(struct ieee80211_hw *hw)
cancel_delayed_work_sync(&dev->pm.ps_work);
cancel_work_sync(&dev->pm.wake_work);
+ cancel_work_sync(&dev->reset_work);
mt76_connac_free_pending_tx_skbs(&dev->pm, NULL);
mt7921_mutex_acquire(dev);
--
2.34.1
next prev parent reply other threads:[~2022-04-01 14:49 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220401143256.1950537-1-sashal@kernel.org>
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 002/109] ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111 Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 013/109] ptp: replace snprintf with sysfs_emit Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 014/109] selftests, xsk: Fix bpf_res cleanup test Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 019/109] ath11k: fix kernel panic during unload/load ath11k modules Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 020/109] ath11k: pci: fix crash on suspend if board file is not found Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 021/109] ath11k: mhi: use mhi_sync_power_up() Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 022/109] net/smc: Send directly when TCP_CORK is cleared Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 024/109] bpf: Make dst_port field in struct bpf_sock 16-bit wide Sasha Levin
2022-04-01 14:31 ` Sasha Levin [this message]
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 030/109] mt76: dma: initialize skip_unmap in mt76_dma_rx_fill Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 031/109] cfg80211: don't add non transmitted BSS to 6GHz scanned channels Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 032/109] libbpf: Fix build issue with llvm-readelf Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 033/109] ipv6: make mc_forwarding atomic Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 034/109] net: initialize init_net earlier Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 044/109] tcp: Don't acquire inet_listen_hashbucket::lock with disabled BH Sasha Levin
2022-04-01 14:31 ` [PATCH AUTOSEL 5.16 051/109] net/mlx5e: Disable TX queues before registering the netdev Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 053/109] iwlwifi: mvm: Correctly set fragmented EBS Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 054/109] iwlwifi: mvm: Passively scan non PSC channels only when requested so Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 055/109] iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 056/109] iwlwifi: mvm: move only to an enabled channel Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 058/109] rtw89: fix RCU usage in rtw89_core_txq_push() Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 059/109] ipv4: Invalidate neighbour for broadcast address upon address addition Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 069/109] mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 072/109] mt76: mt7615: Fix assigning negative values to unsigned variable Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 076/109] net/smc: correct settings of RMB window update limit Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 078/109] macvtap: advertise link netns via netlink Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 079/109] tuntap: add sanity checks about msg_controllen in sendmsg Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 081/109] Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg} Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 082/109] Bluetooth: use memset avoid memory leaks Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 083/109] bnxt_en: Eliminate unintended link toggle during FW reset Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 086/109] powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 089/109] can: isotp: set default value for N_As to 50 micro seconds Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 090/109] can: etas_es58x: es58x_fd_rx_event_msg(): initialize rx_event_msg before calling es58x_check_msg_len() Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 092/109] net: account alternate interface name memory Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 093/109] net: limit altnames to 64k total Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 094/109] net/mlx5e: Remove overzealous validations in netlink EEPROM query Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 097/109] net: sfp: add 2500base-X quirk for Lantech SFP module Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 099/109] mt76: fix monitor mode crash with sdio driver Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 102/109] Bluetooth: Fix use after free in hci_send_acl Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 103/109] netfilter: conntrack: revisit gc autotuning Sasha Levin
2022-04-01 14:32 ` [PATCH AUTOSEL 5.16 104/109] netlabel: fix out-of-bounds memory accesses Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220401143256.1950537-29-sashal@kernel.org \
--to=sashal@kernel$(echo .)org \
--cc=YN.Chen@mediatek$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=deren.wu@mediatek$(echo .)com \
--cc=greearb@candelatech$(echo .)com \
--cc=johannes.berg@intel$(echo .)com \
--cc=kuba@kernel$(echo .)org \
--cc=kvalo@kernel$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mediatek@lists$(echo .)infradead.org \
--cc=linux-wireless@vger$(echo .)kernel.org \
--cc=lorenzo.bianconi83@gmail$(echo .)com \
--cc=matthias.bgg@gmail$(echo .)com \
--cc=nbd@nbd$(echo .)name \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pabeni@redhat$(echo .)com \
--cc=ryder.lee@mediatek$(echo .)com \
--cc=sean.wang@mediatek$(echo .)com \
--cc=stable@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox