aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-05-10 23:09:33 -0400
committerJohn W. Linville <linville@tuxdriver.com>2007-05-11 14:54:55 -0400
commitc4aa7051b6d5697d2c0c169153e727c2e4175c5b (patch)
tree3370f1e62f36ed8305b00144a64fe1c2e3e927df
parent12a4d265e5ca354fb9225732b7e625bd00002bc4 (diff)
[PATCH] libertas: sparse fixes
Fix various issues reported by sparse. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/libertas/ioctl.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/wireless/libertas/ioctl.c b/drivers/net/wireless/libertas/ioctl.c
index 42dfd45890c..a8f76c35899 100644
--- a/drivers/net/wireless/libertas/ioctl.c
+++ b/drivers/net/wireless/libertas/ioctl.c
@@ -680,6 +680,7 @@ static int wlan_fwt_list_neighbor_ioctl(wlan_private * priv, struct ifreq *req)
*/
static int wlan_fwt_cleanup_ioctl(wlan_private * priv, struct ifreq *req)
{
+ struct iwreq *wrq = (struct iwreq *)req;
static struct cmd_ds_fwt_access fwt_access;
int ret;
@@ -695,7 +696,7 @@ static int wlan_fwt_cleanup_ioctl(wlan_private * priv, struct ifreq *req)
(void *)&fwt_access);
if (ret == 0)
- req->ifr_data = (char *)(le32_to_cpu(fwt_access.references));
+ wrq->u.param.value = le32_to_cpu(fwt_access.references);
else
return -EFAULT;
@@ -711,6 +712,7 @@ static int wlan_fwt_cleanup_ioctl(wlan_private * priv, struct ifreq *req)
*/
static int wlan_fwt_time_ioctl(wlan_private * priv, struct ifreq *req)
{
+ struct iwreq *wrq = (struct iwreq *)req;
static struct cmd_ds_fwt_access fwt_access;
int ret;
@@ -726,7 +728,7 @@ static int wlan_fwt_time_ioctl(wlan_private * priv, struct ifreq *req)
(void *)&fwt_access);
if (ret == 0)
- req->ifr_data = (char *)(le32_to_cpu(fwt_access.references));
+ wrq->u.param.value = le32_to_cpu(fwt_access.references);
else
return -EFAULT;
@@ -742,6 +744,7 @@ static int wlan_fwt_time_ioctl(wlan_private * priv, struct ifreq *req)
*/
static int wlan_mesh_get_ttl_ioctl(wlan_private * priv, struct ifreq *req)
{
+ struct iwreq *wrq = (struct iwreq *)req;
struct cmd_ds_mesh_access mesh_access;
int ret;
@@ -754,9 +757,8 @@ static int wlan_mesh_get_ttl_ioctl(wlan_private * priv, struct ifreq *req)
cmd_option_waitforrsp, 0,
(void *)&mesh_access);
- if (ret == 0) {
- req->ifr_data = (char *)(le32_to_cpu(mesh_access.data[0]));
- }
+ if (ret == 0)
+ wrq->u.param.value = le32_to_cpu(mesh_access.data[0]);
else
return -EFAULT;
@@ -832,10 +834,9 @@ int libertas_do_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
/* The first 4 bytes of req->ifr_data is sub-ioctl number
* after 4 bytes sits the payload.
*/
- subcmd = wrq->u.data.flags; //from wpa_supplicant subcmd
-
+ subcmd = wrq->u.data.flags;
if (!subcmd)
- subcmd = (int)req->ifr_data; //from iwpriv subcmd
+ subcmd = (int)wrq->u.param.value;
switch (subcmd) {
case WLANSETREGION:
@@ -887,7 +888,7 @@ int libertas_do_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
break;
case WLAN_SETNONE_GETONEINT:
- switch ((int)req->ifr_data) {
+ switch (wrq->u.param.value) {
case WLANGETREGION:
pdata = (int *)wrq->u.name;
*pdata = (int)adapter->regioncode;