From: Lior David <[email protected]>

There are many valid WMI commands with only header without any
additional payload. Such WMI commands could not be sent using
the debugfs wmi_send facility. Fix the code to allow sending
of such commands.

Signed-off-by: Lior David <[email protected]>
Signed-off-by: Maya Erez <[email protected]>
---
 drivers/net/wireless/ath/wil6210/debugfs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c 
b/drivers/net/wireless/ath/wil6210/debugfs.c
index a4d3f70..b338a09 100644
--- a/drivers/net/wireless/ath/wil6210/debugfs.c
+++ b/drivers/net/wireless/ath/wil6210/debugfs.c
@@ -832,7 +832,7 @@ static ssize_t wil_write_file_wmi(struct file *file, const 
char __user *buf,
        u16 cmdid;
        int rc, rc1;
 
-       if (cmdlen <= 0)
+       if (cmdlen < 0)
                return -EINVAL;
 
        wmi = kmalloc(len, GFP_KERNEL);
@@ -845,7 +845,7 @@ static ssize_t wil_write_file_wmi(struct file *file, const 
char __user *buf,
                return rc;
        }
 
-       cmd = &wmi[1];
+       cmd = (cmdlen > 0) ? &wmi[1] : NULL;
        cmdid = le16_to_cpu(wmi->command_id);
 
        rc1 = wmi_send(wil, cmdid, cmd, cmdlen);
-- 
1.8.5.2

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to