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

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



commit bcbd47cc7f8578cd09e1cb378821aa1fbc991f3d
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 afd49c7fd87fe..3e6095f0cb5f5 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -553,8 +553,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