From f86bc8a7421defdff701addfb66b286c13abf024 Mon Sep 17 00:00:00 2001 From: Karl Mehltretter Date: Sat, 3 Oct 2026 21:22:56 +0200 Subject: [PATCH 1/2] wifi: nxpwifi: return timeout error from nxpwifi_sdio_poll_card_status() nxpwifi_sdio_poll_card_status() returns the result of the last register read when polling times out. If the final register read succeeds, the timeout is incorrectly reported as success. Return -ETIMEDOUT when polling runs out of retries. Fixes: 73b01e57ed3e ("wifi: nxp: add nxpwifi driver for IW61x") Assisted-by: LLM Signed-off-by: Karl Mehltretter Signed-off-by: Jeff Chen --- drivers/net/wireless/nxp/nxpwifi/sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/nxp/nxpwifi/sdio.c b/drivers/net/wireless/nxp/nxpwifi/sdio.c index f4de494bf2f2..010f78270580 100644 --- a/drivers/net/wireless/nxp/nxpwifi/sdio.c +++ b/drivers/net/wireless/nxp/nxpwifi/sdio.c @@ -680,7 +680,7 @@ nxpwifi_sdio_poll_card_status(struct nxpwifi_adapter *adapter, u8 bits) nxpwifi_dbg(adapter, ERROR, "poll card status failed, tries = %d\n", tries); - return ret; + return ret ?: -ETIMEDOUT; } /* Disable SDIO host interrupt and release IRQ. */ From 12af2f77de337d353aa5c5d8b063e0d7648fe070 Mon Sep 17 00:00:00 2001 From: Aryan Sinha Date: Wed, 14 Oct 2026 00:16:25 +0530 Subject: [PATCH 2/2] wifi: nxpwifi: use str_on_off() for carrier state Both carrier prints open code the on/off ternary. Use the helper from string_choices.h instead. No change in output. Signed-off-by: Aryan Sinha Signed-off-by: Jeff Chen --- drivers/net/wireless/nxp/nxpwifi/debugfs.c | 5 +++-- drivers/net/wireless/nxp/nxpwifi/main.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/nxp/nxpwifi/debugfs.c b/drivers/net/wireless/nxp/nxpwifi/debugfs.c index cd6e73a215f0..37a69f31755d 100644 --- a/drivers/net/wireless/nxp/nxpwifi/debugfs.c +++ b/drivers/net/wireless/nxp/nxpwifi/debugfs.c @@ -6,6 +6,7 @@ */ #include +#include #include "main.h" #include "cmdevt.h" @@ -98,8 +99,8 @@ nxpwifi_info_read(struct file *file, char __user *ubuf, p += sprintf(p, "num_rx_pkts_dropped = %lu\n", priv->stats.rx_dropped); p += sprintf(p, "num_tx_pkts_err = %lu\n", priv->stats.tx_errors); p += sprintf(p, "num_rx_pkts_err = %lu\n", priv->stats.rx_errors); - p += sprintf(p, "carrier %s\n", ((netif_carrier_ok(priv->netdev)) - ? "on" : "off")); + p += sprintf(p, "carrier %s\n", + str_on_off(netif_carrier_ok(priv->netdev))); p += sprintf(p, "tx queue"); for (i = 0; i < netdev->num_tx_queues; i++) { txq = netdev_get_tx_queue(netdev, i); diff --git a/drivers/net/wireless/nxp/nxpwifi/main.c b/drivers/net/wireless/nxp/nxpwifi/main.c index 505eee9e5670..3f30a1f47253 100644 --- a/drivers/net/wireless/nxp/nxpwifi/main.c +++ b/drivers/net/wireless/nxp/nxpwifi/main.c @@ -5,6 +5,7 @@ * Copyright 2011-2024 NXP */ +#include #include #include "main.h" @@ -1094,8 +1095,8 @@ void nxpwifi_drv_info_dump(struct nxpwifi_adapter *adapter) atomic_read(&priv->wmm_tx_pending[3])); p += sprintf(p, "media_state=\"%s\"\n", !priv->media_connected ? "Disconnected" : "Connected"); - p += sprintf(p, "carrier %s\n", (netif_carrier_ok(priv->netdev) - ? "on" : "off")); + p += sprintf(p, "carrier %s\n", + str_on_off(netif_carrier_ok(priv->netdev))); for (idx = 0; idx < priv->netdev->num_tx_queues; idx++) { txq = netdev_get_tx_queue(priv->netdev, idx); p += sprintf(p, "tx queue %d:%s ", idx,