lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 12 Oct 2010 11:07:44 -0700
From:	Joe Perches <joe@...ches.com>
To:	Bob Copeland <me@...copeland.com>
Cc:	"John W. Linville" <linville@...driver.com>,
	linux-wireless@...r.kernel.org,
	Stephen Rothwell <sfr@...b.auug.org.au>,
	Ben Greear <greearb@...delatech.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ath5k: fix build break from "ath5k: Print out opmode
 in debugfs"

On Tue, 2010-10-12 at 13:42 -0400, Bob Copeland wrote:
> On Tue, Oct 12, 2010 at 12:54 PM, Bob Copeland <me@...copeland.com> wrote:
> >> +#ifdef CONFIG_ATH_DEBUG
> >>        ATH5K_DBG(sc, ATH5K_DEBUG_MODE, "mode setup opmode %d (%s)\n",
> >>                  sc->opmode,
> >>                  ath_opmode_to_string(sc->opmode) ?
> >>                  ath_opmode_to_string(sc->opmode) : "UKNOWN");
> 
> Just one other bikeshed color:
> 
> if ath_opmode_to_string() returned "UNKNOWN" in the failure case,
> we wouldn't need the double-call above.  Yes, it's used by ath9k
> too, but IMHO a debugging function that only converts some of the
> possible values to strings is pretty developer unfriendly.

Like this better?

Signed-off-by: Joe Perches <joe@...ches.com>
---
 drivers/net/wireless/ath/ath5k/base.c  |    4 +---
 drivers/net/wireless/ath/ath5k/debug.c |   16 ++++------------
 drivers/net/wireless/ath/debug.c       |    2 +-
 drivers/net/wireless/ath/debug.h       |    7 +++++++
 4 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index c9732a6..7baaf04 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -563,9 +563,7 @@ static void ath_do_set_opmode(struct ath5k_softc *sc)
 	struct ath5k_hw *ah = sc->ah;
 	ath5k_hw_set_opmode(ah, sc->opmode);
 	ATH5K_DBG(sc, ATH5K_DEBUG_MODE, "mode setup opmode %d (%s)\n",
-		  sc->opmode,
-		  ath_opmode_to_string(sc->opmode) ?
-		  ath_opmode_to_string(sc->opmode) : "UKNOWN");
+		  sc->opmode, ath_opmode_to_string(sc->opmode));
 }
 
 void ath5k_update_bssid_mask_and_opmode(struct ath5k_softc *sc,
diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c
index a3b2171..7c77e5b7 100644
--- a/drivers/net/wireless/ath/ath5k/debug.c
+++ b/drivers/net/wireless/ath/ath5k/debug.c
@@ -493,7 +493,6 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf,
 	char buf[700];
 	unsigned int len = 0;
 	u32 filt = ath5k_hw_get_rx_filter(sc->ah);
-	const char *tmp;
 
 	len += snprintf(buf+len, sizeof(buf)-len, "bssid-mask: %pM\n",
 			sc->bssidmask);
@@ -522,17 +521,10 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf,
 	if (filt & AR5K_RX_FILTER_PHYERR_5211)
 		snprintf(buf+len, sizeof(buf)-len, " PHYERR-5211");
 	if (filt & AR5K_RX_FILTER_RADARERR_5211)
-		len += snprintf(buf+len, sizeof(buf)-len, " RADARERR-5211\n");
-	else
-		len += snprintf(buf+len, sizeof(buf)-len, "\n");
-
-	tmp = ath_opmode_to_string(sc->opmode);
-	if (tmp)
-		len += snprintf(buf+len, sizeof(buf)-len, "opmode: %s\n",
-				tmp);
-	else
-		len += snprintf(buf+len, sizeof(buf)-len,
-				"opmode: UNKNOWN-%i\n", sc->opmode);
+		len += snprintf(buf+len, sizeof(buf)-len, " RADARERR-5211");
+
+	len += snprintf(buf+len, sizeof(buf)-len, "\nopmode: %s (%d)\n",
+			ath_opmode_to_string(sc->opmode), sc->opmode);
 
 	if (len > sizeof(buf))
 		len = sizeof(buf);
diff --git a/drivers/net/wireless/ath/debug.c b/drivers/net/wireless/ath/debug.c
index a9eb787..dacfb23 100644
--- a/drivers/net/wireless/ath/debug.c
+++ b/drivers/net/wireless/ath/debug.c
@@ -55,7 +55,7 @@ const char *ath_opmode_to_string(enum nl80211_iftype opmode)
 	case NL80211_IFTYPE_P2P_GO:
 		return "P2P-GO";
 	default:
-		return NULL;
+		return "UNKNOWN";
 	}
 }
 EXPORT_SYMBOL(ath_opmode_to_string);
diff --git a/drivers/net/wireless/ath/debug.h b/drivers/net/wireless/ath/debug.h
index a3a5a62..64e4af2 100644
--- a/drivers/net/wireless/ath/debug.h
+++ b/drivers/net/wireless/ath/debug.h
@@ -78,6 +78,13 @@ ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...)
 #endif /* CONFIG_ATH_DEBUG */
 
 /** Returns string describing opmode, or NULL if unknown mode. */
+#ifdef CONFIG_ATH_DEBUG
 const char *ath_opmode_to_string(enum nl80211_iftype opmode);
+#else
+static inline const char *ath_opmode_to_string(enum nl80211_iftype opmode)
+{
+	return "UNKNOWN";
+}
+#endif
 
 #endif /* ATH_DEBUG_H */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ