2009-12-02 20:52:55

by Reinette Chatre

[permalink] [raw]
Subject: [PATCH 0/3] iwlwifi updates 12/02/2009

We include a fix to a recent feature that accidentally duplicated some
information during printing of uCode event log. We add some more debug
information to indicate the ucode type when an error occurs. Finally we
remove the driver version that has been causing confusion and use the
kernel version as driver version instead.

Reinette Chatre (1):
iwlwifi: driver version track kernel version

Wey-Yi Guy (2):
iwl3945: remove duplicated event logging code
iwlwifi: indicate uCode type when fail dump error/event log

drivers/net/wireless/iwlwifi/iwl-agn.c | 8 ++++++--
drivers/net/wireless/iwlwifi/iwl-core.h | 4 +++-
drivers/net/wireless/iwlwifi/iwl3945-base.c | 13 +------------
3 files changed, 10 insertions(+), 15 deletions(-)



2009-12-02 20:52:55

by Reinette Chatre

[permalink] [raw]
Subject: [PATCH 1/3] iwl3945: remove duplicated event logging code

From: Wey-Yi Guy <[email protected]>

In the process of improving uCode event logging capability, the new
implementation was introduced without removing the existing
implementation. The event log will be dumped to dmesg twice.
Remove the old implementation to only log the event once upon sys
assert or request by user.

Signed-off-by: Wey-Yi Guy <[email protected]>
Signed-off-by: Reinette Chatre <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl3945-base.c | 9 ---------
1 files changed, 0 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 0db9b79..a63bd5e 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -1701,15 +1701,6 @@ void iwl3945_dump_nic_event_log(struct iwl_priv *priv, bool full_log)
IWL_ERR(priv, "Start IWL Event Log Dump: display last %d count\n",
size);

- /* if uCode has wrapped back to top of log, start at the oldest entry,
- * i.e the next one that uCode would fill. */
- if (num_wraps)
- iwl3945_print_event_log(priv, next_entry,
- capacity - next_entry, mode);
-
- /* (then/else) start at top of log */
- iwl3945_print_event_log(priv, 0, next_entry, mode);
-
#ifdef CONFIG_IWLWIFI_DEBUG
if ((iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) || full_log) {
/* if uCode has wrapped back to top of log,
--
1.5.6.3


2009-12-02 20:52:55

by Reinette Chatre

[permalink] [raw]
Subject: [PATCH 2/3] iwlwifi: indicate uCode type when fail dump error/event log

From: Wey-Yi Guy <[email protected]>

error_event_table_ptr is only set upon receipt of REPLY_ALIVE. Until
then both event log and error log will fail. Add information to indicate
which uCode encounter the failure case.

Signed-off-by: Wey-Yi Guy <[email protected]>
Signed-off-by: Reinette Chatre <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl-agn.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index c96513b..b8377ef 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1662,7 +1662,9 @@ void iwl_dump_nic_error_log(struct iwl_priv *priv)
base = le32_to_cpu(priv->card_alive.error_event_table_ptr);

if (!priv->cfg->ops->lib->is_valid_rtc_data_addr(base)) {
- IWL_ERR(priv, "Not valid error log pointer 0x%08X\n", base);
+ IWL_ERR(priv,
+ "Not valid error log pointer 0x%08X for %s uCode\n",
+ base, (priv->ucode_type == UCODE_INIT) ? "Init" : "RT");
return;
}

@@ -1807,7 +1809,9 @@ void iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log)
base = le32_to_cpu(priv->card_alive.log_event_table_ptr);

if (!priv->cfg->ops->lib->is_valid_rtc_data_addr(base)) {
- IWL_ERR(priv, "Invalid event log pointer 0x%08X\n", base);
+ IWL_ERR(priv,
+ "Invalid event log pointer 0x%08X for %s uCode\n",
+ base, (priv->ucode_type == UCODE_INIT) ? "Init" : "RT");
return;
}

--
1.5.6.3


2009-12-02 20:52:56

by Reinette Chatre

[permalink] [raw]
Subject: [PATCH 3/3] iwlwifi: driver version track kernel version

From: Reinette Chatre <[email protected]>

The driver version number is a remnant from when there was an out-of-tree
iwlwifi driver. Now that the driver forms part of kernel source we do not
need a separate driver version. Instead, we now use the kernel version as
driver version. We maintain the previous tags used to indicate which
components the driver has been compiled with.

Signed-off-by: Reinette Chatre <[email protected]>
Acked-by: Wey-Yi Guy <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl-core.h | 4 +++-
drivers/net/wireless/iwlwifi/iwl3945-base.c | 4 +---
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 7cd8b7d..22a20c1 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -63,6 +63,8 @@
#ifndef __iwl_core_h__
#define __iwl_core_h__

+#include <linux/utsrelease.h>
+
/************************
* forward declarations *
************************/
@@ -70,7 +72,7 @@ struct iwl_host_cmd;
struct iwl_cmd;


-#define IWLWIFI_VERSION "1.3.27k"
+#define IWLWIFI_VERSION UTS_RELEASE "-k"
#define DRV_COPYRIGHT "Copyright(c) 2003-2009 Intel Corporation"
#define DRV_AUTHOR "<[email protected]>"

diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index a63bd5e..2a28a1f 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -76,11 +76,9 @@
#define VS
#endif

-#define IWL39_VERSION "1.2.26k" VD VS
+#define DRV_VERSION IWLWIFI_VERSION VD VS
#define DRV_COPYRIGHT "Copyright(c) 2003-2009 Intel Corporation"
#define DRV_AUTHOR "<[email protected]>"
-#define DRV_VERSION IWL39_VERSION
-

MODULE_DESCRIPTION(DRV_DESCRIPTION);
MODULE_VERSION(DRV_VERSION);
--
1.5.6.3