Skip to content

Commit

Permalink
ar9170: interpret firmware debug commands
Browse files Browse the repository at this point in the history
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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Jun 10, 2009
1 parent dacb6f1 commit 2543a0c
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions drivers/net/wireless/ath/ar9170/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,38 @@ void ar9170_handle_command_response(struct ar9170 *ar, void *buf, u32 len)
/* 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);
Expand Down

0 comments on commit 2543a0c

Please sign in to comment.