Patch "net: qca_spi: Avoid high load if QCA7000 is not available" has been added to the 6.3-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 6.3-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-6.3 subdirectory.

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



commit ed5e70e8ad98598d2e64e248d70039f321162d25
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 c865a4be05eec..4a1b94e5a8ea9 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -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);



[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