Patch "net: qca_spi: Avoid high load if QCA7000 is not available" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: qca_spi: Avoid high load if QCA7000 is not available

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-qca_spi-avoid-high-load-if-qca7000-is-not-availa.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 910aa71aab5b69b6f247aaeed9dc3f181dd8c940
Author: Stefan Wahren <stefan.wahren@xxxxxxxx>
Date:   Wed Jun 14 23:06:56 2023 +0200

    net: qca_spi: Avoid high load if QCA7000 is not available
    
    [ Upstream commit 92717c2356cb62c89e8a3dc37cbbab2502562524 ]
    
    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@xxxxxxxx>
    Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA7000")
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 15591ad5fe4ea..db6817de24a14 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -574,8 +574,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);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux