OSDN Git Service

wil6210: allow empty WMI commands in debugfs wmi_send
authorLior David <qca_liord@qca.qualcomm.com>
Sun, 15 May 2016 11:38:26 +0000 (14:38 +0300)
committerKyle Yan <kyan@codeaurora.org>
Tue, 31 May 2016 22:28:08 +0000 (15:28 -0700)
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.

Change-Id: I581e099db5d2ee81be4345101aa54352b1d9564f
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 69218a48005d0c93b8e9ec483f42ead481a43034
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
CRs-Fixed: 1015627
Signed-off-by: Maya Erez <merez@codeaurora.org>
drivers/net/wireless/ath/wil6210/debugfs.c

index 96169cb..f3de175 100644 (file)
@@ -838,7 +838,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);
@@ -851,7 +851,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);