From e76a22f066272f572eecb0490ac3b38a2dd8595a Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sun, 20 Feb 2011 15:49:08 +0300 Subject: [PATCH] --- yaml --- r: 236084 b: refs/heads/master c: 253804a25b45aad7bf4f63483f7c7b1d14ab49e2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/ath6kl/os/linux/ioctl.c | 26 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index eb62745c0451..bfa6f0b77223 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 108160db3fb0479edf89d1b74b267360d8a5fa65 +refs/heads/master: 253804a25b45aad7bf4f63483f7c7b1d14ab49e2 diff --git a/trunk/drivers/staging/ath6kl/os/linux/ioctl.c b/trunk/drivers/staging/ath6kl/os/linux/ioctl.c index 6d15d2df8613..82c7611c2081 100644 --- a/trunk/drivers/staging/ath6kl/os/linux/ioctl.c +++ b/trunk/drivers/staging/ath6kl/os/linux/ioctl.c @@ -3162,29 +3162,31 @@ int ar6000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) case AR6000_XIOCTL_OPT_SEND_FRAME: { - WMI_OPT_TX_FRAME_CMD optTxFrmCmd; + WMI_OPT_TX_FRAME_CMD optTxFrmCmd; u8 data[MAX_OPT_DATA_LEN]; if (ar->arWmiReady == false) { ret = -EIO; - } else if (copy_from_user(&optTxFrmCmd, userdata, - sizeof(optTxFrmCmd))) - { + break; + } + + if (copy_from_user(&optTxFrmCmd, userdata, sizeof(optTxFrmCmd))) { ret = -EFAULT; - } else if (copy_from_user(data, - userdata+sizeof(WMI_OPT_TX_FRAME_CMD)-1, - optTxFrmCmd.optIEDataLen)) - { + break; + } + + if (copy_from_user(data, userdata+sizeof(WMI_OPT_TX_FRAME_CMD) - 1, + optTxFrmCmd.optIEDataLen)) { ret = -EFAULT; - } else { - ret = wmi_opt_tx_frame_cmd(ar->arWmi, + break; + } + + ret = wmi_opt_tx_frame_cmd(ar->arWmi, optTxFrmCmd.frmType, optTxFrmCmd.dstAddr, optTxFrmCmd.bssid, optTxFrmCmd.optIEDataLen, data); - } - break; } case AR6000_XIOCTL_WMI_SETRETRYLIMITS: