]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net: qca_spi: Avoid high load if QCA7000 is not available
authorStefan Wahren <stefan.wahren@i2se.com>
Wed, 14 Jun 2023 21:06:56 +0000 (23:06 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Jun 2023 08:37:25 +0000 (09:37 +0100)
In case the QCA7000 is not available via SPI (e.g. in reset),
the driver will cause a high load. The reason for this is
that the synchronization is never finished and schedule()
is never called. Since the synchronization is not timing
critical, it's safe to drop this from the scheduling condition.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA7000")
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qualcomm/qca_spi.c

index c865a4be05eec2d4144792179a0517c997f66d95..4a1b94e5a8ea9d7f9c6c0518699c364a17b77b2b 100644 (file)
@@ -582,8 +582,7 @@ qcaspi_spi_thread(void *data)
        while (!kthread_should_stop()) {
                set_current_state(TASK_INTERRUPTIBLE);
                if ((qca->intr_req == qca->intr_svc) &&
-                   (qca->txr.skb[qca->txr.head] == NULL) &&
-                   (qca->sync == QCASPI_SYNC_READY))
+                   !qca->txr.skb[qca->txr.head])
                        schedule();
 
                set_current_state(TASK_RUNNING);