OSDN Git Service

mt76: mt7921: always wake device if necessary in debugfs
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 18 Aug 2021 08:20:57 +0000 (10:20 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Oct 2021 08:36:38 +0000 (10:36 +0200)
Add missing device wakeup in debugfs code if we are accessing chip
registers.

Fixes: 1d8efc741df8 ("mt76: mt7921: introduce Runtime PM support")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c

index 29a24e7..599e6e5 100644 (file)
@@ -95,6 +95,8 @@ mt7921_tx_stats_show(struct seq_file *file, void *data)
        struct mt7921_dev *dev = file->private;
        int stat[8], i, n;
 
+       mt7921_mutex_acquire(dev);
+
        mt7921_ampdu_stat_read_phy(&dev->phy, file);
 
        /* Tx amsdu info */
@@ -104,6 +106,8 @@ mt7921_tx_stats_show(struct seq_file *file, void *data)
                n += stat[i];
        }
 
+       mt7921_mutex_release(dev);
+
        for (i = 0; i < ARRAY_SIZE(stat); i++) {
                seq_printf(file, "AMSDU pack count of %d MSDU in TXD: 0x%x ",
                           i + 1, stat[i]);
@@ -124,6 +128,8 @@ mt7921_queues_acq(struct seq_file *s, void *data)
        struct mt7921_dev *dev = dev_get_drvdata(s->private);
        int i;
 
+       mt7921_mutex_acquire(dev);
+
        for (i = 0; i < 16; i++) {
                int j, acs = i / 4, index = i % 4;
                u32 ctrl, val, qlen = 0;
@@ -143,6 +149,8 @@ mt7921_queues_acq(struct seq_file *s, void *data)
                seq_printf(s, "AC%d%d: queued=%d\n", acs, index, qlen);
        }
 
+       mt7921_mutex_release(dev);
+
        return 0;
 }