* [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset
@ 2021-04-15 13:41 sean.wang
2021-04-15 13:41 ` [PATCH 2/2] mt76: mt7921: abort uncompleted scan by " sean.wang
2021-04-15 13:53 ` [PATCH 1/2] mt76: mt7921: add debugfs knob for performing " Lorenzo Bianconi
0 siblings, 2 replies; 5+ messages in thread
From: sean.wang @ 2021-04-15 13:41 UTC (permalink / raw)
To: nbd, lorenzo.bianconi
Cc: sean.wang, Soul.Huang, YN.Chen, robin.chiu, ch.yeh, posh.sun,
Eric.Liang, Stella.Chang, linux-wireless, linux-mediatek
From: Sean Wang <sean.wang@mediatek.com>
Introduce chip_reset knob in mt7921 debugfs to export a way to users
able to trigger wifi reset.
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
---
drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
index 024524173115..1342a0b645e3 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
@@ -302,6 +302,16 @@ static int mt7921_config(void *data, u64 val)
DEFINE_DEBUGFS_ATTRIBUTE(fops_config, NULL, mt7921_config, "%lld\n");
+static int mt7921_chip_reset(void *data, u64 val)
+{
+ struct mt7921_dev *dev = data;
+
+ mt7921_reset(&dev->mt76);
+
+ return 0;
+}
+DEFINE_DEBUGFS_ATTRIBUTE(fops_reset, NULL, mt7921_chip_reset, "%lld\n");
+
int mt7921_init_debugfs(struct mt7921_dev *dev)
{
struct dentry *dir;
@@ -322,6 +332,7 @@ int mt7921_init_debugfs(struct mt7921_dev *dev)
debugfs_create_file("idle-timeout", 0600, dir, dev,
&fops_pm_idle_timeout);
debugfs_create_file("chip_config", 0600, dir, dev, &fops_config);
+ debugfs_create_file("chip_reset", 0600, dir, dev, &fops_reset);
return 0;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] mt76: mt7921: abort uncompleted scan by wifi reset
2021-04-15 13:41 [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset sean.wang
@ 2021-04-15 13:41 ` sean.wang
2021-04-15 13:53 ` [PATCH 1/2] mt76: mt7921: add debugfs knob for performing " Lorenzo Bianconi
1 sibling, 0 replies; 5+ messages in thread
From: sean.wang @ 2021-04-15 13:41 UTC (permalink / raw)
To: nbd, lorenzo.bianconi
Cc: sean.wang, Soul.Huang, YN.Chen, robin.chiu, ch.yeh, posh.sun,
Eric.Liang, Stella.Chang, linux-wireless, linux-mediatek
From: Sean Wang <sean.wang@mediatek.com>
Scan abort should be required for the uncompleted hardware scan
interrupted by wifi reset. Otherwise, it is possible that the scan
request after wifi reset gets error code -EBUSY from mac80211 and
then blocks the reconnectting to the access point.
Fixes: 215bb6737bef ("mt76: mt7921: add wifi reset support")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
---
drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
index 572bab82315a..3145880df6e7 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
@@ -1413,6 +1413,14 @@ void mt7921_mac_reset_work(struct work_struct *work)
if (i == 10)
dev_err(dev->mt76.dev, "chip reset failed\n");
+ if (test_and_clear_bit(MT76_HW_SCANNING, &dev->mphy.state)) {
+ struct cfg80211_scan_info info = {
+ .aborted = true,
+ };
+
+ ieee80211_scan_completed(dev->mphy.hw, &info);
+ }
+
ieee80211_wake_queues(hw);
ieee80211_iterate_active_interfaces(hw,
IEEE80211_IFACE_ITER_RESUME_ALL,
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset
2021-04-15 13:41 [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset sean.wang
2021-04-15 13:41 ` [PATCH 2/2] mt76: mt7921: abort uncompleted scan by " sean.wang
@ 2021-04-15 13:53 ` Lorenzo Bianconi
2021-04-15 14:53 ` sean.wang
1 sibling, 1 reply; 5+ messages in thread
From: Lorenzo Bianconi @ 2021-04-15 13:53 UTC (permalink / raw)
To: sean.wang
Cc: nbd, lorenzo.bianconi, Soul.Huang, YN.Chen, robin.chiu, ch.yeh,
posh.sun, Eric.Liang, Stella.Chang, linux-wireless,
linux-mediatek
[-- Attachment #1: Type: text/plain, Size: 1502 bytes --]
> From: Sean Wang <sean.wang@mediatek.com>
>
> Introduce chip_reset knob in mt7921 debugfs to export a way to users
> able to trigger wifi reset.
>
> Signed-off-by: Sean Wang <sean.wang@mediatek.com>
> ---
> drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> index 024524173115..1342a0b645e3 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> @@ -302,6 +302,16 @@ static int mt7921_config(void *data, u64 val)
>
> DEFINE_DEBUGFS_ATTRIBUTE(fops_config, NULL, mt7921_config, "%lld\n");
>
> +static int mt7921_chip_reset(void *data, u64 val)
> +{
> + struct mt7921_dev *dev = data;
> +
> + mt7921_reset(&dev->mt76);
> +
> + return 0;
> +}
> +DEFINE_DEBUGFS_ATTRIBUTE(fops_reset, NULL, mt7921_chip_reset, "%lld\n");
can we use chip_config for this?
Regards,
Lorenzo
> +
> int mt7921_init_debugfs(struct mt7921_dev *dev)
> {
> struct dentry *dir;
> @@ -322,6 +332,7 @@ int mt7921_init_debugfs(struct mt7921_dev *dev)
> debugfs_create_file("idle-timeout", 0600, dir, dev,
> &fops_pm_idle_timeout);
> debugfs_create_file("chip_config", 0600, dir, dev, &fops_config);
> + debugfs_create_file("chip_reset", 0600, dir, dev, &fops_reset);
>
> return 0;
> }
> --
> 2.25.1
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset
2021-04-15 13:53 ` [PATCH 1/2] mt76: mt7921: add debugfs knob for performing " Lorenzo Bianconi
@ 2021-04-15 14:53 ` sean.wang
2021-04-15 15:07 ` Lorenzo Bianconi
0 siblings, 1 reply; 5+ messages in thread
From: sean.wang @ 2021-04-15 14:53 UTC (permalink / raw)
To: nbd, lorenzo.bianconi
Cc: sean.wang, Soul.Huang, YN.Chen, robin.chiu, ch.yeh, posh.sun,
Eric.Liang, Stella.Chang, linux-wireless, linux-mediatek
From: Sean Wang <sean.wang@mediatek.com>
>> From: Sean Wang <sean.wang@mediatek.com>
>>
>> Introduce chip_reset knob in mt7921 debugfs to export a way to users
>> able to trigger wifi reset.
>>
>> Signed-off-by: Sean Wang <sean.wang@mediatek.com>
>> ---
>> drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
>> b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
>> index 024524173115..1342a0b645e3 100644
>> --- a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
>> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
>> @@ -302,6 +302,16 @@ static int mt7921_config(void *data, u64 val)
>>
>> DEFINE_DEBUGFS_ATTRIBUTE(fops_config, NULL, mt7921_config, "%lld\n");
>>
>> +static int mt7921_chip_reset(void *data, u64 val) {
>> + struct mt7921_dev *dev = data;
>> +
>> + mt7921_reset(&dev->mt76);
>> +
>> + return 0;
>> +}
>> +DEFINE_DEBUGFS_ATTRIBUTE(fops_reset, NULL, mt7921_chip_reset,
>> +"%lld\n");
>
>can we use chip_config for this?
i think we can resue the the knob for chip_reset. i will do it in the next version.
>
>Regards,
>Lorenzo
>
>> +
>> int mt7921_init_debugfs(struct mt7921_dev *dev) {
>> struct dentry *dir;
>> @@ -322,6 +332,7 @@ int mt7921_init_debugfs(struct mt7921_dev *dev)
>> debugfs_create_file("idle-timeout", 0600, dir, dev,
>> &fops_pm_idle_timeout);
>> debugfs_create_file("chip_config", 0600, dir, dev, &fops_config);
>> + debugfs_create_file("chip_reset", 0600, dir, dev, &fops_reset);
>>
>> return 0;
>> }
>> --
>> 2.25.1
>>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset
2021-04-15 14:53 ` sean.wang
@ 2021-04-15 15:07 ` Lorenzo Bianconi
0 siblings, 0 replies; 5+ messages in thread
From: Lorenzo Bianconi @ 2021-04-15 15:07 UTC (permalink / raw)
To: sean.wang
Cc: nbd, lorenzo.bianconi, Soul.Huang, YN.Chen, robin.chiu, ch.yeh,
posh.sun, Eric.Liang, Stella.Chang, linux-wireless,
linux-mediatek
[-- Attachment #1: Type: text/plain, Size: 1878 bytes --]
> From: Sean Wang <sean.wang@mediatek.com>
>
> >> From: Sean Wang <sean.wang@mediatek.com>
> >>
> >> Introduce chip_reset knob in mt7921 debugfs to export a way to users
> >> able to trigger wifi reset.
> >>
> >> Signed-off-by: Sean Wang <sean.wang@mediatek.com>
> >> ---
> >> drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 11 +++++++++++
> >> 1 file changed, 11 insertions(+)
> >>
> >> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> >> b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> >> index 024524173115..1342a0b645e3 100644
> >> --- a/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> >> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c
> >> @@ -302,6 +302,16 @@ static int mt7921_config(void *data, u64 val)
> >>
> >> DEFINE_DEBUGFS_ATTRIBUTE(fops_config, NULL, mt7921_config, "%lld\n");
> >>
> >> +static int mt7921_chip_reset(void *data, u64 val) {
> >> + struct mt7921_dev *dev = data;
> >> +
> >> + mt7921_reset(&dev->mt76);
> >> +
> >> + return 0;
> >> +}
> >> +DEFINE_DEBUGFS_ATTRIBUTE(fops_reset, NULL, mt7921_chip_reset,
> >> +"%lld\n");
> >
> >can we use chip_config for this?
>
> i think we can resue the the knob for chip_reset. i will do it in the next version.
ack, I agree. Please rename the chip_config in something lile reset or similar.
Thanks,
Lorenzo
>
> >
> >Regards,
> >Lorenzo
> >
> >> +
> >> int mt7921_init_debugfs(struct mt7921_dev *dev) {
> >> struct dentry *dir;
> >> @@ -322,6 +332,7 @@ int mt7921_init_debugfs(struct mt7921_dev *dev)
> >> debugfs_create_file("idle-timeout", 0600, dir, dev,
> >> &fops_pm_idle_timeout);
> >> debugfs_create_file("chip_config", 0600, dir, dev, &fops_config);
> >> + debugfs_create_file("chip_reset", 0600, dir, dev, &fops_reset);
> >>
> >> return 0;
> >> }
> >> --
> >> 2.25.1
> >>
> >
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-04-15 15:10 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15 13:41 [PATCH 1/2] mt76: mt7921: add debugfs knob for performing wifi reset sean.wang
2021-04-15 13:41 ` [PATCH 2/2] mt76: mt7921: abort uncompleted scan by " sean.wang
2021-04-15 13:53 ` [PATCH 1/2] mt76: mt7921: add debugfs knob for performing " Lorenzo Bianconi
2021-04-15 14:53 ` sean.wang
2021-04-15 15:07 ` Lorenzo Bianconi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).