* [PATCH] ar9170: interpret firmware debug commands
@ 2009-06-05 9:47 Johannes Berg
0 siblings, 0 replies; only message in thread
From: Johannes Berg @ 2009-06-05 9:47 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
This adds new commands that the original firmware will not send
but we can use them to debug firmware.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
drivers/net/wireless/ath/ar9170/main.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
--- wireless-testing.orig/drivers/net/wireless/ath/ar9170/main.c 2009-06-05 09:28:48.000000000 +0200
+++ wireless-testing/drivers/net/wireless/ath/ar9170/main.c 2009-06-05 09:46:38.000000000 +0200
@@ -442,6 +442,38 @@ void ar9170_handle_command_response(stru
/* retransmission issue / SIFS/EIFS collision ?! */
break;
+ /* firmware debug */
+ case 0xca:
+ printk(KERN_DEBUG "ar9170 FW: %.*s\n", len - 4, (char *)buf + 4);
+ break;
+ case 0xcb:
+ len -= 4;
+
+ switch (len) {
+ case 1:
+ printk(KERN_DEBUG "ar9170 FW: u8: %#.2x\n",
+ *((char *)buf + 4));
+ break;
+ case 2:
+ printk(KERN_DEBUG "ar9170 FW: u8: %#.4x\n",
+ le16_to_cpup((__le16 *)((char *)buf + 4)));
+ break;
+ case 4:
+ printk(KERN_DEBUG "ar9170 FW: u8: %#.8x\n",
+ le32_to_cpup((__le32 *)((char *)buf + 4)));
+ break;
+ case 8:
+ printk(KERN_DEBUG "ar9170 FW: u8: %#.16lx\n",
+ (unsigned long)le64_to_cpup(
+ (__le64 *)((char *)buf + 4)));
+ break;
+ }
+ break;
+ case 0xcc:
+ print_hex_dump_bytes("ar9170 FW:", DUMP_PREFIX_NONE,
+ (char *)buf + 4, len - 4);
+ break;
+
default:
printk(KERN_INFO "received unhandled event %x\n", cmd->type);
print_hex_dump_bytes("dump:", DUMP_PREFIX_NONE, buf, len);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-06-05 9:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-05 9:47 [PATCH] ar9170: interpret firmware debug commands Johannes Berg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox