Re: [PATCH net resend] net: qca_spi: Avoid high load if QCA7000 is not available

From: Stefan Wahren
Date: Wed Jun 14 2023 - 16:42:18 EST


Hi Simon,

Am 14.06.23 um 18:58 schrieb Simon Horman:
On Wed, Jun 14, 2023 at 01:17:14PM +0200, Stefan Wahren wrote:
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@xxxxxxxxxxxxxx>
Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for
QCA7000")

Hi Stefan,

the Fixes should be on a single line.

Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA7000")

thanks for pointing out. Unfortunately this comes from the mail server, which line warp here. I will try to use a different account. Sorry about this mess :-(


---
drivers/net/ethernet/qualcomm/qca_spi.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c
b/drivers/net/ethernet/qualcomm/qca_spi.c

Likewise, the above two lines should be a single line.
Unfortunately it seems that because it is not git doesn't apply
this patch, which creates problems for automation linked to patchwork.

I think it would be best to repost after resolving these minor issues.

index bba1947792ea16..90f18ea4c28ba1 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);