diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-debugfs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-debugfs.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-debugfs.c b/drivers/net/wireless/iwlwifi/iwl-debugfs.c index 6d49dfbee964..ea1452cf9c90 100644 --- a/drivers/net/wireless/iwlwifi/iwl-debugfs.c +++ b/drivers/net/wireless/iwlwifi/iwl-debugfs.c | |||
@@ -2444,6 +2444,23 @@ static ssize_t iwl_dbgfs_protection_mode_write(struct file *file, | |||
2444 | return count; | 2444 | return count; |
2445 | } | 2445 | } |
2446 | 2446 | ||
2447 | static ssize_t iwl_dbgfs_echo_test_write(struct file *file, | ||
2448 | const char __user *user_buf, | ||
2449 | size_t count, loff_t *ppos) | ||
2450 | { | ||
2451 | struct iwl_priv *priv = file->private_data; | ||
2452 | char buf[8]; | ||
2453 | int buf_size; | ||
2454 | |||
2455 | memset(buf, 0, sizeof(buf)); | ||
2456 | buf_size = min(count, sizeof(buf) - 1); | ||
2457 | if (copy_from_user(buf, user_buf, buf_size)) | ||
2458 | return -EFAULT; | ||
2459 | |||
2460 | iwl_cmd_echo_test(priv); | ||
2461 | return count; | ||
2462 | } | ||
2463 | |||
2447 | DEBUGFS_READ_FILE_OPS(rx_statistics); | 2464 | DEBUGFS_READ_FILE_OPS(rx_statistics); |
2448 | DEBUGFS_READ_FILE_OPS(tx_statistics); | 2465 | DEBUGFS_READ_FILE_OPS(tx_statistics); |
2449 | DEBUGFS_READ_WRITE_FILE_OPS(traffic_log); | 2466 | DEBUGFS_READ_WRITE_FILE_OPS(traffic_log); |
@@ -2467,6 +2484,7 @@ DEBUGFS_WRITE_FILE_OPS(wd_timeout); | |||
2467 | DEBUGFS_READ_FILE_OPS(bt_traffic); | 2484 | DEBUGFS_READ_FILE_OPS(bt_traffic); |
2468 | DEBUGFS_READ_WRITE_FILE_OPS(protection_mode); | 2485 | DEBUGFS_READ_WRITE_FILE_OPS(protection_mode); |
2469 | DEBUGFS_READ_FILE_OPS(reply_tx_error); | 2486 | DEBUGFS_READ_FILE_OPS(reply_tx_error); |
2487 | DEBUGFS_WRITE_FILE_OPS(echo_test); | ||
2470 | 2488 | ||
2471 | #ifdef CONFIG_IWLWIFI_DEBUG | 2489 | #ifdef CONFIG_IWLWIFI_DEBUG |
2472 | static ssize_t iwl_dbgfs_debug_level_read(struct file *file, | 2490 | static ssize_t iwl_dbgfs_debug_level_read(struct file *file, |
@@ -2575,6 +2593,7 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name) | |||
2575 | DEBUGFS_ADD_FILE(rxon_flags, dir_debug, S_IWUSR); | 2593 | DEBUGFS_ADD_FILE(rxon_flags, dir_debug, S_IWUSR); |
2576 | DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, S_IWUSR); | 2594 | DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, S_IWUSR); |
2577 | DEBUGFS_ADD_FILE(wd_timeout, dir_debug, S_IWUSR); | 2595 | DEBUGFS_ADD_FILE(wd_timeout, dir_debug, S_IWUSR); |
2596 | DEBUGFS_ADD_FILE(echo_test, dir_debug, S_IWUSR); | ||
2578 | if (iwl_advanced_bt_coexist(priv)) | 2597 | if (iwl_advanced_bt_coexist(priv)) |
2579 | DEBUGFS_ADD_FILE(bt_traffic, dir_debug, S_IRUSR); | 2598 | DEBUGFS_ADD_FILE(bt_traffic, dir_debug, S_IRUSR); |
2580 | #ifdef CONFIG_IWLWIFI_DEBUG | 2599 | #ifdef CONFIG_IWLWIFI_DEBUG |