Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86a362f1 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman
Browse files

staging: vt6656: sparse fixes ethtool_ioctl Use struct ifreq *



Replace useraddr with direct point to struct ifreq->ifr_data

sparse warnings
main_usb.c:1443:44: warning: cast removes address space of expression
main_usb.c:1454:37: warning: incorrect type in argument 2 (different address spaces)
main_usb.c:1454:37:    expected void const [noderef] <asn:1>*from
main_usb.c:1454:37:    got void *useraddr
main_usb.c:1462:34: warning: incorrect type in argument 1 (different address spaces)
main_usb.c:1462:34:    expected void [noderef] <asn:1>*to
main_usb.c:1462:34:    got void *useraddr

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d820fa95
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -219,7 +219,7 @@ static bool device_init_defrag_cb(struct vnt_private *pDevice);
static void device_init_diversity_timer(struct vnt_private *pDevice);
static void device_init_diversity_timer(struct vnt_private *pDevice);
static int  device_dma0_tx_80211(struct sk_buff *skb, struct net_device *dev);
static int  device_dma0_tx_80211(struct sk_buff *skb, struct net_device *dev);


static int  ethtool_ioctl(struct net_device *dev, void *useraddr);
static int  ethtool_ioctl(struct net_device *dev, struct ifreq *);
static void device_free_tx_bufs(struct vnt_private *pDevice);
static void device_free_tx_bufs(struct vnt_private *pDevice);
static void device_free_rx_bufs(struct vnt_private *pDevice);
static void device_free_rx_bufs(struct vnt_private *pDevice);
static void device_free_int_bufs(struct vnt_private *pDevice);
static void device_free_int_bufs(struct vnt_private *pDevice);
@@ -1439,18 +1439,18 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
		break;
		break;


	case SIOCETHTOOL:
	case SIOCETHTOOL:
		return ethtool_ioctl(dev, (void *) rq->ifr_data);
		return ethtool_ioctl(dev, rq);


	}
	}


	return rc;
	return rc;
}
}


static int ethtool_ioctl(struct net_device *dev, void *useraddr)
static int ethtool_ioctl(struct net_device *dev, struct ifreq *rq)
{
{
	u32 ethcmd;
	u32 ethcmd;


	if (copy_from_user(&ethcmd, useraddr, sizeof(ethcmd)))
	if (copy_from_user(&ethcmd, rq->ifr_data, sizeof(ethcmd)))
		return -EFAULT;
		return -EFAULT;


        switch (ethcmd) {
        switch (ethcmd) {
@@ -1458,7 +1458,7 @@ static int ethtool_ioctl(struct net_device *dev, void *useraddr)
		struct ethtool_drvinfo info = {ETHTOOL_GDRVINFO};
		struct ethtool_drvinfo info = {ETHTOOL_GDRVINFO};
		strncpy(info.driver, DEVICE_NAME, sizeof(info.driver)-1);
		strncpy(info.driver, DEVICE_NAME, sizeof(info.driver)-1);
		strncpy(info.version, DEVICE_VERSION, sizeof(info.version)-1);
		strncpy(info.version, DEVICE_VERSION, sizeof(info.version)-1);
		if (copy_to_user(useraddr, &info, sizeof(info)))
		if (copy_to_user(rq->ifr_data, &info, sizeof(info)))
			return -EFAULT;
			return -EFAULT;
		return 0;
		return 0;
	}
	}