diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/debugfs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/debugfs.c | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c index 2a61baca5081..51b7116965ed 100644 --- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c +++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c | |||
@@ -121,78 +121,6 @@ static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf, | |||
121 | return ret; | 121 | return ret; |
122 | } | 122 | } |
123 | 123 | ||
124 | static int iwl_dbgfs_fw_error_dump_open(struct inode *inode, struct file *file) | ||
125 | { | ||
126 | struct iwl_mvm *mvm = inode->i_private; | ||
127 | int ret; | ||
128 | |||
129 | if (!mvm) | ||
130 | return -EINVAL; | ||
131 | |||
132 | mutex_lock(&mvm->mutex); | ||
133 | if (!mvm->fw_error_dump) { | ||
134 | ret = -ENODATA; | ||
135 | goto out; | ||
136 | } | ||
137 | |||
138 | file->private_data = mvm->fw_error_dump; | ||
139 | mvm->fw_error_dump = NULL; | ||
140 | ret = 0; | ||
141 | |||
142 | out: | ||
143 | mutex_unlock(&mvm->mutex); | ||
144 | return ret; | ||
145 | } | ||
146 | |||
147 | static ssize_t iwl_dbgfs_fw_error_dump_read(struct file *file, | ||
148 | char __user *user_buf, | ||
149 | size_t count, loff_t *ppos) | ||
150 | { | ||
151 | struct iwl_mvm_dump_ptrs *dump_ptrs = (void *)file->private_data; | ||
152 | ssize_t bytes_read = 0; | ||
153 | ssize_t bytes_read_trans = 0; | ||
154 | |||
155 | if (*ppos < dump_ptrs->op_mode_len) | ||
156 | bytes_read += | ||
157 | simple_read_from_buffer(user_buf, count, ppos, | ||
158 | dump_ptrs->op_mode_ptr, | ||
159 | dump_ptrs->op_mode_len); | ||
160 | |||
161 | if (bytes_read < 0 || *ppos < dump_ptrs->op_mode_len) | ||
162 | return bytes_read; | ||
163 | |||
164 | if (dump_ptrs->trans_ptr) { | ||
165 | *ppos -= dump_ptrs->op_mode_len; | ||
166 | bytes_read_trans = | ||
167 | simple_read_from_buffer(user_buf + bytes_read, | ||
168 | count - bytes_read, ppos, | ||
169 | dump_ptrs->trans_ptr->data, | ||
170 | dump_ptrs->trans_ptr->len); | ||
171 | *ppos += dump_ptrs->op_mode_len; | ||
172 | |||
173 | if (bytes_read_trans >= 0) | ||
174 | bytes_read += bytes_read_trans; | ||
175 | else if (!bytes_read) | ||
176 | /* propagate the failure */ | ||
177 | return bytes_read_trans; | ||
178 | } | ||
179 | |||
180 | return bytes_read; | ||
181 | |||
182 | } | ||
183 | |||
184 | static int iwl_dbgfs_fw_error_dump_release(struct inode *inode, | ||
185 | struct file *file) | ||
186 | { | ||
187 | struct iwl_mvm_dump_ptrs *dump_ptrs = (void *)file->private_data; | ||
188 | |||
189 | vfree(dump_ptrs->op_mode_ptr); | ||
190 | vfree(dump_ptrs->trans_ptr); | ||
191 | kfree(dump_ptrs); | ||
192 | |||
193 | return 0; | ||
194 | } | ||
195 | |||
196 | static ssize_t iwl_dbgfs_sram_read(struct file *file, char __user *user_buf, | 124 | static ssize_t iwl_dbgfs_sram_read(struct file *file, char __user *user_buf, |
197 | size_t count, loff_t *ppos) | 125 | size_t count, loff_t *ppos) |
198 | { | 126 | { |
@@ -1535,12 +1463,6 @@ MVM_DEBUGFS_WRITE_FILE_OPS(bt_force_ant, 10); | |||
1535 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(scan_ant_rxchain, 8); | 1463 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(scan_ant_rxchain, 8); |
1536 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(d0i3_refs, 8); | 1464 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(d0i3_refs, 8); |
1537 | 1465 | ||
1538 | static const struct file_operations iwl_dbgfs_fw_error_dump_ops = { | ||
1539 | .open = iwl_dbgfs_fw_error_dump_open, | ||
1540 | .read = iwl_dbgfs_fw_error_dump_read, | ||
1541 | .release = iwl_dbgfs_fw_error_dump_release, | ||
1542 | }; | ||
1543 | |||
1544 | #ifdef CONFIG_IWLWIFI_BCAST_FILTERING | 1466 | #ifdef CONFIG_IWLWIFI_BCAST_FILTERING |
1545 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(bcast_filters, 256); | 1467 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(bcast_filters, 256); |
1546 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(bcast_filters_macs, 256); | 1468 | MVM_DEBUGFS_READ_WRITE_FILE_OPS(bcast_filters_macs, 256); |
@@ -1567,7 +1489,6 @@ int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir) | |||
1567 | S_IWUSR | S_IRUSR); | 1489 | S_IWUSR | S_IRUSR); |
1568 | MVM_DEBUGFS_ADD_FILE(nic_temp, dbgfs_dir, S_IRUSR); | 1490 | MVM_DEBUGFS_ADD_FILE(nic_temp, dbgfs_dir, S_IRUSR); |
1569 | MVM_DEBUGFS_ADD_FILE(stations, dbgfs_dir, S_IRUSR); | 1491 | MVM_DEBUGFS_ADD_FILE(stations, dbgfs_dir, S_IRUSR); |
1570 | MVM_DEBUGFS_ADD_FILE(fw_error_dump, dbgfs_dir, S_IRUSR); | ||
1571 | MVM_DEBUGFS_ADD_FILE(bt_notif, dbgfs_dir, S_IRUSR); | 1492 | MVM_DEBUGFS_ADD_FILE(bt_notif, dbgfs_dir, S_IRUSR); |
1572 | MVM_DEBUGFS_ADD_FILE(bt_cmd, dbgfs_dir, S_IRUSR); | 1493 | MVM_DEBUGFS_ADD_FILE(bt_cmd, dbgfs_dir, S_IRUSR); |
1573 | MVM_DEBUGFS_ADD_FILE(disable_power_off, mvm->debugfs_dir, | 1494 | MVM_DEBUGFS_ADD_FILE(disable_power_off, mvm->debugfs_dir, |