sparse warning
main_usb.c:1442:44: warning: cast removes address space of expression
Signed-off-by: Malcolm Priestley <[email protected]>
---
drivers/staging/vt6656/main_usb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
index 4cb7aa7..59c2430 100644
--- a/drivers/staging/vt6656/main_usb.c
+++ b/drivers/staging/vt6656/main_usb.c
@@ -1418,8 +1418,9 @@ static void device_set_multi(struct net_device *dev)
static struct net_device_stats *device_get_stats(struct net_device *dev)
{
struct vnt_private *pDevice = netdev_priv(dev);
+ struct net_device_stats *stats = &pDevice->stats;
- return &pDevice->stats;
+ return stats;
}
static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
--
1.8.5.2
On Mon, 2014-01-13 at 15:42 -0800, Greg KH wrote:
> On Mon, Jan 13, 2014 at 04:18:50PM +0000, Malcolm Priestley wrote:
> > sparse warning
> > main_usb.c:1442:44: warning: cast removes address space of expression
> >
> > Signed-off-by: Malcolm Priestley <[email protected]>
> > ---
> > drivers/staging/vt6656/main_usb.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
> > index 4cb7aa7..59c2430 100644
> > --- a/drivers/staging/vt6656/main_usb.c
> > +++ b/drivers/staging/vt6656/main_usb.c
> > @@ -1418,8 +1418,9 @@ static void device_set_multi(struct net_device *dev)
> > static struct net_device_stats *device_get_stats(struct net_device *dev)
> > {
> > struct vnt_private *pDevice = netdev_priv(dev);
> > + struct net_device_stats *stats = &pDevice->stats;
> >
> > - return &pDevice->stats;
> > + return stats;
>
> This change makes no sense to me. Why is sparse complaining about this?
>
> Is this a bug in sparse, or am I missing something obvious here?
Yes me!!!
Sorry. that is not line 1442, a case of number dyslexia.
That is fixed in the next patch.
Malcolm
On Mon, Jan 13, 2014 at 04:18:50PM +0000, Malcolm Priestley wrote:
> sparse warning
> main_usb.c:1442:44: warning: cast removes address space of expression
>
> Signed-off-by: Malcolm Priestley <[email protected]>
> ---
> drivers/staging/vt6656/main_usb.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
> index 4cb7aa7..59c2430 100644
> --- a/drivers/staging/vt6656/main_usb.c
> +++ b/drivers/staging/vt6656/main_usb.c
> @@ -1418,8 +1418,9 @@ static void device_set_multi(struct net_device *dev)
> static struct net_device_stats *device_get_stats(struct net_device *dev)
> {
> struct vnt_private *pDevice = netdev_priv(dev);
> + struct net_device_stats *stats = &pDevice->stats;
>
> - return &pDevice->stats;
> + return stats;
This change makes no sense to me. Why is sparse complaining about this?
Is this a bug in sparse, or am I missing something obvious here?
thanks,
greg k-h