summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-12-21 15:48:16 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-12-21 15:48:16 -0800
commite379f786aa82c6c94b95cbb06befba802731019a (patch)
treea087131a0cac9fa05589794543b4ab9a53d03800 /drivers/net/wireless
parent6294b5b2d7ff74389b2a39b0206aec7208fddccf (diff)
parent2c7b4349b858398caf0ae146e87554c3502d20a5 (diff)
Merge "wil6210: Block write ioctl to the card by default"
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/wil6210/Kconfig11
-rw-r--r--drivers/net/wireless/ath/wil6210/ioctl.c4
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/Kconfig b/drivers/net/wireless/ath/wil6210/Kconfig
index 9e3961c400ac..8f0bde5825d5 100644
--- a/drivers/net/wireless/ath/wil6210/Kconfig
+++ b/drivers/net/wireless/ath/wil6210/Kconfig
@@ -41,6 +41,17 @@ config WIL6210_TRACING
If unsure, say Y to make it easier to debug problems.
+config WIL6210_WRITE_IOCTL
+ bool "wil6210 write ioctl to the device"
+ depends on WIL6210
+ default n
+ ---help---
+ Say Y here to allow write-access from user-space to
+ the device memory through ioctl. This is useful for
+ debugging purposes only.
+
+ If unsure, say N.
+
config WIL6210_PLATFORM_MSM
bool "wil6210 MSM platform specific support"
depends on WIL6210
diff --git a/drivers/net/wireless/ath/wil6210/ioctl.c b/drivers/net/wireless/ath/wil6210/ioctl.c
index 47058ccccb5b..bbdd232df3b7 100644
--- a/drivers/net/wireless/ath/wil6210/ioctl.c
+++ b/drivers/net/wireless/ath/wil6210/ioctl.c
@@ -87,10 +87,12 @@ static int wil_ioc_memio_dword(struct wil6210_priv *wil, void __user *data)
io.val = readl(a);
need_copy = true;
break;
+#if defined(CONFIG_WIL6210_WRITE_IOCTL)
case wil_mmio_write:
writel(io.val, a);
wmb(); /* make sure write propagated to HW */
break;
+#endif
default:
wil_err(wil, "Unsupported operation, op = 0x%08x\n", io.op);
return -EINVAL;
@@ -147,6 +149,7 @@ static int wil_ioc_memio_block(struct wil6210_priv *wil, void __user *data)
goto out_free;
}
break;
+#if defined(CONFIG_WIL6210_WRITE_IOCTL)
case wil_mmio_write:
if (copy_from_user(block, io.block, io.size)) {
rc = -EFAULT;
@@ -156,6 +159,7 @@ static int wil_ioc_memio_block(struct wil6210_priv *wil, void __user *data)
wmb(); /* make sure write propagated to HW */
wil_hex_dump_ioctl("Write ", block, io.size);
break;
+#endif
default:
wil_err(wil, "Unsupported operation, op = 0x%08x\n", io.op);
rc = -EINVAL;